1 #include "isajet/pilot.h"
4 C Calculate D(SIGMA)/D(PT**2)D(Y1)D(Y2) for QK+QB-->W+W
5 C summed over W types allowed on JETTYPE cards and
6 C including branching ratio implied by WMODE cards.
8 C SIGMA = cross section summed over quark types allowed by
10 C SIGS(I) = partial cross section for I1 + I2 --> I3 + I4.
11 C INOUT(I) = IOPAK**3*I4 + IOPAK**2*I3 + IOPAK*I2 + I1
14 C Cross sections from Brown and Mikaelian,
15 C Phys Rev D19, 922, D20, 1164.
16 C Include extra factor of 1/2 for double counting.
18 C Double precision needed for 32-bit machines.
20 C Ver. 6.22: Modified to used W + GM decay distributions from
21 C Cortes, Hagiwara, and Herzog, NP B278, 26 (1986)
23 #if defined(CERNLIB_IMPNONE)
26 #include "isajet/itapes.inc"
27 #include "isajet/qcdpar.inc"
28 #include "isajet/jetpar.inc"
29 #include "isajet/primar.inc"
30 #include "isajet/q1q2.inc"
31 #include "isajet/jetsig.inc"
32 #include "isajet/const.inc"
33 #include "isajet/qsave.inc"
34 #include "isajet/wcon.inc"
35 #include "isajet/wwpar.inc"
37 DIMENSION X(2),LISTW(4),QSGN(6)
39 EQUIVALENCE (S,SWW),(T,TWW),(U,UWW)
40 #if defined(CERNLIB_SINGLE)
41 REAL S,T,U,TX,UX,TT,UU
42 $,WWA,WWI,WWE,WZA,WZI,WZE,TERM
45 #if defined(CERNLIB_DOUBLE)
46 DOUBLE PRECISION S,T,U,TX,UX,TT,UU
47 $,WWA,WWI,WWE,WZA,WZI,WZE,TERM
50 REAL WM2S,ZM2S,X,STRUC,FJAC,SGN,QSGN,SIG,FACTOR,EQ3(12)
51 INTEGER I,IH,IQ,IW1,IW2,JW,JZ,IW,IQ1,IQ2,JG,LISTW,IFOUR
55 DATA LISTW/10,80,-80,90/
56 DATA QSGN/1.,-1.,-1.,1.,-1.,1./
57 DATA EQ3/2.,-1.,-1.,2.,-1.,2.,0.,-3.,0.,-3.,0.,-3./
60 WWA(S,T,U)=(U*T/WM2**2-1.)*(.25-WM2/S+3.*(WM2/S)**2)+S/WM2-4.
61 WWI(S,T,U)=(U*T/WM2**2-1.)*(.25-.5*WM2/S-WM2**2/(S*T))
63 WWE(S,T,U)=(U*T/WM2**2-1.)*(.25+(WM2/T)**2)+S/WM2
65 WZA(S,T,U)=(U*T/(WM2*ZM2)-1.)*(.25-(WM2+ZM2)/(2.*S)
66 $+((WM2+ZM2)**2+8.*WM2*ZM2)/(4.*S**2))
67 $+(WM2+ZM2)/(WM2*ZM2)*(.5*S-WM2-ZM2+(WM2-ZM2)**2/(2.*S))
68 WZI(S,T,U)=.25*(U*T/(WM2*ZM2)-1.)*(1.-(WM2+ZM2)/S
70 $+(WM2+ZM2)/(2.*WM2*ZM2)*(S-WM2-ZM2+2.*WM2*ZM2/T)
71 WZE(S,T,U)=.25*(U*T/(WM2*ZM2)-1.)+.5*S*(WM2+ZM2)/(WM2*ZM2)
79 C Convention is that even for double precision single
80 C precision mass is exact.
85 C Also need single precision mass**2.
91 IF(.NOT.((GOQ(2,1).AND.GOQ(3,2)).OR.(GOQ(3,1).AND.GOQ(2,2))))
93 CALL WWKIN(WMASS(2),WMASS(2))
94 IF(X1.GE.1..OR.X2.GE.1.) GO TO 200
97 110 QSAVE(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
99 FJAC=FJAC*PI*ALFA**2/(3.*S**2)
100 FJAC=FJAC*P(1)*P(2)/SQRT((P(1)**2+WM2S)*(P(2)**2+WM2S))
102 C Sum over jet1 = W+ and jet2 = W+.
103 C Swap t and u in latter case.
106 IF(.NOT.(GOQ(IW1,1).AND.GOQ(IW2,2))) GO TO 120
107 IF(IW1.EQ.3) GO TO 121
114 C Sum over quarks, swapping t and u for negative charge.
116 GA=2.*(AQDP(IQ,1)+EZDP*AQDP(IQ,4)*S/(S-ZM2))**2
117 $+2.*(EZDP*BQDP(IQ,4)*S/(S-ZM2))**2
118 GI=8.*(AQDP(IQ,1)+EZDP*(AQDP(IQ,4)+BQDP(IQ,4))*S/(S-ZM2))
120 GE=16.*(AQDP(IQ,2))**4
122 IF(SGN.LT.0.) GO TO 131
128 132 SIG=QSAVE(2*IQ,1)*QSAVE(2*IQ+1,2)*FJAC*TBRWW(IW1,1)*TBRWW(IW2,2)
129 $*(GA*WWA(S,TT,UU)-SGN*GI*WWI(S,TT,UU)+GE*WWE(S,TT,UU))
130 CALL SIGFIL(SIG,2*IQ,2*IQ+1,IW1,IW2)
131 SIG=QSAVE(2*IQ+1,1)*QSAVE(2*IQ,2)*FJAC*TBRWW(IW1,1)*TBRWW(IW2,2)
132 $*(GA*WWA(S,UU,TT)-SGN*GI*WWI(S,UU,TT)+GE*WWE(S,UU,TT))
133 CALL SIGFIL(SIG,2*IQ+1,2*IQ,IW1,IW2)
139 200 IF(.NOT.(GOQ(4,1).AND.GOQ(4,2))) GO TO 300
140 CALL WWKIN(WMASS(4),WMASS(4))
141 IF(X1.GE.1..OR.X2.GE.1.) RETURN
144 210 QSAVE(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
145 C Jacobean -- including factor of 1/2 for identical particles.
147 FJAC=FJAC*PI*ALFA**2/(3.*S**2)
148 FJAC=FJAC*P(1)*P(2)/SQRT((P(1)**2+ZM2S)*(P(2)**2+ZM2S))
150 GZ=2.*(AQDP(IQ,4)**4+BQDP(IQ,4)**4
151 $+6.*AQDP(IQ,4)**2*BQDP(IQ,4)**2)
152 FACTOR=(T/U+U/T+4.*ZM2*S/(T*U)-ZM2**2*(1./T**2+1./U**2))
153 FACTOR=FACTOR*FJAC*GZ*TBRWW(4,1)*TBRWW(4,2)
154 SIG=FACTOR*QSAVE(2*IQ,1)*QSAVE(2*IQ+1,2)
155 CALL SIGFIL(SIG,2*IQ,2*IQ+1,4,4)
156 SIG=FACTOR*QSAVE(2*IQ+1,1)*QSAVE(2*IQ,2)
157 CALL SIGFIL(SIG,2*IQ+1,2*IQ,4,4)
162 C JW and JZ are W+- and Z0 jet numbers.
165 IF(.NOT.((GOQ(2,JW).OR.GOQ(3,JW)).AND.GOQ(4,JZ))) GO TO 310
167 C Must swap t and u if JW=2.
169 CALL WWKIN(WMASS(2),WMASS(4))
173 FJAC=FJAC*PI*ALFA**2/(3.*S**2)
175 FJAC=FJAC*P(1)*P(2)/SQRT((P(1)**2+WM2S)*(P(2)**2+ZM2S))
177 CALL WWKIN(WMASS(4),WMASS(2))
181 FJAC=FJAC*PI*ALFA**2/(3.*S**2)
183 FJAC=FJAC*P(1)*P(2)/SQRT((P(1)**2+ZM2S)*(P(2)**2+WM2S))
185 IF(X1.GE.1..OR.X2.GE.1.) GO TO 310
188 320 QSAVE(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
198 C Sum over quarks, swapping t and u as needed.
201 IF(IQ2.EQ.0) GO TO 350
208 IF((LQK1.AND.IW.EQ.3).OR.(.NOT.LQK1.AND.IW.EQ.2)) THEN
220 GA=AQDP(IQ,IW)*EZDP*S/(S-WM2)
221 GI=AQDP(IQ,IW)*(AQDP(IFLI,4)+BQDP(IFLI,4))
222 GJ=AQDP(IQ,IW)*(AQDP(IFLJ,4)+BQDP(IFLJ,4))
223 TERM=GA**2*WZA(S,TT,UU)
224 TERM=TERM+2.*GA*SGN*(-GJ*WZI(S,TT,UU)+GI*WZI(S,UU,TT))
225 TERM=TERM+(GI-GJ)**2*WZE(S,TT,UU)
226 TERM=TERM+GI**2*(UU*TT-WM2*ZM2)/UU**2
227 $ +2.*GI*GJ*S*(WM2+ZM2)/(TT*UU)+GJ**2*(UU*TT-WM2*ZM2)/TT**2
228 TERM=TERM*4.*FJAC*QSAVE(IQ1,1)*QSAVE(IQ2,2)
229 TERM=TERM*TBRWW(IW,JW)*TBRWW(4,JZ)
232 CALL SIGFIL(SIG,IQ1,IQ2,IW,4)
234 CALL SIGFIL(SIG,IQ1,IQ2,4,IW)
244 IF(.NOT.((GOQ(2,JW).OR.GOQ(3,JW)).AND.GOQ(1,JG))) GO TO 410
246 C Must swap t and u if JW=2.
248 CALL WWKIN(WMASS(2),0.)
252 FJAC=FJAC*PI*ALFA**2/S**2
254 FJAC=FJAC*P(1)/SQRT(P(1)**2+WM2S)
256 CALL WWKIN(0.,WMASS(2))
260 FJAC=FJAC*PI*ALFA**2/S**2
262 FJAC=FJAC*P(2)/SQRT(P(2)**2+WM2S)
265 IF(X1.GE.1..OR.X2.GE.1.) GO TO 410
268 420 QSAVE(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
273 C Sum over quarks, swapping t and u as needed.
276 IF(IQ2.EQ.0) GO TO 450
283 IF((LQK1.AND.IW.EQ.3).OR.(.NOT.LQK1.AND.IW.EQ.2)) THEN
291 SIG=TBRWW(IW,JW)/(6.*SIN2W)*(-1./3.+UU/(TT+UU))**2
292 $ *(UU**2+TT**2+2.*S*WM2)/(TT*UU)
293 SIG=SIG*FJAC*QSAVE(IQ1,1)*QSAVE(IQ2,2)
294 IF(JW.EQ.1) CALL SIGFIL(SIG,IQ1,IQ2,IW,1)
295 IF(JW.EQ.2) CALL SIGFIL(SIG,IQ1,IQ2,1,IW)
302 IF (GOQ(4,1).AND.GOQ(1,2)) THEN
303 CALL WWKIN(WMASS(4),0.)
304 IF(X1.GE.1..OR.X2.GE.1.) GO TO 500
307 510 QSAVE(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
308 FJAC=S/SCM*P(1)/SQRT(P(1)**2+ZM2S)*UNITS
309 FJAC=FJAC*PI*ALFA**2/(3.*S**2)
311 GZ=AQDP(IQ,4)**2+(AQDP(IQ,4)-BQDP(IQ,4))**2
312 FACTOR=(S**2+ZM2**2)/2./T/U+1.
313 FACTOR=(EQ3(IQ)/3.)**2*FACTOR*FJAC*GZ*TBRWW(4,1)
314 SIG=FACTOR*QSAVE(2*IQ,1)*QSAVE(2*IQ+1,2)
315 CALL SIGFIL(SIG,2*IQ,2*IQ+1,4,1)
316 SIG=FACTOR*QSAVE(2*IQ+1,1)*QSAVE(2*IQ,2)
317 CALL SIGFIL(SIG,2*IQ+1,2*IQ,4,1)
322 IF (GOQ(1,1).AND.GOQ(4,2)) THEN
323 CALL WWKIN(0.,WMASS(4))
324 IF(X1.GE.1..OR.X2.GE.1.) GO TO 600
327 610 QSAVE(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
328 FJAC=S/SCM*P(2)/SQRT(P(2)**2+ZM2S)*UNITS
329 FJAC=FJAC*PI*ALFA**2/(3.*S**2)
331 GZ=AQDP(IQ,4)**2+(AQDP(IQ,4)-BQDP(IQ,4))**2
332 FACTOR=(S**2+ZM2**2)/2./T/U+1.
333 FACTOR=(EQ3(IQ)/3.)**2*FACTOR*FJAC*GZ*TBRWW(4,2)
334 SIG=FACTOR*QSAVE(2*IQ,1)*QSAVE(2*IQ+1,2)
335 CALL SIGFIL(SIG,2*IQ,2*IQ+1,1,4)
336 SIG=FACTOR*QSAVE(2*IQ+1,1)*QSAVE(2*IQ,2)
337 CALL SIGFIL(SIG,2*IQ+1,2*IQ,1,4)