2 C*********************************************************************
4 SUBROUTINE RKBBV(AK1,AK2,AP1,AP2,ALEP1,ALEP2,IMC,RESULT)
6 C...The following routines have been written by Ronald Kleiss,
7 C...to evaluate the matrix element for g + g -> Z + q + qbar,
8 C...with massive quarks (e.g. q = b).
9 C...They have been modified, so that all routines and commonblocks
10 C...have names beginning with RK, and so that some unnecessary
11 C...initialization information is not printed. Further, COMPLEX*16
12 C...has been changed to COMPLEX and REAL*8 to DOUBLE PRECISION
13 C...(in a few cases to REAL), so as to make the program better
16 * THE CROSS SECTION FOR
17 * G(K1) + G(K2) ---> Z(QV) + B(P1) + B_BAR(P2)
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
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),
30 REAL RMQ,RMV,RGV,GSTR,VB,AB,VL,AL
32 INTEGER J1,J2,J3,J4,J5
33 INTEGER K,IMC,KLOW,KUPP,NMC,OLDIMC
34 DOUBLE PRECISION RKRAND,RKDOT,MULT,RMB
35 C 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
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
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)
59 C PARAMETER(CHKGL1=0,CHKGL2=0)
62 COMMON/RKZSCO/ANSS,DONS
63 COMMON/RKZFCO/ANSF,DONF
64 COMMON/RKBBVC/RMQ,RMV,RGV,VB,AB,VL,AL
67 * CHECK ON EITHER FIRST CALL OR CHANGE IN IMC
68 IF(INIT.EQ.0.OR.IMC.NE.OLDIMC) THEN
71 * REPRODUCE INPUT DATA
72 C WRITE(6,*) ' ----------------------------------------'
73 C WRITE(6,*) ' BBV: G G ---> B B_BAR Z, Z ---> L L_BAR'
74 C WRITE(6,*) ' B QUARK MASS = ',RMB,' GEV'
75 C WRITE(6,*) ' BOSON MASS = ',RMV,' GEV'
76 C WRITE(6,*) ' BOSON WIDTH = ',RGV,' GEV'
77 C WRITE(6,*) ' B VECTOR C. = ',VB
78 C WRITE(6,*) ' B AXIAL C. = ',AB
79 C WRITE(6,*) ' LEPTON VECTOR C. = ',VL
80 C WRITE(6,*) ' LEPTON AXIAL C. = ',AL
82 * ADJUST STRONG COUPLING SO AS TO GIVE EFFECTIVELY ALPHA_S=1
83 GSTR=4D0*DSQRT(DATAN(1D0))
84 C WRITE(6,*) ' QCD COUPLING = ',GSTR
85 * SEE WETHER GAUGE CHECKS ARE REQUIRED
86 C IF(CHKGL1.EQ.1) THEN
87 C WRITE(6,*) ' GAUGE CHECK ON GLUON 1'
89 C IF(CHKGL2.EQ.1) THEN
90 C WRITE(6,*) ' GAUGE CHECK ON GLUON 2'
92 * SEE WETHER HELICITY MONTE CARLO IS REQUIRED
97 WRITE(6,*) ' SUM OVER HELICITIES SELECTED'
102 C WRITE(6,*) ' MONTE CARLO OVER HELICITES SELECTED'
103 C WRITE(6,*) ' WITH ',NMC,' HELICITY TRIALS'
104 C WRITE(6,*) ' RESULT THEN MULTIPLIED BY ',MULT
106 WRITE(6,*) ' ERROR: WRONG OPTION IMC=',IMC
108 C WRITE(6,*) ' THE RESULT IS BASED ON ALPHA_S=1,',
109 C . ' MUST BE MULTIPLIED BY ALPHA_S**2'
110 C WRITE(6,*) ' ----------------------------------------'
111 C WRITE(6,800)'NO.','LG1','LG2','LV','L1','L2','AMP**2'
112 C 800 FORMAT(' ',6A4,A10)
115 * INITIALIZE THE ARRAYS ANSS,DONS
120 ANSS(J1,J2,J3,J4)=(0.,0.)
127 * INITIALIZE THE ARRAYS ANSF,DONF
133 ANSF(J1,J2,J3,J4,J5)=(0.,0.)
134 DONF(J1,J2,J3,J4,J5)=0
141 * EQUATE THE (0:4) INTERNAL MOMENTA TO THE (0:3) ARGUMENTS MOMENTA
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
160 * THE OTHER MOMENTA P1,P2 AND THE VARIOUS RR1,RR2 CAN OCCUR ONLY
161 * AS ARGUMENT NO.3 IN ZF
165 * THE TOTAL BOSON MOMENTUM
166 * NO NEED TO ASSIGN 4TH COMPONENT LABEL SINCE IT IS NOT USED
168 QV(K)=LEP1(K)+LEP2(K)
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
177 * AUXILIARY VECTOR FOR GLUON 1
178 * NEED TO ASSIGN ALSO 4TH COMPONENT LABELS HERE!
179 C IF(CHKGL1.EQ.1) THEN
189 * AUXILIARY VECTOR FOR GLUON 2
190 C IF(CHKGL2.EQ.1) THEN
200 * AUXILIARY VECTOR FOR THE B QUARK
205 * AUXILIARY VECTOR FOR THE B_BAR QUARK
210 * INITIALIZE THE CROSS SECTION TO ZERO
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!
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'
230 * OVERALL FACTOR FOR THE BOSON CURRENT, WITH BREIT-WIGNER
231 ZFACV=2./CMPLX(SNGL(RKDOT(QV,QV))-RMV**2,RMV*RGV)
233 * OVERALL FACTOR FOR GLUON 1
234 C IF(CHKGL1.EQ.1) THEN
237 * ORIGINAL FORM: ZFAC1=2D0*LG1/(DSQRT(2D0)*RKZPR(-LG1,K1,R1))
238 ZFAC1=DSQRT(2D0)/RKZSF(1,K1,-1,R1)
241 * OVERALL FACTOR FOR GLUON 2
242 C IF(CHKGL2.EQ.1) THEN
245 * ORIGINAL FORM: ZFAC2=2D0*LG2/(DSQRT(2D0)*RKZPR(-LG2,K2,R2))
246 ZFAC2=DSQRT(2D0)/RKZSF(1,K2,-1,R2)
249 * OVERALL FACTOR FOR QCD COUPLINGS
252 * OVERALL FACTOR FOR THE B QUARK
253 ZFACB=1/DSQRT(2D0*RKDOT(P1,Q1))
255 * OVERALL FACTOR FOR THE B_BAR QUARK
256 ZFACBB=1D0/DSQRT(2D0*RKDOT(PP2,Q2))
258 * FINAL OVERALL FACTOR
259 ZFAC=ZFACV*ZFAC1*ZFAC2*ZFACS*ZFACB*ZFACBB
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
265 DO 340 HELIX=KLOW,KUPP
267 CALL RKHLPK(HELIX,LG1,LG2,LV,L1,L2)
269 HELI=IDINT(32D0*RKRAND(HELIX))+1
270 CALL RKHLPK(HELI,LG1,LG2,LV,L1,L2)
273 * DETERMINE THE 'LEFT-' AND 'RIGHT-'HANDED COUPLINGS OF THE B TO THE Z
276 * AND THE LEPTON HELICITY FACTOR
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
287 * (P1-K1-K2)(4)=(P1-K2-K1)(4)=4
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
306 ZD12V=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
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
331 ZD21V=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
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
356 ZD1V2=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
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
381 ZD2V1=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
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
406 ZDV12=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
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
431 ZDV21=(RKDOT(RR1,RR1)-RMB**2)*(RKDOT(RR2,RR2)-RMB**2)
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
450 * COMPUTE THE DIAGRAMS SO FAR
458 * SECOND PART OF THE RESULT: THE NONABELIAN PART.
459 * THIS IS MADE UP PARTLY FROM THE ABELIAN PART AND PARTLY FROM
461 * THE ASSIGNMENT OF THE 4TH COMPONENT LABELS IS NOW UNNECESSARY
462 * FOR RR1 SINCE IT DOES NOT OCCUR IN ANY ZF HERE
469 ZD11=S*(RKDOT(RR1,RR1)-RMB**2)
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
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)
511 ZD22=S*(RKDOT(RR1,RR1)-RMB**2)
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
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
536 ZDIA8=(-ZNV12+ZNV21)/ZD22-(ZCV12-ZCV21)/(2D0*S)
538 * CONSTRUCT THE ABELIAN AND NONABELIAN PART
540 ZABEL= ZDIA1+ZDIA2+ZDIA3+ZDIA4+ZDIA5+ZDIA6
541 ZNABEL=ZDIA1-ZDIA2+ZDIA3-ZDIA4+ZDIA5-ZDIA6
542 ZNABEM=2D0*ZDIA7+2D0*ZDIA8
544 ZABEL=ZABEL*ZFAC*ZFACL
545 ZNABEL=ZNABEL*ZFAC*ZFACL
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
552 CC WRITE(6,801)HELIX,LG1,LG2,LV,L1,L2,THIS1
553 CC801 FORMAT(' ',6I4,D30.20)
556 * END OF THE BIG LOOP OVER HELICITIES
559 * DO NOT FORGET TO PUT P2 BACK TO ITS ORIGINAL VALUE IN PP2!
564 * ADD AVERAGING FACTORS:
565 * 1/2 FOR EACH GLUON SPIN, 1/8 FOR EACH GLUON COLOUR
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