14 COMMON /leptou/ cut(14),lst(40),parl(30),
15 & xlp,ylp,w2lp,q2lp,ulp
16 REAL cut,parl,xlp,ylp,w2lp,q2lp,ulp
22 common/lujets/
n,
k(nlupdm,5),
p(nlupdm,nplbuf),
v(nlupdm,5)
27 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
32 COMMON /lboost/ dbeta(2,3),stheta(2),sphi(2),pb(5),phir
33 DOUBLE PRECISION dbeta
34 REAL stheta,sphi,pb,phir
37 COMMON /pypara/ ipy(80),pypar(80),pyvar(80)
46 COMMON /lyproc/ isub,kfl(3,2),
x(2),sh,th,uh,q2,xsec(0:40)
47 REAL x,sh,th,uh,q2,xsec
51 COMMON /lyint1/ xq(2,-6:6),dsig(-6:6,-6:6,5),fsig(10,10,3)
57 INTEGER i,j,ks,ip2,ns,ifl,
it,ipu1,ipu2
58 REAL ps,xr,robo,xpq,qmax,
t1,
t2
60 DOUBLE PRECISION dpq2,drobo(5)
61 DOUBLE PRECISION deltap(4),dplong,dbtot,dgamma,droot
62 dimension ks(9,5),ps(9,5),robo(5),xpq(-6:6)
73 IF(lst(24).EQ.3) ip2=7
100 40
p(6,j)=
p(8,j)+
p(10,j)-
p(5,j)
103 IF(lst(24).EQ.3)
k(6,2)=21
124 130
p(ns+6,j)=
p(10,j)
140 IF(
k(ns+6,2).EQ.21)
THEN
142 IF(
k(ns+5,2).GT.0)
THEN
143 k(ns+5,4)=(ns+6)*mstu(5)
144 k(ns+5,5)=(ns+7)*mstu(5)
145 k(ns+6,4)=(ns+7)*mstu(5)
146 k(ns+6,5)=(ns+5)*mstu(5)
148 k(ns+5,4)=(ns+7)*mstu(5)
149 k(ns+5,5)=(ns+6)*mstu(5)
150 k(ns+6,4)=(ns+5)*mstu(5)
151 k(ns+6,5)=(ns+7)*mstu(5)
155 k(ns+5,4)=(ns+7)*mstu(5)
156 k(ns+5,5)=(ns+7)*mstu(5)
157 k(ns+6,4)=(ns+7)*mstu(5)
158 k(ns+6,5)=(ns+7)*mstu(5)
163 IF(lst(24).EQ.2)
THEN
165 IF(
k(ns+7,2).EQ.21)
WRITE(6,*)
' Warning: K(NS+7,2)=',
k(ns+7,2)
166 IF(
k(ns+7,2).GT.0)
THEN
167 k(ns+7,4)=(ns+3)*mstu(5)+26
168 k(ns+7,5)=(ns+3)*mstu(5)+25
170 k(ns+7,4)=(ns+3)*mstu(5)+25
171 k(ns+7,5)=(ns+3)*mstu(5)+26
175 IF(
k(ns+5,2).GT.0)
THEN
176 k(ns+7,4)=(ns+3)*mstu(5)+25
177 k(ns+7,5)=(ns+3)*mstu(5)+26
179 k(ns+7,4)=(ns+3)*mstu(5)+26
180 k(ns+7,5)=(ns+3)*mstu(5)+25
184 140
p(ns+7,j)=
p(8,j)+
p(10,j)
187 IF(abs(
p(
it,1)).GT.0.1.OR.abs(
p(
it,2)).GT.0.1)
THEN
198 p(ns+7,5)=sqrt(
max(0.,
p(ns+7,4)**2-
p(ns+7,1)**2-
p(ns+7,2)**2-
210 CALL
lystfu(
k(2,2),xr,q2lp,xpq)
212 160 xq(2,ifl)=xpq(ifl)
213 IF(lst(23).EQ.1)
THEN
216 ELSEIF(lst(23).EQ.3)
THEN
219 ELSEIF(lst(23).EQ.4)
THEN
222 ELSEIF(lst(23).EQ.2)
THEN
229 IF(isub.EQ.39) kfl(3,1)=
k(1,2)
230 IF(isub.EQ.40) kfl(3,1)=
k(1,2)+isign(1,
k(1,2))
233 pyvar(1)=sqrt(pyvar(2))
242 IF(ipy(13).EQ.1)
THEN
254 IF(
x(2)*(1.+(
p(
it,5)**2+pypar(22))/
p(21,5)**2).GT.0.999)
THEN
258 IF(ipy(14).GE.1)
THEN
260 IF(lst(21).NE.0)
RETURN
272 230
p(ns+1,j)=
p(21,j)
280 p(ns+3,3)=(
p(
it,5)**2+q2lp)*(
p(21,4)-
p(21,3))/(2.*q2lp)
288 k(23,4)=
k(23,4)+(ns+3)*mstu(5)
289 k(23,5)=
k(23,5)+(ns+3)*mstu(5)
300 210
p(
n+1,j)=
p(ns+1,j)+
p(ns+3,j)
301 IF(
p(
n+1,4).LE.1.01*
p(
it,5))
THEN
307 IF(abs(robo(1)).GT.0.001.OR.abs(robo(2)).GT.0.001)
THEN
308 WRITE(6,*)
'1:',
it,
k(
it,2),
p(
it,1),
p(
it,2),
p(
it,3),
p(
it,4),
p(
it,5)
309 WRITE(6,*)
' ROBO(1-2)=',robo(1),robo(2)
311 CALL ludbrb(25,ns,0.,-robo(2),0.d0,0.d0,0.d0)
312 CALL ludbrb(25,ns,-robo(1),0.,0.d0,0.d0,0.d0)
314 deltap(1)=dble(
p(
n+1,1))
315 deltap(2)=dble(
p(
n+1,2))
316 deltap(3)=dble(
p(
n+1,3)) - dble(
p(
it,3))
317 deltap(4)=sqrt(deltap(1)**2+deltap(2)**2+deltap(3)**2)
318 IF(deltap(4).LT.1.
d-11) goto 410
319 dplong=-(dble(
p(
it,3))*deltap(3))/deltap(4)
320 droot=
max(0.d0,dble(
p(
n+1,4))**2-dble(
p(
it,4))**2+dplong**2)
321 dbtot=-(dplong*dble(
p(
it,4))-dble(
p(
n+1,4))*sqrt(droot))/
323 & (dplong**2+dble(
p(
n+1,4))**2)
324 dgamma=1.d0/sqrt(1.d0-dbtot**2)
326 400 drobo(i+2)=deltap(i)/(dgamma/(dgamma+1.d0)*
327 & (dble(
p(
n+1,4))-dgamma*dble(
p(
it,4)))+dgamma*dble(
p(
it,4)))
328 CALL ludbrb(25,ns,0.,0.,drobo(3),drobo(4),drobo(5))
338 IF(ipy(48).EQ.1)
THEN
347 IF(mstu(24).NE.0)
THEN
349 IF(lst(3).GE.1)
WRITE(6,*)
' LUPREP error MSTU(24)= ',mstu(24)
400 IF(
k(ns+1,2).EQ.
k(3,2))
k(ns+1,1)=0
411 IF(mod(lst(4)/10,10).EQ.0)
THEN