8 SUBROUTINE pyinit(FRAME,BEAM,TARGET,WIN)
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)
17 common/
pydat3/mdcy(500,3),mdme(8000,2),brat(8000),kfdp(8000,5)
20 common/
pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
23 common/
pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
28 dimension alamin(20),nfin(20)
29 CHARACTER*(*) frame,beam,target
30 CHARACTER chfram*12,chbeam*12,chtarg*12,chlh(2)*6
33 common/w50511/nptype,ngroup,nset,mode,nfl,lo,tmas
34 common/w50512/qcdl4,qcdl5
35 SAVE /w50511/,/w50512/
36 DOUBLE PRECISION value(20),tmas,qcdl4,qcdl5
38 DATA value/20*0d0/,parm/20*
' '/
41 DATA alamin/0.177d0,0.239d0,0.247d0,0.2322d0,0.248d0,0.248d0,
42 &0.192d0,0.326d0,2*0.2d0,0.2d0,0.2d0,0.29d0,0.2d0,0.4d0,5*0.2d0/,
44 DATA chlh/
'lepton',
'hadron'/
55 IF(mstu(12).NE.12345) CALL
pylist(0)
56 IF(
mstp(122).GE.1)
WRITE(mstu(11),5100)
69 IF (
mstp(5).NE.0)
THEN
75 IF(frame(1:1).EQ.
'u'.OR.frame(1:1).EQ.
'U')
THEN
83 mstu(114)=min(mstu(114),2*
mstp(1))
90 IF(ia.GE.1.AND.ia.LE.2*
mstp(1))
THEN
93 IF(ib.GE.6.AND.
mstp(9).EQ.0) goto 110
96 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.ipm)
vint(180+
i)=
97 &
vint(180+
i)+vckm((ia+1)/2,(ib+1)/2)
99 ELSEIF(ia.GE.11.AND.ia.LE.10+2*
mstp(1))
THEN
105 IF(
mstp(52).EQ.2)
THEN
120 IF(
mstp(3).GE.2)
THEN
123 IF(
mstp(52).EQ.1.AND.
mstp(51).GE.1.AND.
mstp(51).LE.20)
THEN
124 alam=alamin(
mstp(51))
126 ELSEIF(
mstp(52).EQ.2.AND.nfl.EQ.5)
THEN
129 ELSEIF(
mstp(52).EQ.2)
THEN
138 IF(
mstp(3).EQ.3) parj(81)=alam
154 CALL
pyinbm(chfram,chbeam,chtarg,win)
155 IF(
mint(65).EQ.1) goto 170
160 IF(
mstp(14).EQ.10.AND.(msel.EQ.1.OR.msel.EQ.2))
THEN
161 IF((
mint(11).EQ.22.OR.
mint(12).EQ.22).AND.
162 & (iabs(
mint(11)).GT.100.OR.iabs(
mint(12)).GT.100))
mint(121)=3
164 IF((
mint(11).EQ.22.OR.
mint(12).EQ.22).AND.
165 & (iabs(
mint(11)).EQ.11.OR.iabs(
mint(12)).EQ.11))
mint(121)=2
166 ELSEIF(
mstp(14).EQ.20.AND.(msel.EQ.1.OR.msel.EQ.2))
THEN
167 IF((
mint(11).EQ.22.OR.
mint(12).EQ.22).AND.
168 & (iabs(
mint(11)).GT.100.OR.iabs(
mint(12)).GT.100))
mint(121)=3
170 ELSEIF(
mstp(14).EQ.25.AND.(msel.EQ.1.OR.msel.EQ.2))
THEN
171 IF((
mint(11).EQ.22.OR.
mint(12).EQ.22).AND.
172 & (iabs(
mint(11)).GT.100.OR.iabs(
mint(12)).GT.100))
mint(121)=2
174 ELSEIF(
mstp(14).EQ.30.AND.(msel.EQ.1.OR.msel.EQ.2))
THEN
175 IF((
mint(11).EQ.22.OR.
mint(12).EQ.22).AND.
176 & (iabs(
mint(11)).GT.100.OR.iabs(
mint(12)).GT.100))
mint(121)=4
180 IF((
mstp(14).EQ.10.OR.
mstp(14).EQ.20.OR.
mstp(14).EQ.25.OR.
181 &
mstp(14).EQ.30).AND.msel.NE.1.AND.msel.NE.2)
mint(123)=0
182 IF(
mstp(14).GE.11.AND.
mstp(14).LE.19)
THEN
189 ELSEIF(
mstp(14).GE.21.AND.
mstp(14).LE.24)
THEN
193 ELSEIF(
mstp(14).GE.26.AND.
mstp(14).LE.29)
THEN
210 DO 160 iga=1,
mint(121)
224 IF(
mint(50).EQ.0.AND.isub.GE.91.AND.isub.LE.96.AND.
225 & msub(isub).EQ.1.AND.
mint(121).GT.1)
THEN
227 ELSEIF(
mint(50).EQ.0.AND.isub.GE.91.AND.isub.LE.96.AND.
228 & msub(isub).EQ.1)
THEN
229 WRITE(mstu(11),5200) isub,chlh(
mint(41)),chlh(
mint(42))
231 ELSEIF(msub(isub).EQ.1.AND.iset(isub).EQ.-1)
THEN
232 WRITE(mstu(11),5300) isub
234 ELSEIF(msub(isub).EQ.1.AND.iset(isub).LE.-2)
THEN
235 WRITE(mstu(11),5400) isub
237 ELSEIF(msub(isub).EQ.1)
THEN
243 IF(
mint(121).EQ.1.AND.
mint(48).EQ.0)
THEN
244 IF(
mstp(127).NE.1)
THEN
252 mint(49)=
mint(48)-msub(91)-msub(92)-msub(93)-msub(94)
253 msav48=msav48+
mint(48)
275 IF(
mint(50).EQ.1)
THEN
277 IF(mod(
mstp(81),10).EQ.0.AND.(ckin(3).GT.ptmn.OR.
278 & ((msel.NE.1.AND.msel.NE.2))))
mstp(82)=min(1,
mstp(82))
279 IF((
mint(49).NE.0.OR.
mstp(131).NE.0).AND.
mstp(82).GE.2)
THEN
293 IF(
mstp(127).NE.1)
THEN
301 170
IF(
mstp(122).GE.1)
WRITE(mstu(11),5600)
304 5100
FORMAT(
'1',18(
'*'),1
x,
'PYINIT: initialization of PYTHIA ',
305 &
'routines',1
x,17(
'*'))
306 5200
FORMAT(1
x,
'Error: process number ',
i3,
' not meaningful for ',a6,
307 &
'-',a6,
' interactions.'/1
x,
'Execution stopped!')
308 5300
FORMAT(1
x,
'Error: requested subprocess',
i4,
' not implemented.'/
309 &1
x,
'Execution stopped!')
310 5400
FORMAT(1
x,
'Error: requested subprocess',
i4,
' not existing.'/
311 &1
x,
'Execution stopped!')
312 5500
FORMAT(1
x,
'Error: no subprocess switched on.'/
313 &1
x,
'Execution stopped.')
314 5600
FORMAT(/1
x,22(
'*'),1
x,
'PYINIT: initialization completed',1
x,
316 5700
FORMAT(1
x,
'Error: no subprocess switched on.'/
317 &1
x,
'Execution will stop if you try to generate events.')