2 C*********************************************************************
6 C...Selects partonic subprocesses to be included in the simulation.
7 COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
8 COMMON/LUDAT3/MDCY(500,3),MDME(2000,2),BRAT(2000),KFDP(2000,5)
9 COMMON/PYSUBS/MSEL,MSUB(200),KFIN(2,-40:40),CKIN(200)
10 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
11 COMMON/PYINT1/MINT(400),VINT(400)
12 COMMON/PYINT2/ISET(200),KFPR(200,2),COEF(200,20),ICOL(40,4,2)
13 SAVE /LUDAT1/,/LUDAT3/
14 SAVE /PYSUBS/,/PYPARS/,/PYINT1/,/PYINT2/
16 C...Reset processes to be included.
23 C...For e-gamma witn MSTP(14)=10 allow mixture of VMD and anomalous.
24 IF(MINT(121).EQ.2) THEN
28 C...For gamma-p or gamma-gamma with MSTP(14)=10 allow mixture.
29 C...Here also set a few parameters otherwise normally not touched.
30 ELSEIF(MINT(121).GT.1) THEN
32 C...Structure functions dampened at small Q2; go to low energies,
33 C...alpha_s <1; no minimum pT cut-off a priori.
41 C...Define pT cut-off parameters and whether run involves low-pT.
42 IF(MSTP(82).LE.1) THEN
43 PTMVMD=1.30+0.15*LOG(VINT(1)/200.)/LOG(900./200.)
45 PTMVMD=1.25+0.15*LOG(VINT(1)/200.)/LOG(900./200.)
49 IF(MSTP(15).EQ.5) PTMANO=0.70+0.17*LOG(1.+0.05*VINT(1))**2
51 IF(VINT(285).GT.MAX(PTMVMD,PTMDIR,PTMANO)) IPTL=0
54 C...Set up for p/VMD * VMD.
55 IF(MINT(122).EQ.1) THEN
63 IF(IPTL.EQ.1) MSUB(95)=1
72 IF(IPTL.EQ.1) CKIN(3)=0.
74 C...Set up for p/VMD * direct gamma.
75 ELSEIF(MINT(122).EQ.2) THEN
77 IF(MINT(121).EQ.6) MINT(123)=5
80 IF(IPTL.EQ.1) CKIN(3)=PTMDIR
82 C...Set up for p/VMD * anomalous gamma.
83 ELSEIF(MINT(122).EQ.3) THEN
85 IF(MINT(121).EQ.6) MINT(123)=7
92 IF(MSTP(82).GE.2) MSTP(85)=1
93 IF(IPTL.EQ.1) CKIN(3)=PTMANO
95 C...Set up for direct * direct gamma (switch off leptons).
96 ELSEIF(MINT(122).EQ.4) THEN
99 DO 110 II=MDCY(22,2),MDCY(22,2)+MDCY(22,3)-1
100 IF(IABS(KFDP(II,1)).GE.10) MDME(II,1)=MIN(0,MDME(II,1))
102 IF(IPTL.EQ.1) CKIN(3)=PTMDIR
104 C...Set up for direct * anomalous gamma.
105 ELSEIF(MINT(122).EQ.5) THEN
109 IF(IPTL.EQ.1) CKIN(3)=PTMANO
111 C...Set up for anomalous * anomalous gamma.
112 ELSEIF(MINT(122).EQ.6) THEN
120 IF(MSTP(82).GE.2) MSTP(85)=1
121 IF(IPTL.EQ.1) CKIN(3)=PTMANO
124 C...End of special set up for gamma-p and gamma-gamma.
128 C...Flavour information for individual beams.
131 IF(MINT(123).GE.1.AND.MINT(10+I).EQ.22) MINT(40+I)=2
132 IF(IABS(MINT(10+I)).GT.100) MINT(40+I)=2
133 IF(MINT(10+I).EQ.28.OR.MINT(10+I).EQ.29) MINT(40+I)=2
134 MINT(44+I)=MINT(40+I)
135 IF(MSTP(11).GE.1.AND.IABS(MINT(10+I)).EQ.11) MINT(44+I)=3
138 C...If two gammas, whereof one direct, pick the first.
139 IF(MINT(11).EQ.22.AND.MINT(12).EQ.22) THEN
140 IF(MINT(123).GE.4.AND.MINT(123).LE.6) THEN
144 ELSEIF(MINT(11).EQ.22.OR.MINT(12).EQ.22) THEN
145 IF(MINT(123).GE.4) CALL LUERRM(26,
146 & '(PYINPR:) unallowed MSTP(14) code for single photon')
149 C...Flavour information on combination of incoming particles.
150 MINT(43)=2*MINT(41)+MINT(42)-2
152 IF(MINT(123).LE.0) THEN
153 IF(MINT(11).EQ.22) MINT(43)=MINT(43)+2
154 IF(MINT(12).EQ.22) MINT(43)=MINT(43)+1
155 ELSEIF(MINT(123).LE.3) THEN
156 IF(MINT(11).EQ.22) MINT(44)=MINT(44)-2
157 IF(MINT(12).EQ.22) MINT(44)=MINT(44)-1
158 ELSEIF(MINT(11).EQ.22.AND.MINT(12).EQ.22) THEN
162 MINT(47)=2*MIN(2,MINT(45))+MIN(2,MINT(46))-2
163 IF(MIN(MINT(45),MINT(46)).EQ.3) MINT(47)=5
165 IF(MINT(41).EQ.2.AND.MINT(42).EQ.2) MINT(50)=1
166 IF((MINT(11).EQ.22.OR.MINT(12).EQ.22).AND.MINT(123).GE.3)
169 IF(MINT(11).EQ.22) THEN
171 IF(MINT(123).GE.4) MINT(107)=0
172 IF(MINT(123).EQ.7) MINT(107)=2
175 IF(MINT(12).EQ.22) THEN
177 IF(MINT(123).GE.4) MINT(108)=MINT(123)-3
178 IF(MINT(123).EQ.7) MINT(108)=3
181 C...Select default processes according to incoming beams
182 C...(already done for gamma-p and gamma-gamma with MSTP(14)=10).
183 IF(MINT(121).GT.1) THEN
184 ELSEIF(MSEL.EQ.1.OR.MSEL.EQ.2) THEN
186 IF(MINT(43).EQ.1) THEN
187 C...Lepton + lepton -> gamma/Z0 or W.
188 IF(MINT(11)+MINT(12).EQ.0) MSUB(1)=1
189 IF(MINT(11)+MINT(12).NE.0) MSUB(2)=1
191 ELSEIF(MINT(43).LE.3.AND.MINT(123).EQ.0.AND.
192 & (MINT(11).EQ.22.OR.MINT(12).EQ.22)) THEN
193 C...Unresolved photon + lepton: Compton scattering.
196 ELSEIF(MINT(43).LE.3) THEN
197 C...Lepton + hadron: deep inelastic scattering.
200 ELSEIF(MINT(123).EQ.0.AND.MINT(11).EQ.22.AND.
201 & MINT(12).EQ.22) THEN
202 C...Two unresolved photons: fermion pair production.
205 ELSEIF((MINT(123).EQ.0.AND.(MINT(11).EQ.22.OR.MINT(12).EQ.22))
206 & .OR.(MINT(123).GE.4.AND.MINT(123).LE.6.AND.MINT(11).EQ.22.AND.
207 & MINT(12).EQ.22)) THEN
208 C...Unresolved photon + hadron: photon-parton scattering.
213 ELSEIF(MSEL.EQ.1) THEN
214 C...High-pT QCD processes:
221 IF(MSTP(82).LE.1.AND.CKIN(3).LT.PARP(81)) MSUB(95)=1
222 IF(MSTP(82).GE.2.AND.CKIN(3).LT.PARP(82)) MSUB(95)=1
223 IF(MSUB(95).EQ.1.AND.MINT(50).EQ.0) MSUB(95)=0
226 C...All QCD processes:
240 ELSEIF(MSEL.GE.4.AND.MSEL.LE.8) THEN
241 C...Heavy quark production.
245 DO 130 J=1,MIN(8,MDCY(21,3))
246 MDME(MDCY(21,2)+J-1,1)=0
248 MDME(MDCY(21,2)+MSEL-1,1)=1
250 DO 140 J=1,MIN(12,MDCY(22,3))
251 MDME(MDCY(22,2)+J-1,1)=0
253 MDME(MDCY(22,2)+MSEL-1,1)=1
255 ELSEIF(MSEL.EQ.10) THEN
256 C...Prompt photon production:
261 ELSEIF(MSEL.EQ.11) THEN
262 C...Z0/gamma* production:
265 ELSEIF(MSEL.EQ.12) THEN
269 ELSEIF(MSEL.EQ.13) THEN
274 ELSEIF(MSEL.EQ.14) THEN
279 ELSEIF(MSEL.EQ.15) THEN
280 C...Z0 & W+/- pair production:
287 ELSEIF(MSEL.EQ.16) THEN
295 ELSEIF(MSEL.EQ.17) THEN
296 C...H0 & Z0 or W+/- pair production:
300 ELSEIF(MSEL.EQ.18) THEN
301 C...H0 production; interesting processes in e+e-.
307 ELSEIF(MSEL.EQ.19) THEN
308 C...H0, H'0 and A0 production; interesting processes in e+e-.
322 ELSEIF(MSEL.EQ.21) THEN
326 ELSEIF(MSEL.EQ.22) THEN
327 C...W'+/- production:
330 ELSEIF(MSEL.EQ.23) THEN
334 ELSEIF(MSEL.EQ.24) THEN
338 ELSEIF(MSEL.EQ.25) THEN
339 C...LQ (leptoquark) production.
345 ELSEIF(MSEL.GE.35.AND.MSEL.LE.38) THEN
346 C...Production of one heavy quark (W exchange):
348 DO 150 J=1,MIN(8,MDCY(21,3))
349 MDME(MDCY(21,2)+J-1,1)=0
351 MDME(MDCY(21,2)+MSEL-31,1)=1
354 C...Find heaviest new quark flavour allowed in processes 81-84.
356 DO 160 I=1,MIN(8,MDCY(21,3))
358 IF(MDME(IDC,1).LE.0) GOTO 160
361 IF(MSTP(7).GE.1.AND.MSTP(7).LE.8.AND.(MSEL.LE.3.OR.MSEL.GE.9))
372 C...Find heaviest new fermion flavour allowed in process 85.
374 DO 170 I=1,MIN(12,MDCY(22,3))
376 IF(MDME(IDC,1).LE.0) GOTO 170
379 IF(((MSTP(7).GE.1.AND.MSTP(7).LE.8).OR.(MSTP(7).GE.11.AND.
380 &MSTP(7).LE.18)).AND.(MSEL.LE.3.OR.MSEL.GE.9)) KFLFM=MSTP(7)