9 IMPLICIT DOUBLE PRECISION(
d)
10 common/lujets/
n,
k(9000,5),
p(9000,5),
v(9000,5)
12 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
14 dimension dps(4),kfbe(9),nbe(0:9),bei(100)
15 DATA kfbe/211,-211,111,321,-321,130,310,221,331/
18 IF((mstj(51).NE.1.AND.mstj(51).NE.2).OR.
n-nsav.LE.1)
RETURN
22 IF(
k(i,1).LE.0.OR.
k(i,1).GT.10) goto 120
24 110 dps(j)=dps(j)+
p(i,j)
26 CALL ludbrb(0,0,0.,0.,-dps(1)/dps(4),-dps(2)/dps(4),
30 130
IF(
k(i,1).GE.1.AND.
k(i,1).LE.10) pecm=pecm+
p(i,4)
34 DO 160 ibe=1,
min(9,mstj(51))
37 IF(
k(i,2).NE.kfbe(ibe)) goto 150
38 IF(
k(i,1).LE.0.OR.
k(i,1).GT.10) goto 150
39 IF(nbe(ibe).GE.mstu(4)-mstu(32)-5)
THEN
40 CALL
luerrm(11,
'(LUBOEI:) no more memory left in LUJETS')
51 DO 210 ibe=1,
min(9,mstj(51))
52 IF(ibe.NE.1.AND.ibe.NE.4.AND.ibe.LE.7) goto 180
53 IF(ibe.EQ.1.AND.
max(nbe(1)-nbe(0),nbe(2)-nbe(1),nbe(3)-nbe(2)).
55 IF(ibe.EQ.4.AND.
max(nbe(4)-nbe(3),nbe(5)-nbe(4),nbe(6)-nbe(5),
56 &nbe(7)-nbe(6)).LE.1) goto 180
57 IF(ibe.GE.8.AND.nbe(ibe)-nbe(ibe-1).LE.1) goto 180
58 IF(ibe.EQ.1) pmhq=2.*
ulmass(211)
59 IF(ibe.EQ.4) pmhq=2.*
ulmass(321)
60 IF(ibe.EQ.8) pmhq=2.*
ulmass(221)
61 IF(ibe.EQ.9) pmhq=2.*
ulmass(331)
62 qdel=0.1*
min(pmhq,parj(93))
63 IF(mstj(51).EQ.1)
THEN
64 nbin=
min(100,nint(9.*parj(93)/qdel))
65 beex=exp(0.5*qdel/parj(93))
66 bert=exp(-qdel/parj(93))
68 nbin=
min(100,nint(3.*parj(93)/qdel))
72 bei(ibin)=qdel*(qbin**2+qdel**2/12.)/sqrt(qbin**2+pmhq**2)
73 IF(mstj(51).EQ.1)
THEN
75 bei(ibin)=bei(ibin)*beex
77 bei(ibin)=bei(ibin)*exp(-(qbin/parj(93))**2)
79 170
IF(ibin.GE.2) bei(ibin)=bei(ibin)+bei(ibin-1)
82 180
DO 200 i1m=nbe(ibe-1)+1,nbe(ibe)-1
84 DO 200 i2m=i1m+1,nbe(ibe)
86 q2old=
max(0.,(
p(i1,4)+
p(i2,4))**2-(
p(i1,1)+
p(i2,1))**2-(
p(i1,2)+
87 &
p(i2,2))**2-(
p(i1,3)+
p(i2,3))**2-(
p(i1,5)+
p(i2,5))**2)
91 IF(qold.LT.0.5*qdel)
THEN
93 ELSEIF(qold.LT.(nbin-0.1)*qdel)
THEN
96 rinp=(rbin**3-ibin**3)/(3*ibin*(ibin+1)+1)
97 qmov=(bei(ibin)+rinp*(bei(ibin+1)-bei(ibin)))*
98 & sqrt(q2old+pmhq**2)/q2old
100 qmov=bei(nbin)*sqrt(q2old+pmhq**2)/q2old
102 q2new=q2old*(qold/(qold+3.*parj(92)*qmov))**(2./3.)
105 hc1=(
p(i1,4)+
p(i2,4))**2-(q2old-q2new)
106 hc2=(q2old-q2new)*(
p(i1,4)-
p(i2,4))**2
107 ha=0.5*(1.-sqrt(hc1*q2new/(hc1*q2old-hc2)))
109 pd=ha*(
p(i2,j)-
p(i1,j))
111 190
p(i2m,j)=
p(i2m,j)-pd
116 DO 230 im=nbe(0)+1,nbe(
min(9,mstj(51)))
119 220
p(i,j)=
p(i,j)+
p(im,j)
120 230
p(i,4)=sqrt(
p(i,5)**2+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
126 IF(
k(i,1).LE.0.OR.
k(i,1).GT.10) goto 240
128 pqs=pqs+
p(i,5)**2/
p(i,4)
130 fac=(pecm-pqs)/(pes-pqs)
132 IF(
k(i,1).LE.0.OR.
k(i,1).GT.10) goto 260
134 250
p(i,j)=fac*
p(i,j)
135 p(i,4)=sqrt(
p(i,5)**2+
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
139 CALL ludbrb(0,0,0.,0.,dps(1)/dps(4),dps(2)/dps(4),dps(3)/dps(4))