10 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
12 common/ludat2/kchg(500,3),pmas(500,4),parf(2000),vckm(4,4)
14 common/pyhisubs/msel,msub(200),kfin(2,-40:40),ckin(200)
16 common/pyhipars/mstp(200),parp(200),msti(200),pari(200)
18 common/pyhiint1/mint(400),vint(400)
20 common/pyhiint2/iset(200),kfpr(200,2),coef(200,20),icol(40,4,2)
22 common/pyhiint5/ngen(0:200,3),xsec(0:200,3)
30 IF(mstp(131).NE.0) novl=mint(81)
35 IF(mint(84)+100.GE.mstu(4))
THEN
37 &
'(PYHITHIA:) no more space in LUJETS for overlayed events')
38 IF(mstu(21).GE.1) goto 200
44 IF(iovl.EQ.1) ngen(0,2)=ngen(0,2)+1
50 ngen(isub,2)=ngen(isub,2)+1
68 120 pari(j)=vint(30+j)
71 pari(35)=pari(33)-pari(34)
79 IF(mstp(111).EQ.-1) goto 160
80 IF(isub.LE.90.OR.isub.GE.95)
THEN
84 IF(mint(51).EQ.1) goto 100
89 IF(mstp(61).GE.1.AND.mint(43).NE.1.AND.isub.NE.95)
94 IF(mstp(81).GE.1.AND.mint(43).EQ.4.AND.isub.NE.95)
101 IF(mint(51).EQ.1) goto 100
107 IF(mstp(71).GE.1.AND.isub.NE.95.AND.
k(ipu3,1).GT.0.AND.
108 &
k(ipu3,1).LE.10.AND.
k(ipu4,1).GT.0.AND.
k(ipu4,1).LE.10)
THEN
109 qmax=
sqrt(parp(71)*vint(52))
110 IF(isub.EQ.5) qmax=
sqrt(pmas(23,1)**2)
111 IF(isub.EQ.8) qmax=
sqrt(pmas(24,1)**2)
112 CALL
lushow(ipu3,ipu4,qmax)
118 DO 130 i=mstp(126)+1,
n
119 IF(
k(i,1).LE.0.OR.
k(i,1).GT.10) goto 130
122 IF(i.LE.nsav1.OR.i.GT.nsav3) pari(66)=pari(66)+
pt
123 IF(i.GT.nsav1.AND.i.LE.nsav2) pari(68)=pari(68)+
pt
133 IF(mstp(41).GE.1.AND.isub.NE.95) CALL
pyhiresd
146 IF(mstp(113).GE.1)
THEN
147 DO 140 i=mint(83)+1,
n
148 140
IF(
k(i,1).GT.0.AND.
k(i,1).LE.10)
p(i,4)=
sqrt(
p(i,1)**2+
149 &
p(i,2)**2+
p(i,3)**2+
p(i,5)**2)
155 IF(mstp(112).EQ.1.AND.mstu(28).EQ.3) goto 100
156 IF(mstp(125).EQ.0.OR.mstp(125).EQ.1)
THEN
157 DO 150 i=mint(84)+1,
n
158 IF(
k(i,2).NE.94) goto 150
159 k(i+1,3)=
mod(
k(i+1,4)/mstu(5),mstu(5))
160 k(i+2,3)=
mod(
k(i+2,4)/mstu(5),mstu(5))
164 IF(mstp(125).EQ.0) CALL
luedit(15)
165 IF(mstp(125).EQ.0) mint(4)=0
169 IF(iovl.EQ.1.AND.mstp(125).LE.0)
THEN
172 ELSEIF(iovl.EQ.1)
THEN
180 IF(mstp(111).GE.1) CALL
luexec
181 IF(mstp(125).EQ.0.OR.mstp(125).EQ.1) CALL
luedit(14)
184 160
IF(iovl.EQ.1)
THEN
185 IF(mstp(111).NE.-1) ngen(isub,3)=ngen(isub,3)+1
186 ngen(0,3)=ngen(0,3)+1
191 ELSEIF(msub(95).EQ.1.AND.(i.EQ.11.OR.i.EQ.12.OR.i.EQ.13.OR.
192 & i.EQ.28.OR.i.EQ.53.OR.i.EQ.68))
THEN
193 xsec(i,3)=xsec(96,2)*ngen(i,3)/
max(1.,float(ngen(96,1))*
195 ELSEIF(ngen(i,1).EQ.0)
THEN
197 ELSEIF(ngen(i,2).EQ.0)
THEN
198 xsec(i,3)=xsec(i,2)*ngen(0,3)/(float(ngen(i,1))*
201 xsec(i,3)=xsec(i,2)*ngen(i,3)/(float(ngen(i,1))*
204 170 xsec(0,3)=xsec(0,3)+xsec(i,3)
205 IF(msub(95).EQ.1)
THEN
206 ngens=ngen(91,3)+ngen(92,3)+ngen(93,3)+ngen(94,3)+ngen(95,3)
207 xsecs=xsec(91,3)+xsec(92,3)+xsec(93,3)+xsec(94,3)+xsec(95,3)
209 IF(msub(91).EQ.1) xmaxs=xmaxs+xsec(91,1)
210 IF(msub(92).EQ.1) xmaxs=xmaxs+xsec(92,1)
211 IF(msub(93).EQ.1) xmaxs=xmaxs+xsec(93,1)
212 IF(msub(94).EQ.1) xmaxs=xmaxs+xsec(94,1)
214 IF(ngens.LT.ngen(0,3))
fac=(xmaxs-xsecs)/(xsec(0,3)-xsecs)
215 xsec(11,3)=
fac*xsec(11,3)
216 xsec(12,3)=
fac*xsec(12,3)
217 xsec(13,3)=
fac*xsec(13,3)
218 xsec(28,3)=
fac*xsec(28,3)
219 xsec(53,3)=
fac*xsec(53,3)
220 xsec(68,3)=
fac*xsec(68,3)
221 xsec(0,3)=xsec(91,3)+xsec(92,3)+xsec(93,3)+xsec(94,3)+
243 pari(2)=xsec(0,3)/mint(5)
246 IF(isub.NE.95.AND.mint(7)*mint(8).NE.0)
THEN
247 pari(42)=2.*vint(47)/vint(1)
249 pari(36+
is)=
p(mint(
is),3)/vint(1)
250 pari(38+
is)=
p(mint(
is),4)/vint(1)
252 pr=
max(1
e-20,
p(i,5)**2+
p(i,1)**2+
p(i,2)**2)
254 &
sqrt(pr),1e20)),
p(i,3))
255 pr=
max(1
e-20,
p(i,1)**2+
p(i,2)**2)
257 &
sqrt(pr),1e20)),
p(i,3))
258 pari(44+
is)=
p(i,3)/
sqrt(
p(i,1)**2+
p(i,2)**2+
p(i,3)**2)
264 IF(iset(isub).EQ.1.OR.iset(isub).EQ.3)
THEN
275 IF(iovl.GE.2.AND.iovl.LE.10) msti(40+iovl)=isub
276 IF(mstu(70).LT.10)
THEN
285 IF(mstp(131).EQ.1.AND.mstp(133).GE.1)
THEN
289 IF(mstp(133).EQ.2) pari(93)=pari(93)*xsec(0,3)/vint(131)