8 SUBROUTINE pyevol(MODE,PT2MAX,PT2MIN)
14 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
21 parameter(maxnur=1000)
23 common/pypart/
npart,npartd,ipart(maxnur),ptpart(maxnur)
25 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
26 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
29 common/
pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
30 common/
pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
31 common/pyintm/kfival(2,3),nmi(2),imi(2,800,2),nvc(2,-6:6),
32 & xassoc(2,-6:6,240),xpsvc(-6:6,-1:240),pvctot(2,-1:1),
33 & xmi(2,240),pt2mi(240),imisep(0:240)
34 common/pyctag/nct,mct(4000,2)
35 common/pyismx/mimx,jsmx,kflamx,kflcmx,kfbeam(2),nisgen(2,240),
36 & pt2mx,pt2amx,zmx,rm2cmx,q2bmx,phimx
37 common/pyisjn/mjn1mx,mjn2mx,mjoind(2,240)
39 dimension vintsv(11:80),ksav(4,5),psav(4,5),vsav(4,5),shat(240)
40 SAVE nsav,nparts,m15sv,m16sv,m21sv,m22sv,vintsv,shat,isubhd,alam3
73 IF(iset(isubhd).GE.3.AND.iset(isubhd).LE.5) shat(1)=
vint(26)
80 IF(mstu(112).LT.4) alam4=
parp(61)*(
parp(61)/rmc)**(2d0/25d0)
81 IF(mstu(112).GT.4) alam4=
parp(61)*(rmb/
parp(61))**(2d0/25d0)
82 alam3=alam4*(rmc/alam4)**(2d0/27d0)
90 ELSEIF (mode.EQ.0)
THEN
125 CALL
pyptmi(-1,ptdum1,ptdum2,ptdum3,idum)
126 IF(
mint(51).NE.0)
RETURN
132 CALL
pyptmi(2,pt2hd,ptdum2,ptdum3,idum)
133 IF(
mint(51).NE.0)
RETURN
138 IF(
mstp(70).EQ.0)
THEN
140 pt2min=
max(pt2min,pt20,(1.1d0*alam3)**2)
141 ELSEIF(
mstp(70).EQ.1)
THEN
143 pt2min=
max(pt2min,pt20,(1.1d0*alam3)**2)
146 pt2min=
max(pt2min,(1.1d0*alam3)**2)
157 CALL
pyptis(-1,pt2isr,pt2min,pt2dum,ifail)
158 IF(
mint(51).NE.0)
RETURN
164 ELSEIF (mode.EQ.1)
THEN
167 190
IF (pt2max.LE.pt2min) goto 330
178 IF (
mstp(61).GE.1)
THEN
180 IF (mi.GE.2.AND.
mstp(84).LE.0) goto 230
182 IF (mi.EQ.1) isub=isubhd
192 IF (ji.EQ.
mint(36)) goto 210
201 CALL
pyptis(0,pt2cmx,pt2min,pt2new,ifail)
202 IF (
mint(51).NE.0)
RETURN
209 240
IF (mod(
mstp(81),10).GE.1)
THEN
219 260 CALL
pyptmi(0,pt2cmx,pt2min,pt2new,ifail)
220 IF (
mint(51).EQ.1)
RETURN
224 IF (pt2mx.LT.pt2min)
THEN
226 ELSEIF (jsmx.EQ.0)
THEN
228 CALL
pyptmi(1,pt2new,pt2min,pt2dum,ifail)
229 IF(
mint(51).NE.0)
RETURN
235 CALL
pyptmi(2,pt2new,pt2min,pt2dum,ifail)
236 IF(
mint(51).NE.0)
RETURN
239 ELSEIF (jsmx.EQ.1.OR.jsmx.EQ.2)
THEN
250 IF (ji.EQ.
mint(36)) goto 280
255 CALL
pyptis(1,pt2new,pt2dm1,pt2dm2,ifail)
256 IF (
mint(51).EQ.1)
RETURN
257 ELSEIF (jsmx.EQ.3.OR.jsmx.EQ.4)
THEN
261 IF (
mint(354).EQ.1)
vint(359)=sqrt(pt2mx)
262 mjoind(jsmx-2,mjn1mx)=mjn2mx
263 mjoind(jsmx-2,mjn2mx)=mjn1mx
270 IF(
n.GT.mstu(4)-mstu(32)-10)
THEN
271 CALL
pyerrm(11,
'(PYEVOL:) no more memory left in PYJETS')
273 IF (jsmx.GE.0.AND.pt2cmx.GE.pt2min) goto 200
278 ELSEIF (mode.EQ.2)
THEN
282 mint(12+js)=
k(imi(js,1,1),2)
283 vint(140+js)=xmi(js,1)
284 IF(
mint(18+js).EQ.1)
vint(140+js)=
vint(154+js)*xmi(js,1)
287 vint(142+js)=
vint(142+js)-xmi(js,mi)