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 mstj(119)=10*mstj(102)+kfl
22 IF(mstj(111).EQ.0)
THEN
24 ELSEIF(mstu(111).EQ.0)
THEN
25 parj(168)=min(1d0,
max(parj(128),exp(-12d0*paru(1)/
26 & ((33d0-2d0*mstu(112))*paru(111)))))
29 parj(168)=min(1d0,
max(parj(128),paru(112)/ecm,
30 & (2d0*paru(112)/ecm)**2))
36 IF(mstj(101).EQ.0.OR.mstj(109).EQ.1)
THEN
38 ELSEIF(iabs(mstj(101)).EQ.1.AND.mstj(109).EQ.0)
THEN
40 ELSEIF(mstj(109).EQ.0)
THEN
41 rqcd=1d0+alspi+(1.986d0-0.115d0*mstu(118))*alspi**2
42 IF(mstj(111).EQ.1) rqcd=
max(1d0,rqcd+(33d0-2d0*mstu(112))/12d0*
43 &
log(parj(168))*alspi**2)
44 ELSEIF(iabs(mstj(101)).EQ.1)
THEN
45 rqcd=1d0+(3d0/4d0)*alspi
47 rqcd=1d0+(3d0/4d0)*alspi-(3d0/32d0+0.519d0*mstu(118))*alspi**2
51 IF(mstj(102).GE.3)
THEN
52 rva=3d0*(3d0+(4d0*paru(102)-1d0)**2)+6d0*rqcd*(2d0+
53 & (1d0-8d0*paru(102)/3d0)**2+(4d0*paru(102)/3d0-1d0)**2)
56 IF(mod(mstj(103),2).EQ.1) vq=sqrt(
max(0d0,1d0-
57 & (2d0*
pymass(kflc)/ ecm)**2))
58 IF(kflc.EQ.5) vf=4d0*paru(102)/3d0-1d0
59 IF(kflc.EQ.6) vf=1d0-8d0*paru(102)/3d0
60 rva=rva+3d0*rqcd*(0.5d0*vq*(3d0-vq**2)*vf**2+vq**3)
62 parj(124)=paru(101)*parj(123)*rva/(48d0*paru(102)*
67 poll=1d0-parj(131)*parj(132)
68 IF(mstj(102).GE.2)
THEN
69 sff=1d0/(16d0*paru(102)*(1d0-paru(102)))
70 sfw=ecm**4/((ecm**2-parj(123)**2)**2+(parj(123)*parj(124))**2)
71 sfi=sfw*(1d0-(parj(123)/ecm)**2)
73 sf1i=sff*(ve*poll+parj(132)-parj(131))
74 sf1w=sff**2*((ve**2+1d0)*poll+2d0*ve*(parj(132)-parj(131)))
84 DO 110 kflc=1,
max(mstj(104),kfl)
85 IF(kfl.GT.0.AND.kflc.NE.kfl) goto 110
88 IF(ecm.LT.2d0*pmq+parj(127)) goto 110
91 IF(mod(mstj(103),2).EQ.1) vq=sqrt(1d0-(2d0*pmq/ecm)**2)
94 rqq=rqq+3d0*qf**2*poll
95 IF(mstj(102).LE.1)
THEN
96 rtot=rtot+3d0*0.5d0*vq*(3d0-vq**2)*qf**2*poll
98 vf=
sign(1d0,qf)-4d0*qf*paru(102)
99 rqv=rqv-6d0*qf*vf*sf1i
100 rva=rva+3d0*(vf**2+1d0)*sf1w
101 rtot=rtot+3d0*(0.5d0*vq*(3d0-vq**2)*(qf**2*poll-
102 & 2d0*qf*vf*hf1i+vf**2*hf1w)+vq**3*hf1w)
106 IF(mstj(102).GE.2) rsum=rqq+sfi*rqv+sfw*rva
113 parj(145)=parj(141)*86.8d0/ecm**2
114 parj(146)=parj(142)*86.8d0/ecm**2
115 parj(147)=parj(143)*86.8d0/ecm**2
121 IF(mstj(107).LE.0)
RETURN
125 xku=min(parj(136),1d0-(2d0*parj(127)/ecm)**2)
128 &1.526d0*
log(ecm**2/0.932d0)
131 IF(mstj(102).LE.1)
THEN
132 sigv=1.5d0*ale-0.5d0+paru(1)**2/3d0+2d0*sigv
133 sigs=ale*(2d0*
log(xkl)-
log(1d0-xkl)-xkl)
134 sigh=ale*(2d0*
log(xku/xkl)-
log((1d0-xku)/(1d0-xkl))-(xku-xkl))
138 szm=1d0-(parj(123)/ecm)**2
139 szw=parj(123)*parj(124)/ecm**2
141 parj(162)=-(rqq+rqv+rva)/rsum
142 parj(163)=(rqv*(1d0-0.5d0*szm-sfi)+rva*(1.5d0-szm-sfw))/rsum
143 parj(164)=(rqv*szw**2*(1d0-2d0*sfw)+rva*(2d0*sfi+szw**2-
144 & 4d0+3d0*szm-szm**2))/(szw*rsum)
145 sigv=1.5d0*ale-0.5d0+paru(1)**2/3d0+((2d0*rqq+sfi*rqv)/
146 & rsum)*sigv+(szw*sfw*rqv/rsum)*paru(1)*20d0/9d0
147 sigs=ale*(2d0*
log(xkl)+parj(161)*
log(1d0-xkl)+parj(162)*xkl+
148 & parj(163)*
log(((xkl-szm)**2+szw**2)/(szm**2+szw**2))+
149 & parj(164)*(atan((xkl-szm)/szw)-atan(-szm/szw)))
150 sigh=ale*(2d0*
log(xku/xkl)+parj(161)*
log((1d0-xku)/
151 & (1d0-xkl))+parj(162)*(xku-xkl)+parj(163)*
152 &
log(((xku-szm)**2+szw**2)/((xkl-szm)**2+szw**2))+
153 & parj(164)*(atan((xku-szm)/szw)-atan((xkl-szm)/szw)))
157 parj(160)=sigh/(paru(1)/paru(101)+sigv+sigs+sigh)
158 parj(157)=rsum*(1d0+(paru(101)/paru(1))*(sigv+sigs+sigh))*rqcd
160 parj(148)=parj(144)*86.8d0/ecm**2