]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PYTHIA/pythia/rkbbv.F
Do not save CVS subdirectories
[u/mrichter/AliRoot.git] / PYTHIA / pythia / rkbbv.F
CommitLineData
fe4da5cc 1
2C*********************************************************************
3
4 SUBROUTINE RKBBV(AK1,AK2,AP1,AP2,ALEP1,ALEP2,IMC,RESULT)
5
6C...The following routines have been written by Ronald Kleiss,
7C...to evaluate the matrix element for g + g -> Z + q + qbar,
8C...with massive quarks (e.g. q = b).
9C...They have been modified, so that all routines and commonblocks
10C...have names beginning with RK, and so that some unnecessary
11C...initialization information is not printed. Further, COMPLEX*16
12C...has been changed to COMPLEX and REAL*8 to DOUBLE PRECISION
13C...(in a few cases to REAL), so as to make the program better
14C...transportable.
15
16* THE CROSS SECTION FOR
17* G(K1) + G(K2) ---> Z(QV) + B(P1) + B_BAR(P2)
18* |
19* +---> L(LEP1) + LEP_BAR(LEP2)
20* THE B QUARKS HAVE TO BE ON-SHELL, THE LEPTONS MASSLESS
21* THE OPTION IMC=0 PERFORMS THE STANDARD SPIN SUM
22* THE OPTION IMC=1 PERFORMS THE CALCULATION FOR 'NMC' RANDOMLY
23* CHOSEN HELICITY STATES WHICH IMPROVES THE
24* SPEED BY A FACTOR 32/NMC
25 SAVE
26
27 REAL AK1(0:3),AK2(0:3),AP1(0:3),AP2(0:3),ALEP1(0:3),ALEP2(0:3)
28 DOUBLE PRECISION K1(0:4),K2(0:4),P1(0:4),P2(0:4),LEP1(0:4),
29 &LEP2(0:4)
30 REAL RMQ,RMV,RGV,GSTR,VB,AB,VL,AL
31 INTEGER INIT
32 INTEGER J1,J2,J3,J4,J5
33 INTEGER K,IMC,KLOW,KUPP,NMC,OLDIMC
34 DOUBLE PRECISION RKRAND,RKDOT,MULT,RMB
35C INTEGER CHKGL1,CHKGL2
36 DOUBLE PRECISION QV(0:4),R1(0:4),R2(0:4),Q1(0:4),Q2(0:4)
37 DOUBLE PRECISION PP2(0:4)
38 DOUBLE PRECISION CROSS
39 INTEGER LG1,LG2,LV,L1,L2,HELIX,HELI
40 COMPLEX ZFACV,ZFAC1,ZFAC2
41 DOUBLE PRECISION ZFACS,ZFACB,ZFACBB,ZFACL
42 COMPLEX RKZSF
43 COMPLEX ZFAC
44 DOUBLE PRECISION VPA,VMA
45 DOUBLE PRECISION RR1(0:4),RR2(0:4)
46 DOUBLE PRECISION ZD12V,ZD21V,ZD1V2,ZD2V1,ZDV12,ZDV21
47 COMPLEX RKZF,ZN12V,ZN21V,ZN1V2,ZN2V1,ZNV12,ZNV21
48 COMPLEX ZDIA1,ZDIA2,ZDIA3,ZDIA4,ZDIA5,ZDIA6,ZDIA7,ZDIA8
49 COMPLEX ZC12V,ZC21V,ZCV12,ZCV21
50 DOUBLE PRECISION S,ZD11,ZD22
51 COMPLEX ZABEL,ZNABEL,ZNABEM
52 REAL RESULT
53 DOUBLE PRECISION THIS1
54 COMPLEX ANSS(-1:1,1:4,-1:1,1:4)
55 INTEGER DONS(-1:1,1:4,-1:1,1:4)
56 COMPLEX ANSF(-1:1,1:4,1:8,-1:1,1:4)
57 INTEGER DONF(-1:1,1:4,1:8,-1:1,1:4)
58
59C PARAMETER(CHKGL1=0,CHKGL2=0)
60 PARAMETER(NMC=1)
61
62 COMMON/RKZSCO/ANSS,DONS
63 COMMON/RKZFCO/ANSF,DONF
64 COMMON/RKBBVC/RMQ,RMV,RGV,VB,AB,VL,AL
65 DATA INIT/0/
66
67* CHECK ON EITHER FIRST CALL OR CHANGE IN IMC
68 IF(INIT.EQ.0.OR.IMC.NE.OLDIMC) THEN
69 OLDIMC=IMC
70 INIT=1
71* REPRODUCE INPUT DATA
72C WRITE(6,*) ' ----------------------------------------'
73C WRITE(6,*) ' BBV: G G ---> B B_BAR Z, Z ---> L L_BAR'
74C WRITE(6,*) ' B QUARK MASS = ',RMB,' GEV'
75C WRITE(6,*) ' BOSON MASS = ',RMV,' GEV'
76C WRITE(6,*) ' BOSON WIDTH = ',RGV,' GEV'
77C WRITE(6,*) ' B VECTOR C. = ',VB
78C WRITE(6,*) ' B AXIAL C. = ',AB
79C WRITE(6,*) ' LEPTON VECTOR C. = ',VL
80C WRITE(6,*) ' LEPTON AXIAL C. = ',AL
81 RMB=RMQ
82* ADJUST STRONG COUPLING SO AS TO GIVE EFFECTIVELY ALPHA_S=1
83 GSTR=4D0*DSQRT(DATAN(1D0))
84C WRITE(6,*) ' QCD COUPLING = ',GSTR
85* SEE WETHER GAUGE CHECKS ARE REQUIRED
86C IF(CHKGL1.EQ.1) THEN
87C WRITE(6,*) ' GAUGE CHECK ON GLUON 1'
88C ENDIF
89C IF(CHKGL2.EQ.1) THEN
90C WRITE(6,*) ' GAUGE CHECK ON GLUON 2'
91C ENDIF
92* SEE WETHER HELICITY MONTE CARLO IS REQUIRED
93 IF(IMC.EQ.0) THEN
94 KLOW=1
95 KUPP=32
96 MULT=1D0
97 WRITE(6,*) ' SUM OVER HELICITIES SELECTED'
98 ELSEIF(IMC.EQ.1) THEN
99 KLOW=1
100 KUPP=NMC
101 MULT=32D0/(1D0*NMC)
102C WRITE(6,*) ' MONTE CARLO OVER HELICITES SELECTED'
103C WRITE(6,*) ' WITH ',NMC,' HELICITY TRIALS'
104C WRITE(6,*) ' RESULT THEN MULTIPLIED BY ',MULT
105 ELSE
106 WRITE(6,*) ' ERROR: WRONG OPTION IMC=',IMC
107 ENDIF
108C WRITE(6,*) ' THE RESULT IS BASED ON ALPHA_S=1,',
109C . ' MUST BE MULTIPLIED BY ALPHA_S**2'
110C WRITE(6,*) ' ----------------------------------------'
111C WRITE(6,800)'NO.','LG1','LG2','LV','L1','L2','AMP**2'
112C 800 FORMAT(' ',6A4,A10)
113 ENDIF
114
115* INITIALIZE THE ARRAYS ANSS,DONS
116 DO 130 J1=-1,1,2
117 DO 120 J2=1,4
118 DO 110 J3=-1,1,2
119 DO 100 J4=1,4
120 ANSS(J1,J2,J3,J4)=(0.,0.)
121 DONS(J1,J2,J3,J4)=0
122 100 CONTINUE
123 110 CONTINUE
124 120 CONTINUE
125 130 CONTINUE
126
127* INITIALIZE THE ARRAYS ANSF,DONF
128 DO 180 J1=-1,1,2
129 DO 170 J2=1,4
130 DO 160 J3=1,8
131 DO 150 J4=-1,1,2
132 DO 140 J5=1,4
133 ANSF(J1,J2,J3,J4,J5)=(0.,0.)
134 DONF(J1,J2,J3,J4,J5)=0
135 140 CONTINUE
136 150 CONTINUE
137 160 CONTINUE
138 170 CONTINUE
139 180 CONTINUE
140
141* EQUATE THE (0:4) INTERNAL MOMENTA TO THE (0:3) ARGUMENTS MOMENTA
142 DO 190 K=0,3
143 K1(K)=AK1(K)
144 K2(K)=AK2(K)
145 P1(K)=AP1(K)
146 P2(K)=AP2(K)
147 LEP1(K)=ALEP1(K)
148 LEP2(K)=ALEP2(K)
149 190 CONTINUE
150
151* ASSIGN LABELS TO THE MOMENTA FOR RECOGNITION
152* THE MOMENTA K1,K2,LEP1,LEP2 (AND R1,R2) CAN OCCUR AS THE MASSLESS
153* MOMENTA IN ARGUMENTS NO.2 AND 6 IN ZF, AND NO.2 AND 4 IN RKZSF
154* R1,R2 AND Q1,Q2 ARE SOME OF THESE, AND CAN ALSO OCCUR
155* AS ARGUMENTS NO.2 AND 6 IN ZF AND NO.2 AND 4 IN RKZSF
156 K1(4)=1D0
157 K2(4)=2D0
158 LEP1(4)=3D0
159 LEP2(4)=4D0
160* THE OTHER MOMENTA P1,P2 AND THE VARIOUS RR1,RR2 CAN OCCUR ONLY
161* AS ARGUMENT NO.3 IN ZF
162 P1(4)=1D0
163 P2(4)=2D0
164
165* THE TOTAL BOSON MOMENTUM
166* NO NEED TO ASSIGN 4TH COMPONENT LABEL SINCE IT IS NOT USED
167 DO 200 K=0,3
168 QV(K)=LEP1(K)+LEP2(K)
169 200 CONTINUE
170
171
172* DEFINE THE AUXILIARY VECTORS: THE RESULT SHOULD BE THE SAME
173* FOR EVERY NON-SINGULAR CHOICE OF THE AUXILIARY VECTORS
174* SINGULAR CHOICES ARE R1=K1 OR R2=K2
175* THESE ARE OBTAINED BY PUTTING CHKGL1=1 OR CHKGL2=1
176
177* AUXILIARY VECTOR FOR GLUON 1
178* NEED TO ASSIGN ALSO 4TH COMPONENT LABELS HERE!
179C IF(CHKGL1.EQ.1) THEN
180C DO 210 K=0,4
181C R1(K)=K1(K)
182C 210 CONTINUE
183C ELSE
184 DO 210 K=0,4
185 R1(K)=K2(K)
186 210 CONTINUE
187C ENDIF
188
189* AUXILIARY VECTOR FOR GLUON 2
190C IF(CHKGL2.EQ.1) THEN
191C DO 230 K=0,4
192C R2(K)=K2(K)
193C 230 CONTINUE
194C ELSE
195 DO 220 K=0,4
196 R2(K)=K1(K)
197 220 CONTINUE
198C ENDIF
199
200* AUXILIARY VECTOR FOR THE B QUARK
201 DO 230 K=0,4
202 Q1(K)=LEP1(K)
203 230 CONTINUE
204
205* AUXILIARY VECTOR FOR THE B_BAR QUARK
206 DO 240 K=0,4
207 Q2(K)=LEP2(K)
208 240 CONTINUE
209
210* INITIALIZE THE CROSS SECTION TO ZERO
211 CROSS=0D0
212
213* SINCE P2 CORRESPONDS TO AN ANTIFERMION WE HAVE TO
214* CHANGE ITS SIGN MOMENTARILY: PUT THE OLD RESULT IN PP2(0:3)
215* BU MAKE SURE TO KEEP THE LABEL POSITIVE!
216 DO 250 K=0,3
217 PP2(K)=P2(K)
218 P2(K)=-P2(K)
219 250 CONTINUE
220
221* COMPUTE OVERALL FACTORS: FOR EVERY SLASHED POLARIZATION THERE
222* APPEARS A FACTOR OF 2 IN ADDITION TO THE NORMALIZATION
223* FOLLOWING FROM THE CHISHOLM IDENTITY
224* IN PRINCIPLE THE OVERALL FACTORS ARE DIFFERENT FOR EACH DIFFERENT
225* HELICITY COMPBINATION BUT IN THIS CASE WE ARE ONLY INTERESTED IN
226* THEIR ABSOLUTE VALUE (NO TRANSVERSE GLUON POLARIZATION ETC.)
227* SO WE CAN TAKE THIS OUT OF THE LOOP, EXCEPT FOR THE NONTRIVIAL
228* HELICITY DEPENDENCE IN 'ZFACV'
229
230* OVERALL FACTOR FOR THE BOSON CURRENT, WITH BREIT-WIGNER
231 ZFACV=2./CMPLX(SNGL(RKDOT(QV,QV))-RMV**2,RMV*RGV)
232
233* OVERALL FACTOR FOR GLUON 1
234C IF(CHKGL1.EQ.1) THEN
235C ZFAC1=(1.,0.)
236C ELSE
237* ORIGINAL FORM: ZFAC1=2D0*LG1/(DSQRT(2D0)*RKZPR(-LG1,K1,R1))
238 ZFAC1=DSQRT(2D0)/RKZSF(1,K1,-1,R1)
239C ENDIF
240
241* OVERALL FACTOR FOR GLUON 2
242C IF(CHKGL2.EQ.1) THEN
243C ZFAC2=1D0
244C ELSE
245* ORIGINAL FORM: ZFAC2=2D0*LG2/(DSQRT(2D0)*RKZPR(-LG2,K2,R2))
246 ZFAC2=DSQRT(2D0)/RKZSF(1,K2,-1,R2)
247C ENDIF
248
249* OVERALL FACTOR FOR QCD COUPLINGS
250 ZFACS=GSTR**2
251
252* OVERALL FACTOR FOR THE B QUARK
253 ZFACB=1/DSQRT(2D0*RKDOT(P1,Q1))
254
255* OVERALL FACTOR FOR THE B_BAR QUARK
256 ZFACBB=1D0/DSQRT(2D0*RKDOT(PP2,Q2))
257
258* FINAL OVERALL FACTOR
259 ZFAC=ZFACV*ZFAC1*ZFAC2*ZFACS*ZFACB*ZFACBB
260
261* DO A BIG LOOP OVER ALL HELICITIES OR A RANDOM CHOICE OF HELICITIES
262* NB: FUNNY INDENTATION HERE!
263* ALSO INITIALIZE COUNTERS FOR RKZSF AND ZF
264
265 DO 340 HELIX=KLOW,KUPP
266 IF(IMC.EQ.0) THEN
267 CALL RKHLPK(HELIX,LG1,LG2,LV,L1,L2)
268 ELSE
269 HELI=IDINT(32D0*RKRAND(HELIX))+1
270 CALL RKHLPK(HELI,LG1,LG2,LV,L1,L2)
271 ENDIF
272
273* DETERMINE THE 'LEFT-' AND 'RIGHT-'HANDED COUPLINGS OF THE B TO THE Z
274 VPA=VB+LV*AB
275 VMA=VB-LV*AB
276* AND THE LEPTON HELICITY FACTOR
277 ZFACL=(VL-LV*AL)
278
279* FIRST PART OF THE RESULT: THE ABELIAN TERMS
280* COMPUTE THE NUMERATORS (ZN...) USING THE ZF FUNCTION
281* AND THE DENOMINATORS (ZD...) THE STANDARD WAY
282* THE INTERNAL FERMION MOMENTA ARE DIFFERENT IN EACH DIAGRAM
283* AND ARE DENOTED BY RR1 AND RR2
284* THE 4TH COMPONENT LABELS ARE NONTRIVIAL HERE: HAVING ALREADY
285* P1(4)=1 AND P2(4)=2 WE ALSO DEFINE
286* (P1-K1)(4)=3,
287* (P1-K1-K2)(4)=(P1-K2-K1)(4)=4
288* (P1-K2)(4)=5
289* (P1-K1+QV)(4)=6
290* (P1-K2+QV)(5)=7
291* (P1+QV)(4)=8
292* SO THAT IN THE VARIOUS DIAGRAMS WE HAVE
293* IN ZN12V: RR1(4)=3, RR2(4)=4
294* IN ZN21V: RR1(4)=5, RR2(4)=4
295* IN ZN1V2: RR1(4)=3, RR2(4)=6
296* IN ZN2V1: RR1(4)=5, RR2(4)=7
297* IN ZNV12: RR1(4)=8, RR2(4)=6
298* IN ZNV21: RR1(4)=8, RR2(4)=7
299
300 DO 260 K=0,3
301 RR1(K)=P1(K)-K1(K)
302 RR2(K)=RR1(K)-K2(K)
303 260 CONTINUE
304 RR1(4)=3D0
305 RR2(4)=4D0
306 ZD12V=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
307 ZN12V =
308 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZF(LG1,K1,RR1,RMB,LG2,R2)
309 . *RKZF(LG2,K2,RR2,RMB,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
310 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZF(LG1,K1,RR1,RMB,LG2,R2)
311 . *RKZF(LG2,K2,RR2,RMB,-LV,LEP1) *RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
312 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZF(LG1,K1,RR1,RMB,-LG2,K2)
313 . *RKZF(-LG2,R2,RR2,RMB,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
314 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZF(LG1,K1,RR1,RMB,-LG2,K2)
315 . *RKZF(-LG2,R2,RR2,RMB,-LV,LEP1)*RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
316 . + RKZF(L1,Q1,P1,RMB,-LG1,K1) *RKZF(-LG1,R1,RR1,RMB,LG2,R2)
317 . *RKZF(LG2,K2,RR2,RMB,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
318 . + RKZF(L1,Q1,P1,RMB,-LG1,K1) *RKZF(-LG1,R1,RR1,RMB,LG2,R2)
319 . *RKZF(LG2,K2,RR2,RMB,-LV,LEP1) *RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
320 . + RKZF(L1,Q1,P1,RMB,-LG1,K1) *RKZF(-LG1,R1,RR1,RMB,-LG2,K2)
321 . *RKZF(-LG2,R2,RR2,RMB,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
322 . + RKZF(L1,Q1,P1,RMB,-LG1,K1) *RKZF(-LG1,R1,RR1,RMB,-LG2,K2)
323 . *RKZF(-LG2,R2,RR2,RMB,-LV,LEP1)*RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
324
325 DO 270 K=0,3
326 RR1(K)=P1(K)-K2(K)
327 RR2(K)=RR1(K)-K1(K)
328 270 CONTINUE
329 RR1(4)=5D0
330 RR2(4)=4D0
331 ZD21V=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
332 ZN21V =
333 . RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZF(LG2,K2,RR1,RMB,LG1,R1)
334 . *RKZF(LG1,K1,RR2,RMB,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
335 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZF(LG2,K2,RR1,RMB,LG1,R1)
336 . *RKZF(LG1,K1,RR2,RMB,-LV,LEP1) *RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
337 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZF(LG2,K2,RR1,RMB,-LG1,K1)
338 . *RKZF(-LG1,R1,RR2,RMB,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
339 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZF(LG2,K2,RR1,RMB,-LG1,K1)
340 . *RKZF(-LG1,R1,RR2,RMB,-LV,LEP1)*RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
341 . + RKZF(L1,Q1,P1,RMB,-LG2,K2) *RKZF(-LG2,R2,RR1,RMB,LG1,R1)
342 . *RKZF(LG1,K1,RR2,RMB,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
343 . + RKZF(L1,Q1,P1,RMB,-LG2,K2) *RKZF(-LG2,R2,RR1,RMB,LG1,R1)
344 . *RKZF(LG1,K1,RR2,RMB,-LV,LEP1) *RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
345 . + RKZF(L1,Q1,P1,RMB,-LG2,K2) *RKZF(-LG2,R2,RR1,RMB,-LG1,K1)
346 . *RKZF(-LG1,R1,RR2,RMB,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
347 . + RKZF(L1,Q1,P1,RMB,-LG2,K2) *RKZF(-LG2,R2,RR1,RMB,-LG1,K1)
348 . *RKZF(-LG1,R1,RR2,RMB,-LV,LEP1)*RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
349
350 DO 280 K=0,3
351 RR1(K)=P1(K)-K1(K)
352 RR2(K)=RR1(K)+QV(K)
353 280 CONTINUE
354 RR1(4)=3D0
355 RR2(4)=6D0
356 ZD1V2=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
357 ZN1V2 =
358 . RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZF(LG1,K1,RR1,RMB,LV,LEP2)
359 . *RKZF(LV,LEP1,RR2,RMB,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VPA
360 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZF(LG1,K1,RR1,RMB,LV,LEP2)
361 . *RKZF(LV,LEP1,RR2,RMB,-LG2,K2) *RKZF(-LG2,R2,P2,RMB,L2,Q2)*VPA
362 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZF(LG1,K1,RR1,RMB,-LV,LEP1)
363 . *RKZF(-LV,LEP2,RR2,RMB,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VMA
364 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZF(LG1,K1,RR1,RMB,-LV,LEP1)
365 . *RKZF(-LV,LEP2,RR2,RMB,-LG2,K2)*RKZF(-LG2,R2,P2,RMB,L2,Q2)*VMA
366 . + RKZF(L1,Q1,P1,RMB,-LG1,K1) *RKZF(-LG1,R1,RR1,RMB,LV,LEP2)
367 . *RKZF(LV,LEP1,RR2,RMB,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VPA
368 . + RKZF(L1,Q1,P1,RMB,-LG1,K1) *RKZF(-LG1,R1,RR1,RMB,LV,LEP2)
369 . *RKZF(LV,LEP1,RR2,RMB,-LG2,K2) *RKZF(-LG2,R2,P2,RMB,L2,Q2)*VPA
370 . + RKZF(L1,Q1,P1,RMB,-LG1,K1) *RKZF(-LG1,R1,RR1,RMB,-LV,LEP1)
371 . *RKZF(-LV,LEP2,RR2,RMB,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VMA
372 . + RKZF(L1,Q1,P1,RMB,-LG1,K1) *RKZF(-LG1,R1,RR1,RMB,-LV,LEP1)
373 . *RKZF(-LV,LEP2,RR2,RMB,-LG2,K2)*RKZF(-LG2,R2,P2,RMB,L2,Q2)*VMA
374
375 DO 290 K=0,3
376 RR1(K)=P1(K)-K2(K)
377 RR2(K)=RR1(K)+QV(K)
378 290 CONTINUE
379 RR1(4)=5D0
380 RR2(4)=7D0
381 ZD2V1=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
382 ZN2V1 =
383 . RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZF(LG2,K2,RR1,RMB,LV,LEP2)
384 . *RKZF(LV,LEP1,RR2,RMB,LG1,R1) *RKZF(LG1,K1,P2,RMB,L2,Q2)*VPA
385 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZF(LG2,K2,RR1,RMB,LV,LEP2)
386 . *RKZF(LV,LEP1,RR2,RMB,-LG1,K1) *RKZF(-LG1,R1,P2,RMB,L2,Q2)*VPA
387 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZF(LG2,K2,RR1,RMB,-LV,LEP1)
388 . *RKZF(-LV,LEP2,RR2,RMB,LG1,R1) *RKZF(LG1,K1,P2,RMB,L2,Q2)*VMA
389 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZF(LG2,K2,RR1,RMB,-LV,LEP1)
390 . *RKZF(-LV,LEP2,RR2,RMB,-LG1,K1)*RKZF(-LG1,R1,P2,RMB,L2,Q2)*VMA
391 . + RKZF(L1,Q1,P1,RMB,-LG2,K2) *RKZF(-LG2,R2,RR1,RMB,LV,LEP2)
392 . *RKZF(LV,LEP1,RR2,RMB,LG1,R1) *RKZF(LG1,K1,P2,RMB,L2,Q2)*VPA
393 . + RKZF(L1,Q1,P1,RMB,-LG2,K2) *RKZF(-LG2,R2,RR1,RMB,LV,LEP2)
394 . *RKZF(LV,LEP1,RR2,RMB,-LG1,K1) *RKZF(-LG1,R1,P2,RMB,L2,Q2)*VPA
395 . + RKZF(L1,Q1,P1,RMB,-LG2,K2) *RKZF(-LG2,R2,RR1,RMB,-LV,LEP1)
396 . *RKZF(-LV,LEP2,RR2,RMB,LG1,R1) *RKZF(LG1,K1,P2,RMB,L2,Q2)*VMA
397 . + RKZF(L1,Q1,P1,RMB,-LG2,K2) *RKZF(-LG2,R2,RR1,RMB,-LV,LEP1)
398 . *RKZF(-LV,LEP2,RR2,RMB,-LG1,K1)*RKZF(-LG1,R1,P2,RMB,L2,Q2)*VMA
399
400 DO 300 K=0,3
401 RR1(K)=P1(K)+QV(K)
402 RR2(K)=RR1(K)-K1(K)
403 300 CONTINUE
404 RR1(4)=8D0
405 RR2(4)=6D0
406 ZDV12=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
407 ZNV12 =
408 . RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZF(LV,LEP1,RR1,RMB,LG1,R1)
409 . *RKZF(LG1,K1,RR2,RMB,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VPA
410 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZF(LV,LEP1,RR1,RMB,LG1,R1)
411 . *RKZF(LG1,K1,RR2,RMB,-LG2,K2) *RKZF(-LG2,R2,P2,RMB,L2,Q2)*VPA
412 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZF(LV,LEP1,RR1,RMB,-LG1,K1)
413 . *RKZF(-LG1,R1,RR2,RMB,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VPA
414 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZF(LV,LEP1,RR1,RMB,-LG1,K1)
415 . *RKZF(-LG1,R1,RR2,RMB,-LG2,K2)*RKZF(-LG2,R2,P2,RMB,L2,Q2)*VPA
416 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1) *RKZF(-LV,LEP2,RR1,RMB,LG1,R1)
417 . *RKZF(LG1,K1,RR2,RMB,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VMA
418 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1) *RKZF(-LV,LEP2,RR1,RMB,LG1,R1)
419 . *RKZF(LG1,K1,RR2,RMB,-LG2,K2) *RKZF(-LG2,R2,P2,RMB,L2,Q2)*VMA
420 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1) *RKZF(-LV,LEP2,RR1,RMB,-LG1,K1)
421 . *RKZF(-LG1,R1,RR2,RMB,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VMA
422 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1) *RKZF(-LV,LEP2,RR1,RMB,-LG1,K1)
423 . *RKZF(-LG1,R1,RR2,RMB,-LG2,K2)*RKZF(-LG2,R2,P2,RMB,L2,Q2)*VMA
424
425 DO 310 K=0,3
426 RR1(K)=P1(K)+QV(K)
427 RR2(K)=RR1(K)-K2(K)
428 310 CONTINUE
429 RR1(4)=8D0
430 RR2(4)=7D0
431 ZDV21=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
432 ZNV21 =
433 . RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZF(LV,LEP1,RR1,RMB,LG2,R2)
434 . *RKZF(LG2,K2,RR2,RMB,LG1,R1) *RKZF(LG1,K1,P2,RMB,L2,Q2)*VPA
435 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZF(LV,LEP1,RR1,RMB,LG2,R2)
436 . *RKZF(LG2,K2,RR2,RMB,-LG1,K1) *RKZF(-LG1,R1,P2,RMB,L2,Q2)*VPA
437 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZF(LV,LEP1,RR1,RMB,-LG2,K2)
438 . *RKZF(-LG2,R2,RR2,RMB,LG1,R1) *RKZF(LG1,K1,P2,RMB,L2,Q2)*VPA
439 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZF(LV,LEP1,RR1,RMB,-LG2,K2)
440 . *RKZF(-LG2,R2,RR2,RMB,-LG1,K1)*RKZF(-LG1,R1,P2,RMB,L2,Q2)*VPA
441 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1) *RKZF(-LV,LEP2,RR1,RMB,LG2,R2)
442 . *RKZF(LG2,K2,RR2,RMB,LG1,R1) *RKZF(LG1,K1,P2,RMB,L2,Q2)*VMA
443 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1) *RKZF(-LV,LEP2,RR1,RMB,LG2,R2)
444 . *RKZF(LG2,K2,RR2,RMB,-LG1,K1) *RKZF(-LG1,R1,P2,RMB,L2,Q2)*VMA
445 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1) *RKZF(-LV,LEP2,RR1,RMB,-LG2,K2)
446 . *RKZF(-LG2,R2,RR2,RMB,LG1,R1) *RKZF(LG1,K1,P2,RMB,L2,Q2)*VMA
447 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1) *RKZF(-LV,LEP2,RR1,RMB,-LG2,K2)
448 . *RKZF(-LG2,R2,RR2,RMB,-LG1,K1)*RKZF(-LG1,R1,P2,RMB,L2,Q2)*VMA
449
450* COMPUTE THE DIAGRAMS SO FAR
451 ZDIA1=ZN12V/ZD12V
452 ZDIA2=ZN21V/ZD21V
453 ZDIA3=ZN1V2/ZD1V2
454 ZDIA4=ZN2V1/ZD2V1
455 ZDIA5=ZNV12/ZDV12
456 ZDIA6=ZNV21/ZDV21
457
458* SECOND PART OF THE RESULT: THE NONABELIAN PART.
459* THIS IS MADE UP PARTLY FROM THE ABELIAN PART AND PARTLY FROM
460* NEW PIECES
461* THE ASSIGNMENT OF THE 4TH COMPONENT LABELS IS NOW UNNECESSARY
462* FOR RR1 SINCE IT DOES NOT OCCUR IN ANY ZF HERE
463
464 S=2D0*RKDOT(K1,K2)
465
466 DO 320 K=0,3
467 RR1(K)=PP2(K)+QV(K)
468 320 CONTINUE
469 ZD11=S*(RKDOT(RR1,RR1)-RMB**2)
470
471 ZC12V =
472 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZSF(LG1,K1,LG2,R2)
473 . *RKZSF(LG2,K2,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
474 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZSF(LG1,K1,LG2,R2)
475 . *RKZSF(LG2,K2,-LV,LEP1) *RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
476 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZSF(LG1,K1,-LG2,K2)
477 . *RKZSF(-LG2,R2,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
478 . + RKZF(L1,Q1,P1,RMB,LG1,R1) *RKZSF(LG1,K1,-LG2,K2)
479 . *RKZSF(-LG2,R2,-LV,LEP1)*RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
480 . + RKZF(L1,Q1,P1,RMB,-LG1,K1)*RKZSF(-LG1,R1,LG2,R2)
481 . *RKZSF(LG2,K2,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
482 . + RKZF(L1,Q1,P1,RMB,-LG1,K1)*RKZSF(-LG1,R1,LG2,R2)
483 . *RKZSF(LG2,K2,-LV,LEP1) *RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
484 . + RKZF(L1,Q1,P1,RMB,-LG1,K1)*RKZSF(-LG1,R1,-LG2,K2)
485 . *RKZSF(-LG2,R2,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
486 . + RKZF(L1,Q1,P1,RMB,-LG1,K1)*RKZSF(-LG1,R1,-LG2,K2)
487 . *RKZSF(-LG2,R2,-LV,LEP1)*RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
488
489 ZC21V =
490 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZSF(LG2,K2,LG1,R1)
491 . *RKZSF(LG1,K1,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
492 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZSF(LG2,K2,LG1,R1)
493 . *RKZSF(LG1,K1,-LV,LEP1) *RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
494 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZSF(LG2,K2,-LG1,K1)
495 . *RKZSF(-LG1,R1,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
496 . + RKZF(L1,Q1,P1,RMB,LG2,R2) *RKZSF(LG2,K2,-LG1,K1)
497 . *RKZSF(-LG1,R1,-LV,LEP1)*RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
498 . + RKZF(L1,Q1,P1,RMB,-LG2,K2)*RKZSF(-LG2,R2,LG1,R1)
499 . *RKZSF(LG1,K1,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
500 . + RKZF(L1,Q1,P1,RMB,-LG2,K2)*RKZSF(-LG2,R2,LG1,R1)
501 . *RKZSF(LG1,K1,-LV,LEP1) *RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
502 . + RKZF(L1,Q1,P1,RMB,-LG2,K2)*RKZSF(-LG2,R2,-LG1,K1)
503 . *RKZSF(-LG1,R1,LV,LEP2) *RKZF(LV,LEP1,P2,RMB,L2,Q2)*VPA
504 . + RKZF(L1,Q1,P1,RMB,-LG2,K2)*RKZSF(-LG2,R2,-LG1,K1)
505 . *RKZSF(-LG1,R1,-LV,LEP1)*RKZF(-LV,LEP2,P2,RMB,L2,Q2)*VMA
506 ZDIA7=(-ZN12V+ZN21V)/ZD11-(ZC12V-ZC21V)/(2D0*S)
507
508 DO 330 K=0,3
509 RR1(K)=P1(K)+QV(K)
510 330 CONTINUE
511 ZD22=S*(RKDOT(RR1,RR1)-RMB**2)
512
513 ZCV12 =
514 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZSF(LV,LEP1,LG1,R1)
515 . *RKZSF(LG1,K1,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VPA
516 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZSF(LV,LEP1,LG1,R1)
517 . *RKZSF(LG1,K1,-LG2,K2) *RKZF(-LG2,R2,P2,RMB,L2,Q2)*VPA
518 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZSF(LV,LEP1,-LG1,K1)
519 . *RKZSF(-LG1,R1,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VPA
520 . + RKZF(L1,Q1,P1,RMB,LV,LEP2) *RKZSF(LV,LEP1,-LG1,K1)
521 . *RKZSF(-LG1,R1,-LG2,K2) *RKZF(-LG2,R2,P2,RMB,L2,Q2)*VPA
522 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1)*RKZSF(-LV,LEP2,LG1,R1)
523 . *RKZSF(LG1,K1,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VMA
524 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1)*RKZSF(-LV,LEP2,LG1,R1)
525 . *RKZSF(LG1,K1,-LG2,K2) *RKZF(-LG2,R2,P2,RMB,L2,Q2)*VMA
526 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1)*RKZSF(-LV,LEP2,-LG1,K1)
527 . *RKZSF(-LG1,R1,LG2,R2) *RKZF(LG2,K2,P2,RMB,L2,Q2)*VMA
528 . + RKZF(L1,Q1,P1,RMB,-LV,LEP1)*RKZSF(-LV,LEP2,-LG1,K1)
529 . *RKZSF(-LG1,R1,-LG2,K2) *RKZF(-LG2,R2,P2,RMB,L2,Q2)*VMA
530
531* THE FOURTH COMBINATION CAN BE GOTTEN FROM
532* THE FIRST THREE USING DIRAC ALGEBRA:
533* EPS1*EPS2*EPVS+EPS2*EPS1*EPSV = 2(EPS1.EPS2)*EPSV ETC.
534 ZCV21=ZC12V+ZC21V-ZCV12
535
536 ZDIA8=(-ZNV12+ZNV21)/ZD22-(ZCV12-ZCV21)/(2D0*S)
537
538* CONSTRUCT THE ABELIAN AND NONABELIAN PART
539
540 ZABEL= ZDIA1+ZDIA2+ZDIA3+ZDIA4+ZDIA5+ZDIA6
541 ZNABEL=ZDIA1-ZDIA2+ZDIA3-ZDIA4+ZDIA5-ZDIA6
542 ZNABEM=2D0*ZDIA7+2D0*ZDIA8
543 ZNABEL=ZNABEL-ZNABEM
544 ZABEL=ZABEL*ZFAC*ZFACL
545 ZNABEL=ZNABEL*ZFAC*ZFACL
546
547* INCLUDE COLOUR FACTORS:
548* (N**2-1)*(N**2-2)/(8*N) = 7/3 FOR THE ABELIAN PART
549* N*(N**2-1)/8 = 3 FOR THE NONABELIAN PART
550* AND ADD THE RESULT TO THE CROSS SECTION
551 THIS1=7D0/3D0*ABS(ZABEL)**2+3D0*ABS(ZNABEL)**2
552CC WRITE(6,801)HELIX,LG1,LG2,LV,L1,L2,THIS1
553CC801 FORMAT(' ',6I4,D30.20)
554 CROSS=CROSS+THIS1
555
556* END OF THE BIG LOOP OVER HELICITIES
557 340 CONTINUE
558
559* DO NOT FORGET TO PUT P2 BACK TO ITS ORIGINAL VALUE IN PP2!
560 DO 350 K=0,3
561 P2(K)=PP2(K)
562 350 CONTINUE
563
564* ADD AVERAGING FACTORS:
565* 1/2 FOR EACH GLUON SPIN, 1/8 FOR EACH GLUON COLOUR
566 CROSS=CROSS/256D0
567
568* TAKE INTO ACCOUNT A POSSIBLE FACTOR FOR THE HELICITY SUM OPTION
569* AND RETURN THE FINAL RESULT
570 IF(IMC.EQ.1) CROSS=CROSS*MULT
571 RESULT=CROSS
572 END