]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ISAJET/code/zjj0.F
Update rawdata format for trigger (Christian)
[u/mrichter/AliRoot.git] / ISAJET / code / zjj0.F
CommitLineData
0795afa3 1#include "isajet/pilot.h"
2 SUBROUTINE ZJJ0
3C-----------------------------------------------------------------------
4C
5C Initialize MadGraph/Helas to generate Z + 2 jets.
6C Cross section routines from MadGraph:
7C ZJJ1: q1 q1b -> Z q2 q2b, q1 != q2
8C ZJJ2: g g -> Z q2 q2b
9C ZJJ3: q1 q1b -> Z g g
10C ZJJ4: q1 q1b -> Z q1 q1b
11C ZJJ5: q1 q2 -> Z q1 q2
12C ZJJ6: q1 q1 -> Z q1 q1
13C ZJJ7: g q -> Z g q
14C
15C Note: The Z is always jet1, but the other two jets are
16C symmetrized so a symmetry factor of 1/2 is needed for every
17C subprocess. This is included by MadGraph for identical
18C particles!
19C
20C-----------------------------------------------------------------------
21#if defined(CERNLIB_IMPNONE)
22 IMPLICIT NONE
23#endif
24#include "isajet/const.inc"
25#include "isajet/q1q2.inc"
26#include "isajet/itapes.inc"
27#include "isajet/jetlim.inc"
28#include "isajet/primar.inc"
29#include "isajet/sstype.inc"
30#include "isajet/mgkin.inc"
31#include "isajet/mgcoms.inc"
32#include "isajet/mgsigs.inc"
33C
34 INTEGER IMAD(6)
35 INTEGER IQ1,IQ2,IQ4,IQ5,IFL1,IFL2,IM1,IM2,I,NEV,KK,II,J
36 REAL*8 P1(0:3),P2(0:3),P3(0:3),P4(0:3),P5(0:3)
37 EQUIVALENCE (P1(0),PJETS8(0,1))
38 EQUIVALENCE (P2(0),PJETS8(0,2))
39 EQUIVALENCE (P3(0),PJETS8(0,3))
40 EQUIVALENCE (P4(0),PJETS8(0,4))
41 EQUIVALENCE (P5(0),PJETS8(0,5))
42 REAL*8 WT,TERM,FJAC,SZJJ1,SZJJ2,SZJJ3,SZJJ4,SUM
43 REAL*8 SZJJ5,SZJJ6,SZJJ7
44 REAL X1,X2,XX,QQ,TMP(MXSIG8),QFCN,STRUC,ALQCD
45 INTEGER IQ,IH,NPT,NNN,ISUM
46C
47C Map Jettype/2 to MadGraph
48 DATA IMAD/3,4,8,7,12,11/
49C
50C Parton distributions
51 QFCN(XX,IQ,IH)=STRUC(XX,QQ,IQ,IDIN(IH))/XX
52C
53C Begin
54C
55 NPT=MAX(NSIGMA,100)
56 WRITE(ITLIS,1000) NTRIES,NPT
571000 FORMAT(//' INITIALIZING CROSS SECTIONS WITH',I6,
58 $' TRIES FOR',I6,' POINTS EACH:')
59 FJAC=UNITS/SCM
60 WTTOT8=0
61 NSIG8=0
62C
63C Cases 1,4: q1 q1b -> z q2 q2b
64C
65 AMJET8(3)=ZMASS
66 DO 100 IFL1=1,5
67 IM1=IMAD(IFL1)
68 IQ1=2*IFL1
69 IQ2=IQ1+1
70 AMJET8(1)=FMASS(IM1)
71 AMJET8(2)=FMASS(IM1)
72 DO 110 IFL2=1,6
73 IM2=IMAD(IFL2)
74 IQ4=2*IFL2
75 IQ5=IQ4+1
76 AMJET8(4)=FMASS(IM2)
77 AMJET8(5)=FMASS(IM2)
78C
79C Subcase 1a: 3=z, 4=q, 5=qb
80C
81 IF(GOQ(IQ4,2).AND.GOQ(IQ5,3)) THEN
82 IF(NSIG8+2.GT.MXSIG8) GO TO 999
83 DO 120 I=1,2
84 WTSUM8(NSIG8+I)=0
85 WTMAX8(NSIG8+I)=0
86 NWT8(NSIG8+I)=0
87 IDENT8(1,NSIG8+I)=(3-2*I)*IFL1
88 IDENT8(2,NSIG8+I)=-(3-2*I)*IFL1
89 IDENT8(3,NSIG8+I)=IDZ
90 IDENT8(4,NSIG8+I)=IFL2
91 IDENT8(5,NSIG8+I)=-IFL2
92 IF(IFL1.EQ.IFL2) THEN
93 IFUNC8(NSIG8+I)=4
94 ELSE
95 IFUNC8(NSIG8+I)=1
96 ENDIF
97 NNN=0
98 DO 125 NEV=1,NTRIES
99 IF(NNN.GT.NPT) GO TO 120
100 CALL MULJET(WT)
101 NWT8(NSIG8+I)=NWT8(NSIG8+I)+1
102 NWTTOT=NWTTOT+1
103 IF(WT.GT.0) THEN
104 NNN=NNN+1
105 X1=(P1(0)+P1(3))/ECM
106 X2=(P2(0)-P2(3))/ECM
107 QQ=P3(1)**2+P3(2)**2+P4(1)**2+P4(2)**2+P5(1)**2+
108 $ P5(2)**2+AMJET8(3)**2+AMJET8(4)**2+AMJET8(5)**2
109 IF(I.EQ.1) THEN
110 IF(IFL2.EQ.IFL1) THEN
111 TERM=SZJJ4(P1,P2,P3,P4,P5,IM1)
112 ELSE
113 TERM=SZJJ1(P1,P2,P3,P4,P5,IM1,IM2)
114 ENDIF
115 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
116 TERM=TERM*WT*FJAC*QFCN(X1,IQ1,1)*QFCN(X2,IQ2,2)
117 ELSE
118 IF(IFL2.EQ.IFL1) THEN
119 TERM=SZJJ4(P2,P1,P3,P4,P5,IM1)
120 ELSE
121 TERM=SZJJ1(P2,P1,P3,P4,P5,IM1,IM2)
122 ENDIF
123 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
124 TERM=TERM*WT*FJAC*QFCN(X1,IQ2,1)*QFCN(X2,IQ1,2)
125 ENDIF
126 TERM=0.5*TERM
127 WTTOT8=WTTOT8+TERM
128 WTSUM8(NSIG8+I)=WTSUM8(NSIG8+I)+TERM
129 WTMAX8(NSIG8+I)=MAX(WTMAX8(NSIG8+I),TERM)
130 ENDIF
131125 CONTINUE
132 WRITE(ITLIS,*) ' ZJJ0 WARNING: INSUFFICIENT TRIES FOR ',
133 $ (IDENT8(KK,NSIG8+I),KK=1,5)
134120 CONTINUE
135 NSIG8=NSIG8+2
136 ENDIF
137C
138C Subcase 1b: 3=z, 4=qb, 5=q
139C
140 IF(GOQ(IQ5,2).AND.GOQ(IQ4,3)) THEN
141 IF(NSIG8+2.GT.MXSIG8) GO TO 999
142 DO 130 I=1,2
143 WTSUM8(NSIG8+I)=0
144 WTMAX8(NSIG8+I)=0
145 NWT8(NSIG8+I)=0
146 IDENT8(1,NSIG8+I)=(3-2*I)*IFL1
147 IDENT8(2,NSIG8+I)=-(3-2*I)*IFL1
148 IDENT8(3,NSIG8+I)=IDZ
149 IDENT8(4,NSIG8+I)=-IFL2
150 IDENT8(5,NSIG8+I)=IFL2
151 IF(IFL1.EQ.IFL2) THEN
152 IFUNC8(NSIG8+I)=4
153 ELSE
154 IFUNC8(NSIG8+I)=1
155 ENDIF
156 NNN=0
157 DO 135 NEV=1,NTRIES
158 IF(NNN.GT.NPT) GO TO 130
159 CALL MULJET(WT)
160 NWT8(NSIG8+I)=NWT8(NSIG8+I)+1
161 NWTTOT=NWTTOT+1
162 IF(WT.GT.0) THEN
163 NNN=NNN+1
164 X1=(P1(0)+P1(3))/ECM
165 X2=(P2(0)-P2(3))/ECM
166 QQ=P3(1)**2+P3(2)**2+P4(1)**2+P4(2)**2+P5(1)**2+
167 $ P5(2)**2+AMJET8(3)**2+AMJET8(4)**2+AMJET8(5)**2
168 IF(I.EQ.1) THEN
169 IF(IFL1.EQ.IFL2) THEN
170 TERM=SZJJ4(P1,P2,P3,P5,P4,IM1)
171 ELSE
172 TERM=SZJJ1(P1,P2,P3,P5,P4,IM1,IM2)
173 ENDIF
174 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
175 TERM=TERM*WT*FJAC*QFCN(X1,IQ1,1)*QFCN(X2,IQ2,2)
176 ELSE
177 IF(IFL1.EQ.IFL2) THEN
178 TERM=SZJJ4(P2,P1,P3,P5,P4,IM1)
179 ELSE
180 TERM=SZJJ1(P2,P1,P3,P5,P4,IM1,IM2)
181 ENDIF
182 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
183 TERM=TERM*WT*FJAC*QFCN(X1,IQ2,1)*QFCN(X2,IQ1,2)
184 ENDIF
185 TERM=0.5*TERM
186 WTTOT8=WTTOT8+TERM
187 WTSUM8(NSIG8+I)=WTSUM8(NSIG8+I)+TERM
188 WTMAX8(NSIG8+I)=MAX(WTMAX8(NSIG8+I),TERM)
189 ENDIF
190135 CONTINUE
191 WRITE(ITLIS,*) ' ZJJ0 WARNING: INSUFFICIENT TRIES FOR ',
192 $ (IDENT8(KK,NSIG8+I),KK=1,5)
193130 CONTINUE
194 NSIG8=NSIG8+2
195 ENDIF
196110 CONTINUE
197100 CONTINUE
198C
199C Case 2: g g -> z q2 q2b
200C
201 AMJET8(3)=ZMASS
202 IFL1=9
203 AMJET8(1)=0
204 AMJET8(2)=0
205 DO 210 IFL2=1,6
206 IM2=IMAD(IFL2)
207 IQ4=2*IFL2
208 IQ5=IQ4+1
209 AMJET8(4)=FMASS(IM2)
210 AMJET8(5)=FMASS(IM2)
211C
212C Subcase 2a: 3=z, 4=q, 5=qb
213C
214 IF(GOQ(IQ4,2).AND.GOQ(IQ5,3)) THEN
215 IF(NSIG8+1.GT.MXSIG8) GO TO 999
216 WTSUM8(NSIG8+1)=0
217 WTMAX8(NSIG8+1)=0
218 NWT8(NSIG8+1)=0
219 IDENT8(1,NSIG8+1)=IDGL
220 IDENT8(2,NSIG8+1)=IDGL
221 IDENT8(3,NSIG8+1)=IDZ
222 IDENT8(4,NSIG8+1)=IFL2
223 IDENT8(5,NSIG8+1)=-IFL2
224 IFUNC8(NSIG8+1)=2
225 NNN=0
226 DO 225 NEV=1,NTRIES
227 IF(NNN.GT.NPT) GO TO 220
228 CALL MULJET(WT)
229 NWT8(NSIG8+1)=NWT8(NSIG8+1)+1
230 NWTTOT=NWTTOT+1
231 IF(WT.GT.0) THEN
232 NNN=NNN+1
233 X1=(P1(0)+P1(3))/ECM
234 X2=(P2(0)-P2(3))/ECM
235 QQ=P3(1)**2+P3(2)**2+P4(1)**2+P4(2)**2+P5(1)**2+
236 $ P5(2)**2+AMJET8(3)**2+AMJET8(4)**2+AMJET8(5)**2
237 TERM=SZJJ2(P1,P2,P3,P4,P5,IM2)
238 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
239 TERM=TERM*WT*FJAC*QFCN(X1,1,1)*QFCN(X2,1,2)
240 TERM=0.5*TERM
241 WTTOT8=WTTOT8+TERM
242 WTSUM8(NSIG8+1)=WTSUM8(NSIG8+1)+TERM
243 WTMAX8(NSIG8+1)=MAX(WTMAX8(NSIG8+1),TERM)
244 ENDIF
245225 CONTINUE
246 WRITE(ITLIS,*) ' ZJJ0 WARNING: INSUFFICIENT TRIES FOR ',
247 $ (IDENT8(KK,NSIG8+1),KK=1,5)
248220 CONTINUE
249 NSIG8=NSIG8+1
250 ENDIF
251C
252C Subcase 2b: 3=z, 4=qb, 5=q
253C
254 IF(GOQ(IQ5,2).AND.GOQ(IQ4,3)) THEN
255 IF(NSIG8+1.GT.MXSIG8) GO TO 999
256 WTSUM8(NSIG8+1)=0
257 WTMAX8(NSIG8+1)=0
258 NWT8(NSIG8+1)=0
259 IDENT8(1,NSIG8+1)=IDGL
260 IDENT8(2,NSIG8+1)=IDGL
261 IDENT8(3,NSIG8+1)=IDZ
262 IDENT8(4,NSIG8+1)=-IFL2
263 IDENT8(5,NSIG8+1)=IFL2
264 IFUNC8(NSIG8+1)=2
265 NNN=0
266 DO 235 NEV=1,NTRIES
267 IF(NNN.GT.NPT) GO TO 230
268 CALL MULJET(WT)
269 NWT8(NSIG8+1)=NWT8(NSIG8+1)+1
270 NWTTOT=NWTTOT+1
271 IF(WT.GT.0) THEN
272 NNN=NNN+1
273 X1=(P1(0)+P1(3))/ECM
274 X2=(P2(0)-P2(3))/ECM
275 QQ=P3(1)**2+P3(2)**2+P4(1)**2+P4(2)**2+P5(1)**2+
276 $ P5(2)**2+AMJET8(3)**2+AMJET8(4)**2+AMJET8(5)**2
277 TERM=SZJJ2(P1,P2,P3,P5,P4,IM2)
278 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
279 TERM=TERM*WT*FJAC*QFCN(X1,1,1)*QFCN(X2,1,2)
280 TERM=0.5*TERM
281 WTTOT8=WTTOT8+TERM
282 WTSUM8(NSIG8+1)=WTSUM8(NSIG8+1)+TERM
283 WTMAX8(NSIG8+1)=MAX(WTMAX8(NSIG8+1),TERM)
284 ENDIF
285235 CONTINUE
286 WRITE(ITLIS,*) ' ZJJ0 WARNING: INSUFFICIENT TRIES FOR ',
287 $ (IDENT8(KK,NSIG8+1),KK=1,5)
288230 CONTINUE
289 NSIG8=NSIG8+1
290 ENDIF
291210 CONTINUE
292C
293C Case 3: q1 q1b -> z g g
294C
295 AMJET8(3)=ZMASS
296 AMJET8(4)=0
297 AMJET8(5)=0
298 DO 310 IFL1=1,5
299 IM1=IMAD(IFL1)
300 IQ1=2*IFL1
301 IQ2=IQ1+1
302 AMJET8(1)=FMASS(IM1)
303 AMJET8(2)=FMASS(IM1)
304C
305 IF(GOQ(1,2).AND.GOQ(1,3)) THEN
306 IF(NSIG8+2.GT.MXSIG8) GO TO 999
307 DO 320 I=1,2
308 WTSUM8(NSIG8+I)=0
309 WTMAX8(NSIG8+I)=0
310 NWT8(NSIG8+I)=0
311 IDENT8(1,NSIG8+I)=(3-2*I)*IFL1
312 IDENT8(2,NSIG8+I)=-(3-2*I)*IFL1
313 IDENT8(3,NSIG8+I)=IDZ
314 IDENT8(4,NSIG8+I)=IDGL
315 IDENT8(5,NSIG8+I)=IDGL
316 IFUNC8(NSIG8+I)=3
317 NNN=0
318 DO 325 NEV=1,NTRIES
319 IF(NNN.GT.NPT) GO TO 320
320 CALL MULJET(WT)
321 NWT8(NSIG8+I)=NWT8(NSIG8+I)+1
322 NWTTOT=NWTTOT+1
323 IF(WT.GT.0) THEN
324 NNN=NNN+1
325 X1=(P1(0)+P1(3))/ECM
326 X2=(P2(0)-P2(3))/ECM
327 QQ=P3(1)**2+P3(2)**2+P4(1)**2+P4(2)**2+P5(1)**2+
328 $ P5(2)**2+AMJET8(3)**2+AMJET8(4)**2+AMJET8(5)**2
329 IF(I.EQ.1) THEN
330 TERM=SZJJ3(P1,P2,P3,P4,P5,IM1)
331 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
332 TERM=TERM*WT*FJAC*QFCN(X1,IQ1,1)*QFCN(X2,IQ2,2)
333 ELSE
334 TERM=SZJJ3(P2,P1,P3,P4,P5,IM1)
335 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
336 TERM=TERM*WT*FJAC*QFCN(X1,IQ2,1)*QFCN(X2,IQ1,2)
337 ENDIF
338 WTTOT8=WTTOT8+TERM
339 WTSUM8(NSIG8+I)=WTSUM8(NSIG8+I)+TERM
340 WTMAX8(NSIG8+I)=MAX(WTMAX8(NSIG8+I),TERM)
341 ENDIF
342325 CONTINUE
343 WRITE(ITLIS,*) ' ZJJ0 WARNING: INSUFFICIENT TRIES FOR ',
344 $ (IDENT8(KK,NSIG8+I),KK=1,5)
345320 CONTINUE
346 NSIG8=NSIG8+2
347 ENDIF
348310 CONTINUE
349C
350C Cases 5,6: q1 q2 -> Z q1 q2, q1 != q2
351C Since we integrate over the Z decay, we can use the same
352C cross sections for quarks (I=1) and antiquarks (I=2).
353C
354 DO 400 IFL1=1,5
355 IM1=IMAD(IFL1)
356 DO 410 IFL2=1,5
357 IM2=IMAD(IFL2)
358 AMJET8(1)=FMASS(IM1)
359 AMJET8(2)=FMASS(IM2)
360 AMJET8(3)=ZMASS
361 AMJET8(4)=FMASS(IM1)
362 AMJET8(5)=FMASS(IM2)
363 DO 420 I=1,2
364 IQ1=2*IFL1+I-1
365 IQ2=2*IFL2+I-1
366 IF(GOQ(IQ1,1).AND.GOQ(IQ2,2)) THEN
367 WTSUM8(NSIG8+1)=0
368 WTMAX8(NSIG8+1)=0
369 NWT8(NSIG8+1)=0
370 IDENT8(1,NSIG8+1)=(3-2*I)*IFL1
371 IDENT8(2,NSIG8+1)=(3-2*I)*IFL2
372 IDENT8(3,NSIG8+1)=IDZ
373 IDENT8(4,NSIG8+1)=(3-2*I)*IFL1
374 IDENT8(5,NSIG8+1)=(3-2*I)*IFL2
375 IF(IFL1.EQ.IFL2) THEN
376 IFUNC8(NSIG8+1)=6
377 ELSE
378 IFUNC8(NSIG8+1)=5
379 ENDIF
380 NNN=0
381 DO 425 NEV=1,NTRIES
382 IF(NNN.GT.NPT) THEN
383 NSIG8=NSIG8+1
384 GO TO 420
385 ENDIF
386 CALL MULJET(WT)
387 NWT8(NSIG8+1)=NWT8(NSIG8+1)+1
388 NWTTOT=NWTTOT+1
389 IF(WT.GT.0) THEN
390 NNN=NNN+1
391 X1=(P1(0)+P1(3))/ECM
392 X2=(P2(0)-P2(3))/ECM
393 QQ=P3(1)**2+P3(2)**2+P4(1)**2+P4(2)**2+P5(1)**2+
394 $ P5(2)**2+AMJET8(3)**2+AMJET8(4)**2+AMJET8(5)**2
395 IF(IFL1.EQ.IFL2) THEN
396 TERM=SZJJ6(P1,P2,P3,P4,P5,IM1)
397 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
398 TERM=TERM*WT*FJAC*QFCN(X1,IQ1,1)*QFCN(X2,IQ2,2)
399 ELSE
400 TERM=SZJJ5(P2,P1,P3,P4,P5,IM1,IM2)
401 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
402 TERM=TERM*WT*FJAC*QFCN(X1,IQ2,1)*QFCN(X2,IQ1,2)
403 TERM=0.5*TERM
404 ENDIF
405 WTTOT8=WTTOT8+TERM
406 WTSUM8(NSIG8+1)=WTSUM8(NSIG8+1)+TERM
407 WTMAX8(NSIG8+1)=MAX(WTMAX8(NSIG8+1),TERM)
408 ENDIF
409425 CONTINUE
410 WRITE(ITLIS,*) ' ZJJ0 WARNING: INSUFFICIENT TRIES FOR ',
411 $ (IDENT8(KK,NSIG8+1),KK=1,5)
412 NSIG8=NSIG8+1
413 ENDIF
414420 CONTINUE
415410 CONTINUE
416400 CONTINUE
417C
418C Case 7: g q -> z g q
419C Since we integrate over the Z decay, we can use the same
420C cross sections for quarks (I=1) and antiquarks (I=2).
421C
422 DO 500 IFL2=1,5
423 IM2=IMAD(IFL2)
424 DO 510 I=1,2
425 IQ5=2*IFL2+I-1
426C
427C Subcase 7a: 3=z, 4=g, 5=q (J=1,2 for initial states)
428C
429 IF(GOQ(1,2).AND.GOQ(IQ5,3)) THEN
430 IF(NSIG8+2.GT.MXSIG8) GO TO 999
431 AMJET8(3)=ZMASS
432 AMJET8(4)=0
433 AMJET8(5)=FMASS(IM2)
434 DO 520 J=1,2
435 WTSUM8(NSIG8+J)=0
436 WTMAX8(NSIG8+J)=0
437 NWT8(NSIG8+J)=0
438 IF(J.EQ.1) THEN
439 IDENT8(1,NSIG8+J)=IDGL
440 IDENT8(2,NSIG8+J)=(3-2*I)*IFL2
441 IQ1=1
442 IQ2=IQ5
443 AMJET8(1)=0
444 AMJET8(2)=FMASS(IM2)
445 ELSE
446 IDENT8(2,NSIG8+J)=IDGL
447 IDENT8(1,NSIG8+J)=(3-2*I)*IFL2
448 IQ1=IQ5
449 IQ2=1
450 AMJET8(2)=0
451 AMJET8(1)=FMASS(IM2)
452 ENDIF
453 IDENT8(3,NSIG8+J)=IDZ
454 IDENT8(4,NSIG8+J)=IDGL
455 IDENT8(5,NSIG8+J)=(3-2*I)*IFL2
456 IFUNC8(NSIG8+J)=7
457 NNN=0
458 DO 525 NEV=1,NTRIES
459 IF(NNN.GT.NPT) GO TO 520
460 CALL MULJET(WT)
461 NWT8(NSIG8+J)=NWT8(NSIG8+J)+1
462 NWTTOT=NWTTOT+1
463 IF(WT.GT.0) THEN
464 NNN=NNN+1
465 X1=(P1(0)+P1(3))/ECM
466 X2=(P2(0)-P2(3))/ECM
467 QQ=P3(1)**2+P3(2)**2+P4(1)**2+P4(2)**2+P5(1)**2+
468 $ P5(2)**2+AMJET8(3)**2+AMJET8(4)**2+AMJET8(5)**2
469 IF(J.EQ.1) THEN
470 TERM=SZJJ7(P1,P2,P3,P4,P5,IM2)
471 ELSE
472 TERM=SZJJ7(P2,P1,P3,P4,P5,IM2)
473 ENDIF
474 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
475 TERM=TERM*WT*FJAC*QFCN(X1,IQ1,1)*QFCN(X2,IQ2,2)
476 TERM=0.5*TERM
477 WTTOT8=WTTOT8+TERM
478 WTSUM8(NSIG8+J)=WTSUM8(NSIG8+J)+TERM
479 WTMAX8(NSIG8+J)=MAX(WTMAX8(NSIG8+J),TERM)
480 ENDIF
481525 CONTINUE
482 WRITE(ITLIS,*) ' ZJJ0 WARNING: INSUFFICIENT TRIES FOR ',
483 $ (IDENT8(KK,NSIG8+1),KK=1,5)
484520 CONTINUE
485 NSIG8=NSIG8+2
486 ENDIF
487C
488C Subcase 7b: 3=z, 4=q, 5=g
489C
490 IF(GOQ(IQ5,2).AND.GOQ(1,3)) THEN
491 IF(NSIG8+2.GT.MXSIG8) GO TO 999
492 AMJET8(3)=ZMASS
493 AMJET8(4)=FMASS(IM2)
494 AMJET8(5)=0
495 DO 530 J=1,2
496 WTSUM8(NSIG8+J)=0
497 WTMAX8(NSIG8+J)=0
498 NWT8(NSIG8+J)=0
499 IF(J.EQ.1) THEN
500 IDENT8(1,NSIG8+J)=IDGL
501 IDENT8(2,NSIG8+J)=(3-2*I)*IFL2
502 IQ1=1
503 IQ2=IQ5
504 AMJET8(1)=0
505 AMJET8(2)=FMASS(IM2)
506 ELSE
507 IDENT8(2,NSIG8+J)=IDGL
508 IDENT8(1,NSIG8+J)=(3-2*I)*IFL2
509 IQ1=IQ5
510 IQ2=1
511 AMJET8(2)=0
512 AMJET8(1)=FMASS(IM2)
513 ENDIF
514 IDENT8(3,NSIG8+J)=IDZ
515 IDENT8(4,NSIG8+J)=(3-2*I)*IFL2
516 IDENT8(5,NSIG8+J)=IDGL
517 IFUNC8(NSIG8+J)=7
518 NNN=0
519 DO 535 NEV=1,NTRIES
520 IF(NNN.GT.NPT) GO TO 530
521 CALL MULJET(WT)
522 NWT8(NSIG8+J)=NWT8(NSIG8+J)+1
523 NWTTOT=NWTTOT+1
524 IF(WT.GT.0) THEN
525 NNN=NNN+1
526 X1=(P1(0)+P1(3))/ECM
527 X2=(P2(0)-P2(3))/ECM
528 QQ=P3(1)**2+P3(2)**2+P4(1)**2+P4(2)**2+P5(1)**2+
529 $ P5(2)**2+AMJET8(3)**2+AMJET8(4)**2+AMJET8(5)**2
530 IF(J.EQ.1) THEN
531 TERM=SZJJ2(P1,P2,P3,P5,P4,IM2)
532 ELSE
533 TERM=SZJJ2(P2,P1,P3,P5,P4,IM2)
534 ENDIF
535 TERM=TERM*(4*PI*ALQCD(REAL(QQ)))**2
536 TERM=TERM*WT*FJAC*QFCN(X1,1,1)*QFCN(X2,1,2)
537 TERM=0.5*TERM
538 WTTOT8=WTTOT8+TERM
539 WTSUM8(NSIG8+J)=WTSUM8(NSIG8+J)+TERM
540 WTMAX8(NSIG8+J)=MAX(WTMAX8(NSIG8+J),TERM)
541 ENDIF
542535 CONTINUE
543 WRITE(ITLIS,*) ' ZJJ0 WARNING: INSUFFICIENT TRIES FOR ',
544 $ (IDENT8(KK,NSIG8+1),KK=1,5)
545530 CONTINUE
546 NSIG8=NSIG8+2
547 ENDIF
548510 CONTINUE
549500 CONTINUE
550C
551C Sort using initial cross sections
552C
553 SUM=0
554 ISUM=0
555 DO 991 I=1,NSIG8
556 ISORT8(I)=NSIG8+1-I
557 TMP(I)=WTSUM8(I)/NWT8(I)
558 SUM=SUM+WTSUM8(I)
559 ISUM=ISUM+NWT8(I)
560991 CONTINUE
561 IF(NSIG8.GT.1) CALL SORTTF(TMP,ISORT8,NSIG8)
562 WRITE(ITLIS,*)
563 WRITE(ITLIS,9001)
5649001 FORMAT(6X,'INITIAL MULTIJET CROSS SECTIONS'/
565 $6X,'PROCESS',18X,'SIGMA',10X,'MAX(SIGMA)')
566 DO 992 I=1,NSIG8
567 II=ISORT8(I)
568 WRITE(ITLIS,9002) (IDENT8(KK,II),KK=1,5),TMP(II),WTMAX8(II)
5699002 FORMAT(2X,5I5,2E15.5)
570992 CONTINUE
571 RETURN
572C
573C Errors
574C
575999 WRITE(ITLIS,*) 'ERROR IN ZJJ0, NSIG8 = ',NSIG8
576 STOP 99
577 END