11 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
15 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
16 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
21 dimension xpq(-25:25),xpa(-25:25),xpb(-25:25),wtsb(-3:3)
22 DATA rmr/0.92d0/,rmp/0.38d0/,wtsb/0.5d0,1d0,1d0,5d0,1d0,1d0,0.5d0/
28 IF((kfa.EQ.2212.OR.kfa.EQ.2112).AND.
mstp(57).GE.2) iacc=1
29 IF(kfa.EQ.211.AND.
mstp(57).GE.3) iacc=1
30 IF(kfa.EQ.22.AND.
mint(109).EQ.2.AND.
mstp(57).GE.3) iacc=1
40 IF(
x.LE.0d0.OR.
x.GE.1d0)
THEN
41 WRITE(mstu(11),5000)
x
52 ELSEIF(kf.EQ.-2212)
THEN
55 ELSEIF(kf.EQ.2112)
THEN
58 ELSEIF(kf.EQ.-2112)
THEN
61 ELSEIF(kf.EQ.211)
THEN
65 ELSEIF(kf.EQ.-211)
THEN
69 ELSEIF(
mint(105).LE.223)
THEN
74 ELSEIF(
mint(105).EQ.333)
THEN
79 ELSEIF(
mint(105).EQ.443)
THEN
90 q2b=2d0+0.052d0**2*exp(3.56d0*sqrt(
max(0d0,-
log(3d0*
x))))
91 xmn=exp(-(
log((q2mn-2d0)/0.052d0**2)/3.56d0)**2)/3d0
94 IF(q2.GT.q2mn.AND.q2.GT.q2b)
THEN
101 ELSEIF(
x.GT.xmn)
THEN
106 fv=(q2*(q2mn+rmr)/(q2mn*(q2+rmr)))**(0.55d0*(1d0-
x)/(1d0-xmn))
107 fs=(q2*(q2mn+rmp)/(q2mn*(q2+rmp)))**1.08d0
111 xfv1=xpa(kfv1)-xpa(-kfv1)
113 xfv2=xpa(kfv2)-xpa(-kfv2)
116 xpa(kfv1)=xpa(kfv1)-wtv1*
vint(232)
117 xpa(-kfv1)=xpa(-kfv1)-wtv1*
vint(232)
118 xpa(kfv2)=xpa(kfv2)-wtv2*
vint(232)
119 xpa(-kfv2)=xpa(-kfv2)-wtv2*
vint(232)
127 xpq(kfv1)=xpq(kfv1)+fv*xfv1
128 xpq(kfv2)=xpq(kfv2)+fv*xfv2
130 xpq(kfv1)=xpq(kfv1)+fv*wtv1*
vint(232)
131 xpq(-kfv1)=xpq(-kfv1)+fv*wtv1*
vint(232)
132 xpq(kfv2)=xpq(kfv2)+fv*wtv2*
vint(232)
133 xpq(-kfv2)=xpq(-kfv2)+fv*wtv2*
vint(232)
138 ELSEIF(q2.GT.q2mn)
THEN
142 CALL
pypdfu(kfc,xmn,q2mn,xpa)
147 fla=
log(q2b/q2)/
log(q2b/q2mn)
148 fva=(
x/xmn)**0.45d0*fla
149 fsa=(
x/xmn)**(-0.08d0)*fla
154 xfva1=xpa(kfv1)-xpa(-kfv1)
156 xfva2=xpa(kfv2)-xpa(-kfv2)
158 xfvb1=xpb(kfv1)-xpb(-kfv1)
160 xfvb2=xpb(kfv2)-xpb(-kfv2)
163 xpa(kfv1)=xpa(kfv1)-wtv1*vi232a
164 xpa(-kfv1)=xpa(-kfv1)-wtv1*vi232a
165 xpa(kfv2)=xpa(kfv2)-wtv2*vi232a
166 xpa(-kfv2)=xpa(-kfv2)-wtv2*vi232a
167 xpb(kfv1)=xpb(kfv1)-wtv1*vi232b
168 xpb(-kfv1)=xpb(-kfv1)-wtv1*vi232b
169 xpb(kfv2)=xpb(kfv2)-wtv2*vi232b
170 xpb(-kfv2)=xpb(-kfv2)-wtv2*vi232b
175 xpq(kfl)=fsa*xpa(kfl)+fb*xpb(kfl)
178 xpq(kfv1)=xpq(kfv1)+(fva*xfva1+fb*xfvb1)
179 xpq(kfv2)=xpq(kfv2)+(fva*xfva2+fb*xfvb2)
181 xpq(kfv1)=xpq(kfv1)+wtv1*(fva*vi232a+fb*vi232b)
182 xpq(-kfv1)=xpq(-kfv1)+wtv1*(fva*vi232a+fb*vi232b)
183 xpq(kfv2)=xpq(kfv2)+wtv2*(fva*vi232a+fb*vi232b)
184 xpq(-kfv2)=xpq(-kfv2)+wtv2*(fva*vi232a+fb*vi232b)
193 CALL
pypdfu(kfc,xmn,q2mn,xpa)
194 fb=(xmn-
x)*(q2mn-q2)/(xmn*q2mn)
196 fvc=(
x/xmn)**0.45d0*(q2/(q2+rmr))**0.55d0
197 fva=fvc*fa*((q2mn+rmr)/q2mn)**0.55d0
198 fvb=fvc*fb*1.10d0*xmn**0.45d0*0.11d0
199 fsc=(
x/xmn)**(-0.08d0)*(q2/(q2+rmp))**1.08d0
200 fsa=fsc*fa*((q2mn+rmp)/q2mn)**1.08d0
201 fsb=fsc*fb*0.21d0*xmn**(-0.08d0)*0.21d0
205 xfv1=xpa(kfv1)-xpa(-kfv1)
207 xfv2=xpa(kfv2)-xpa(-kfv2)
210 xpa(kfv1)=xpa(kfv1)-wtv1*
vint(232)
211 xpa(-kfv1)=xpa(-kfv1)-wtv1*
vint(232)
212 xpa(kfv2)=xpa(kfv2)-wtv2*
vint(232)
213 xpa(-kfv2)=xpa(-kfv2)-wtv2*
vint(232)
219 xpq(kfl)=fsa*xpa(kfl)
223 xpq(kfl)=xpq(kfl)+fsb*wtsb(kfl)
225 xpq(kfv1)=xpq(kfv1)+(fva*xfv1+fvb*nv1)
226 xpq(kfv2)=xpq(kfv2)+(fva*xfv2+fvb*nv2)
229 xpq(kfl)=xpq(kfl)+
vint(281)*fsb*wtsb(kfl)
231 xpq(kfv1)=xpq(kfv1)+wtv1*(fva*
vint(232)+fvb*
vint(281))
232 xpq(-kfv1)=xpq(-kfv1)+wtv1*(fva*
vint(232)+fvb*
vint(281))
233 xpq(kfv2)=xpq(kfv2)+wtv2*(fva*
vint(232)+fvb*
vint(281))
234 xpq(-kfv2)=xpq(-kfv2)+wtv2*(fva*
vint(232)+fvb*
vint(281))
241 5000
FORMAT(
' Error: x value outside physical range; x =',1
p,d12.3)