]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/code/sigssz.F
First commit.
[u/mrichter/AliRoot.git] / ISAJET / code / sigssz.F
1 #include "isajet/pilot.h"
2       SUBROUTINE SIGSSZ
3 C
4 C          Calculate d(sigma)/d(pt**2)d(y1)d(y2) for supersymmetric
5 C          zino or wino plus squark or gluino in MSSM using cross
6 C          sections from Baer, Karatas, and Tata, PR D42, 2259.
7 C          Also include wino and zino pairs.
8 C
9 C          SIGMA    = cross section summed over types allowed by
10 C                     JETTYPE cards.
11 C          SIGS(I)  = partial cross section for I1 + I2 --> I3 + I4
12 C          INOUT(I) = IOPAK**3*I4 + IOPAK**2*I3 + IOPAK*I2 +I1
13 C          JETTYP -> IDENT mapping:
14 C          GLSS, UPSSL, UBSSL, ..., UPSSR, UBSSR, ...,
15 C          W1SS+, W1SS-, WS22+, W2SS-, Z1SS, Z2SS, Z3SS, Z4SS
16 C
17 C          Extra factor of 1/2 needed for nonidentical final jets.
18 C          Y=-log(tan(theta/2)) gives jacobean P1*P2/E1*E2
19 C
20 C          Called from SIGSSY and so does not reinitialize /JETSIG/.
21 C
22 C          Ver 7.23: Add test setting SIG=0 for Z_i pairs if 
23 C          ABS(ZZ)>0.999 and SIG<0.
24 C
25 #if defined(CERNLIB_IMPNONE)
26       IMPLICIT NONE
27 #endif
28 #include "isajet/itapes.inc"
29 #include "isajet/const.inc"
30 #include "isajet/jetpar.inc"
31 #include "isajet/jetsig.inc"
32 #include "isajet/primar.inc"
33 #include "isajet/q1q2.inc"
34 #include "isajet/qcdpar.inc"
35 #include "isajet/sspar.inc"
36 #include "isajet/sssm.inc"
37 #include "isajet/sstype.inc"
38 #include "isajet/wcon.inc"
39 C
40       REAL X(2)
41       EQUIVALENCE (X(1),X1)
42       COMPLEX AQZ(2,4),BQZ(2,4),AQW(2,2),WIJ
43       EQUIVALENCE (S,SHAT),(T,THAT),(U,UHAT)
44       INTEGER JS2JT(25),IW2JS(4),IW2IM(4),IZ2JS(4),IS2UD(25)
45       SAVE JS2JT,IW2JS,IW2IM,IZ2JS,IS2UD
46       INTEGER IDQSS(25),IDZSS(4),IDWSS(4)
47       SAVE IDQSS,IDZSS,IDWSS
48       INTEGER ITHZ(4),ITHW(2)
49       REAL AMWISS(2)
50       REAL XZIWJ(4,2),YZIWJ(4,2)
51       REAL SIG,SIG0,CON,AMQIQ,S,T,U,AMWIW,FAC,AM22,AM12,TT,GP,G,
52      $E1,E2,AMG,YM,XM,GS,THX,THY,AMZIZ,AMSQK
53       INTEGER IX,JQ,IQ,IQ1,IQ2,JW,IW,JTYPW,IH,JTYPZ,IZ,ITHG,IWM
54       COMPLEX ZONE,ZI
55       SAVE ZONE,ZI
56       REAL QFCN,STRUC,PSIFCN,AMASS
57       REAL CON11,CON22,CON12,AMQIQ1,AMQIQ2
58       INTEGER IX1,IX2
59       REAL CS2THW,TNTHW,CTTHW,AL(2),BE(2),ESQ,XWI(2),YWI(2)
60       REAL X12,Y12,SN12,AMWIW1,AMWIW2,EQ1,ZZ,XMGG,XMZZ
61       REAL XMGZ,XMUU,XMGU,XMZU,XMDD,XMGD,XMZD,DEL,RSH,SR2
62       REAL SIGUT,SIGTU,EHAT,PHAT,EBM,TPP,AMWI,AMQ,PROPW
63       REAL SIGUT1,SIGUT2,SIGUT3,SGUT12,SGUT13,SGUT23
64       REAL SIGTU1,SIGTU2,SIGTU3,SGTU12,SGTU13,SGTU23
65       REAL AMSQL,AMSQR,KK,AMZIZ1,AMZIZ2
66       REAL SIGLL,SIGRR,SIGZZ,SIGLZ,SIGRZ,SSGT,SSGST,PROPZ,SSXLAM
67       INTEGER IZ1,JTYPZ1,IZ2,JTYPZ2
68       INTEGER IW1,JW1,JTYPW1,IDW1,IW2,JW2,JTYPW2,IDW2,IFLQ,IUD(13)
69 C
70 C          IDENT codes from /SSTYPE/. (Fortran 77 allows - signs in
71 C          parameter statements but not data statements.)
72       INTEGER MSUPL,MSDNL,MSSTL,MSCHL,MSBT1,MSTP1,
73      $MSUPR,MSDNR,MSSTR,MSCHR,MSBT2,MSTP2,MSW1,MSW2
74       PARAMETER (MSUPL=-ISUPL)
75       PARAMETER (MSDNL=-ISDNL)
76       PARAMETER (MSSTL=-ISSTL)
77       PARAMETER (MSCHL=-ISCHL)
78       PARAMETER (MSBT1=-ISBT1)
79       PARAMETER (MSTP1=-ISTP1)
80       PARAMETER (MSUPR=-ISUPR)
81       PARAMETER (MSDNR=-ISDNR)
82       PARAMETER (MSSTR=-ISSTR)
83       PARAMETER (MSCHR=-ISCHR)
84       PARAMETER (MSBT2=-ISBT2)
85       PARAMETER (MSTP2=-ISTP2)
86       PARAMETER (MSW1=-ISW1)
87       PARAMETER (MSW2=-ISW2)
88       DATA IDQSS/0,
89      $ISUPL,MSUPL,ISDNL,MSDNL,ISSTL,MSSTL,ISCHL,MSCHL,ISBT1,MSBT1,
90      $ISTP1,MSTP1,
91      $ISUPR,MSUPR,ISDNR,MSDNR,ISSTR,MSSTR,ISCHR,MSCHR,ISBT2,MSBT2,
92      $ISTP2,MSTP2/
93       DATA IDZSS/ISZ1,ISZ2,ISZ3,ISZ4/
94       DATA IDWSS/ISW1,MSW1,ISW2,MSW2/
95       DATA IUD/0,1,-1,2,-2,2,-2,1,-1,2,-2,1,-1/
96 C
97 C          JS2JT: Susy jettype -> normal jettype
98       DATA JS2JT/1,
99      $2,3,4,5,6,7,8,9,10,11,12,13,2,3,4,5,6,7,8,9,10,11,12,13/
100 C          IW2JS: Wino index -> susy jettype
101       DATA IW2JS/26,27,28,29/
102 C          IW2IM: Wino index -> match code
103       DATA IW2IM/2,3,2,3/
104 C          IZ2JS: Zino index -> susy jettype
105       DATA IZ2JS/30,31,32,33/
106 C          IS2UD: Susy jettype -> u/d code
107       DATA IS2UD/0,1,1,2,2,2,2,1,1,2,2,1,1,1,1,2,2,2,2,1,1,2,2,1,1/
108 C
109       DATA ZONE,ZI/(1.,0.),(0.,1.)/
110 C
111 C          Functions
112       QFCN(IQ,IH)=STRUC(X(IH),QSQ,IQ,IDIN(IH))/X(IH)
113       PSIFCN(AM12,AM22,TT)=((S+TT-AM12)/(2*S)
114      $-AM12*(AM22-TT)/(AM12-TT)**2
115      $+(TT*(AM22-AM12)+AM22*(S-AM22+AM12))/(S*(AM12-TT)))
116 C
117 C          Constants from Baer, Barger, Karatas, and Tata,
118 C          PR D36, 96, using results from SSMIX
119 C
120       G=SQRT(4*PI*ALFAEM/SN2THW)
121       GP=G*SQRT(SN2THW/(1.-SN2THW))
122 C     GS=SQRT(4.*PI*ALFA3)
123       XM=1./TAN(GAMMAL)
124       YM=1./TAN(GAMMAR)
125       THX=SIGN(1.,XM)
126       THY=SIGN(1.,YM)
127       AMG=AMASS(ISGL)
128       ITHG=+1
129 C          Signed masses
130       AMWISS(1)=AMW1SS
131       AMWISS(2)=AMW2SS
132 C          Zi couplings
133       DO 100 IZ=1,4
134         ITHZ(IZ)=0
135         IF(AMZISS(IZ).LT.0) ITHZ(IZ)=1
136         AQZ(1,IZ)=ZI**(ITHZ(IZ)-1)*(-ZONE)**(ITHZ(IZ)+1)
137      $  *(+G/SQRT2*ZMIXSS(3,IZ)+GP/(3*SQRT2)*ZMIXSS(4,IZ))
138         AQZ(2,IZ)=ZI**(ITHZ(IZ)-1)*(-ZONE)**(ITHZ(IZ)+1)
139      $  *(-G/SQRT2*ZMIXSS(3,IZ)+GP/(3*SQRT2)*ZMIXSS(4,IZ))
140         BQZ(1,IZ)=+(4./3.)*ZI**(ITHZ(IZ)-1)*GP/SQRT2*ZMIXSS(4,IZ)
141         BQZ(2,IZ)=-(2./3.)*ZI**(ITHZ(IZ)-1)*GP/SQRT2*ZMIXSS(4,IZ)
142 100   CONTINUE
143 C          Wi couplings
144       ITHW(1)=0
145       IF(AMW1SS.LT.0.) ITHW(1)=1
146       AQW(1,1)=ZI*G*SIN(GAMMAL)
147       AQW(2,1)=ZI*G*(-ZONE)**ITHW(1)*SIN(GAMMAR)
148       ITHW(2)=0
149       IF(AMW2SS.LT.0.) ITHW(2)=1
150       AQW(1,2)=ZI*G*THX*COS(GAMMAL)
151       AQW(2,2)=ZI*G*(-ZONE)**ITHW(2)*THY*COS(GAMMAR)
152 C          Quark couplings to Z
153       CS2THW=1.-SN2THW
154       TNTHW=SQRT(SN2THW/CS2THW)
155       CTTHW=1./TNTHW
156       AL(1)=CTTHW/4.-5*TNTHW/12.
157       AL(2)=TNTHW/12.-CTTHW/4.
158       BE(1)=-(CTTHW+TNTHW)/4.
159       BE(2)=-BE(1)
160       ESQ=4*PI*ALFAEM
161 C           Chargino couplings to Z
162       XWI(1)=1.-(COS(GAMMAL)**2+COS(GAMMAR)**2)/4./CS2THW
163       XWI(2)=1.-(SIN(GAMMAL)**2+SIN(GAMMAR)**2)/4./CS2THW
164       YWI(1)=(COS(GAMMAR)**2-COS(GAMMAL)**2)/4./CS2THW
165       YWI(2)=(SIN(GAMMAR)**2-SIN(GAMMAL)**2)/4./CS2THW
166       X12=.5*(THX*SIN(GAMMAL)*COS(GAMMAL)-
167      $    THY*SIN(GAMMAR)*COS(GAMMAR))
168       Y12=.5*(THX*SIN(GAMMAL)*COS(GAMMAL)+
169      $    THY*SIN(GAMMAR)*COS(GAMMAR))
170       SN12=-1.*SIGN(1.,AMW1SS)*SIGN(1.,AMW2SS)
171 C
172 C         qk qb --> ziss glss
173 C
174       DO 200 IZ=1,4
175         AMZIZ=ABS(AMZISS(IZ))
176         JTYPZ=IZ2JS(IZ)
177 C          Jet 1 = ziss, jet 2 = glss
178         IF(.NOT.(GOQ(JTYPZ,1).AND.GOQ(1,2))) GO TO 220
179         CALL TWOKIN(0.,0.,AMZIZ,AMG)
180         IF(X1.GE.1..OR.X2.GE.1.) GO TO 220
181         GS=SQRT(4*PI*ALFQSQ)
182         E1=SQRT(P(1)**2+AMZIZ**2)
183         E2=SQRT(P(2)**2+AMG**2)
184         FAC=1./(16.*PI*S**2)
185         FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
186 C          Sum over initial quarks (no top quarks)
187         DO 210 IQ=2,11
188           IQ1=IQ
189           IQ2=MATCH(IQ1,4)
190           AMQIQ=AMASS(IDQSS(IQ))
191           SIG0=(AMZIZ**2-T)*(AMG**2-T)/(AMQIQ**2-T)**2
192      $    +(AMZIZ**2-U)*(AMG**2-U)/(AMQIQ**2-U)**2
193      $    -2*(-1)**(ITHZ(IZ)+ITHG)*AMG*AMZIZ*S
194      $    /((AMQIQ**2-T)*(AMQIQ**2-U))
195           SIG0=SIG0*2*GS**2/9
196           CON=AQZ(IS2UD(IQ),IZ)*CONJG(AQZ(IS2UD(IQ),IZ))
197      $    +BQZ(IS2UD(IQ),IZ)*CONJG(BQZ(IS2UD(IQ),IZ))
198           SIG=FAC*CON*SIG0*QFCN(IQ1,1)*QFCN(IQ2,2)
199           SIG=.5*SIG
200           CALL SIGFIL(SIG,IQ1,IQ2,JTYPZ,1)
201 210     CONTINUE
202 C          Jet 1 = glss, jet 2 = ziss
203 220     IF(.NOT.(GOQ(1,1).AND.GOQ(JTYPZ,2))) GO TO 200
204         CALL TWOKIN(0.,0.,AMG,AMZIZ)
205         IF(X1.GE.1..OR.X2.GE.1.) GO TO 200
206         GS=SQRT(4*PI*ALFQSQ)
207         E1=SQRT(P(1)**2+AMG**2)
208         E2=SQRT(P(2)**2+AMZIZ**2)
209         FAC=1./(16.*PI*S**2)
210         FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
211         DO 230 IQ=2,11
212           IQ1=IQ
213           IQ2=MATCH(IQ1,4)
214           AMQIQ=AMASS(IDQSS(IQ))
215           SIG0=(AMZIZ**2-T)*(AMG**2-T)/(AMQIQ**2-T)**2
216      $    +(AMZIZ**2-U)*(AMG**2-U)/(AMQIQ**2-U)**2
217      $    -2*(-1)**(ITHZ(IZ)+ITHG)*AMG*AMZIZ*S
218      $    /((AMQIQ**2-T)*(AMQIQ**2-U))
219           SIG0=SIG0*2*GS**2/9
220           CON=AQZ(IS2UD(IQ),IZ)*CONJG(AQZ(IS2UD(IQ),IZ))
221      $    +BQZ(IS2UD(IQ),IZ)*CONJG(BQZ(IS2UD(IQ),IZ))
222           SIG=FAC*CON*SIG0*QFCN(IQ1,1)*QFCN(IQ2,2)
223           SIG=.5*SIG
224           CALL SIGFIL(SIG,IQ1,IQ2,1,JTYPZ)
225 230     CONTINUE
226 200   CONTINUE
227 C
228 C          qk gl -> ziss qkss 
229 C
230       DO 300 IZ=1,4
231         AMZIZ=ABS(AMZISS(IZ))
232         JTYPZ=IZ2JS(IZ)
233         DO 310 IQ=2,25
234           JQ=JS2JT(IQ)
235           IF(IABS(JQ).GE.12) GO TO 310
236           AMQIQ=AMASS(IDQSS(IQ))
237 C          Jet 1 = ziss, jet 2 = qkss
238           IF(.NOT.(GOQ(JTYPZ,1).AND.GOQ(IQ,2))) GO TO 320
239           CALL TWOKIN(0.,0.,AMZIZ,AMQIQ)
240           IF(X1.GE.1..OR.X2.GE.1.) GO TO 320
241           GS=SQRT(4*PI*ALFQSQ)
242           E1=SQRT(P(1)**2+AMZIZ**2)
243           E2=SQRT(P(2)**2+AMQIQ**2)
244           FAC=1./(16.*PI*S**2)
245           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
246           IX=IS2UD(IQ)
247 C          Use AQZ for left squarks, BQZ for right
248           IF(IQ.LE.13) THEN
249             CON=AQZ(IX,IZ)*CONJG(AQZ(IX,IZ))
250           ELSE
251             CON=BQZ(IX,IZ)*CONJG(BQZ(IX,IZ))
252           ENDIF
253           SIG=GS**2/6*FAC*CON*PSIFCN(AMQIQ**2,AMZIZ**2,T)
254      $    *QFCN(JQ,1)*QFCN(1,2)
255           SIG=.5*SIG
256           CALL SIGFIL(SIG,JQ,1,JTYPZ,IQ)
257           SIG=GS**2/6*FAC*CON*PSIFCN(AMQIQ**2,AMZIZ**2,U)
258      $    *QFCN(1,1)*QFCN(JQ,2)
259           SIG=.5*SIG
260           CALL SIGFIL(SIG,1,JQ,JTYPZ,IQ)
261 C          Jet 1 = qkss, jet 2 = ziss
262 320       IF(.NOT.(GOQ(IQ,1).AND.GOQ(JTYPZ,2))) GO TO 310
263           CALL TWOKIN(0.,0.,AMQIQ,AMZIZ)
264           IF(X1.GE.1..OR.X2.GE.1.) GO TO 310
265           GS=SQRT(4*PI*ALFQSQ)
266           E1=SQRT(P(1)**2+AMQIQ**2)
267           E2=SQRT(P(2)**2+AMZIZ**2)
268           FAC=1./(16.*PI*S**2)
269           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
270           IX=IS2UD(IQ)
271 C          Use AQZ for left squarks, BQZ for right
272           IF(IQ.LE.13) THEN
273             CON=AQZ(IX,IZ)*CONJG(AQZ(IX,IZ))
274           ELSE
275             CON=BQZ(IX,IZ)*CONJG(BQZ(IX,IZ))
276           ENDIF
277           SIG=GS**2/6*CON*FAC*PSIFCN(AMQIQ**2,AMZIZ**2,U)
278      $    *QFCN(JQ,1)*QFCN(1,2)
279           SIG=.5*SIG
280           CALL SIGFIL(SIG,JQ,1,IQ,JTYPZ)
281           SIG=GS**2/6*CON*FAC*PSIFCN(AMQIQ**2,AMZIZ**2,T)
282      $    *QFCN(1,1)*QFCN(JQ,2)
283           SIG=.5*SIG
284           CALL SIGFIL(SIG,1,JQ,IQ,JTYPZ)
285 310     CONTINUE
286 300   CONTINUE
287 C
288 C          qk gl -> wiss qkss 
289 C
290       DO 400 IW=1,4
291         JW=(IW+1)/2
292         AMWIW=ABS(AMWISS(JW))
293         JTYPW=IW2JS(IW)
294         IWM=IW2IM(IW)
295 C          Left squarks only - 
296         DO 410 IQ=2,11
297           AMQIQ=AMASS(IDQSS(IQ))
298 C          JQ is the matching incoming quark
299           JQ=JS2JT(IQ)
300           JQ=MATCH(JQ,4)
301           JQ=MATCH(JQ,IWM)
302           IF(JQ.EQ.0.OR.JQ.GE.12) GO TO 410
303 C          Jet 1 = wiss, jet 2 = qkss
304           IF(.NOT.(GOQ(JTYPW,1).AND.GOQ(IQ,2))) GO TO 420
305           CALL TWOKIN(0.,0.,AMWIW,AMQIQ)
306           IF(X1.GE.1..OR.X2.GE.1.) GO TO 420
307           GS=SQRT(4*PI*ALFQSQ)
308           E1=SQRT(P(1)**2+AMWIW**2)
309           E2=SQRT(P(2)**2+AMQIQ**2)
310           FAC=1./(16.*PI*S**2)
311           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
312           IX=IS2UD(JQ)
313           CON=AQW(IX,JW)*CONJG(AQW(IX,JW))
314           SIG=GS**2/6*FAC*CON*PSIFCN(AMQIQ**2,AMWIW**2,T)
315      $    *QFCN(JQ,1)*QFCN(1,2)
316           SIG=.5*SIG
317           CALL SIGFIL(SIG,JQ,1,JTYPW,IQ)
318           SIG=GS**2/6*FAC*CON*PSIFCN(AMQIQ**2,AMWIW**2,U)
319      $    *QFCN(1,1)*QFCN(JQ,2)
320           SIG=.5*SIG
321           CALL SIGFIL(SIG,1,JQ,JTYPW,IQ)
322 C          Jet 1 = qkss, jet 2 = wiss
323 420       IF(.NOT.(GOQ(IQ,1).AND.GOQ(JTYPW,2))) GO TO 410
324           CALL TWOKIN(0.,0.,AMQIQ,AMWIW)
325           IF(X1.GE.1..OR.X2.GE.1.) GO TO 410
326           GS=SQRT(4*PI*ALFQSQ)
327           E1=SQRT(P(1)**2+AMQIQ**2)
328           E2=SQRT(P(2)**2+AMWIW**2)
329           FAC=1./(16.*PI*S**2)
330           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
331           IX=IS2UD(JQ)
332           CON=AQW(IX,JW)*CONJG(AQW(IX,JW))
333           SIG=GS**2/6*FAC*CON*PSIFCN(AMQIQ**2,AMWIW**2,U)
334      $    *QFCN(JQ,1)*QFCN(1,2)
335           SIG=.5*SIG
336           CALL SIGFIL(SIG,JQ,1,IQ,JTYPW)
337           SIG=GS**2/6*FAC*CON*PSIFCN(AMQIQ**2,AMWIW**2,T)
338      $    *QFCN(1,1)*QFCN(JQ,2)
339           SIG=.5*SIG
340           CALL SIGFIL(SIG,1,JQ,IQ,JTYPW)
341 410     CONTINUE
342 400   CONTINUE
343 C
344 C          qk qb -> wiss glss 
345 C
346       DO 500 IW=1,4
347         JW=(IW+1)/2
348         AMWIW=ABS(AMWISS(JW))
349         JTYPW=IW2JS(IW)
350         IWM=IW2IM(IW)
351 C          Jet 1 = wiss, jet 2 = glss
352         IF(.NOT.(GOQ(JTYPW,1).AND.GOQ(1,2))) GO TO 520
353         CALL TWOKIN(0.,0.,AMWIW,AMG)
354         IF(X1.GE.1..OR.X2.GE.1.) GO TO 520
355         GS=SQRT(4*PI*ALFQSQ)
356         E1=SQRT(P(1)**2+AMWIW**2)
357         E2=SQRT(P(2)**2+AMG**2)
358         FAC=1./(16.*PI*S**2)
359         FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
360 C          Loop over quarks (no top quarks)
361         DO 510 IQ=2,11
362           IQ1=IQ
363           IQ2=MATCH(IQ1,IWM)
364           IF(IQ2.EQ.0.OR.IQ2.GE.12) GO TO 510
365           AMQIQ1=AMASS(IDQSS(IQ1))
366           IX1=IS2UD(IQ1)
367           AMQIQ2=AMASS(IDQSS(IQ2))
368           IX2=IS2UD(IQ2)
369           CON11=AQW(IX1,JW)*CONJG(AQW(IX1,JW))
370           CON22=AQW(IX2,JW)*CONJG(AQW(IX2,JW))
371           CON12=2*(-1)**ITHG*REAL(AQW(IX1,JW)*AQW(IX2,JW))
372           SIG=CON11*(AMWIW**2-T)*(AMG**2-T)/(AMQIQ2**2-T)**2
373      $    +CON22*(AMWIW**2-U)*(AMG**2-U)/(AMQIQ1**2-U)**2
374      $    +CON12*AMG*AMWIW*S/((AMQIQ2**2-T)*(AMQIQ1**2-U))
375           SIG=2*GS**2/9*SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
376           SIG=.5*SIG
377           CALL SIGFIL(SIG,IQ1,IQ2,JTYPW,1)
378 C          No interchange needed here
379 510     CONTINUE
380 C          Jet 1 = glss, jet 2 = wiss
381 520     IF(.NOT.(GOQ(1,1).AND.GOQ(JTYPW,2))) GO TO 500
382         CALL TWOKIN(0.,0.,AMG,AMWIW)
383         IF(X1.GE.1..OR.X2.GE.1.) GO TO 500
384         GS=SQRT(4*PI*ALFQSQ)
385         E1=SQRT(P(1)**2+AMG**2)
386         E2=SQRT(P(2)**2+AMWIW**2)
387         FAC=1./(16.*PI*S**2)
388         FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
389 C          Loop over quarks (no top quarks)
390         DO 530 IQ=2,11
391           IQ1=IQ
392           IQ2=MATCH(IQ1,IWM)
393           IF(IQ2.EQ.0.OR.IQ2.GE.12) GO TO 530
394           AMQIQ1=AMASS(IDQSS(IQ1))
395           IX1=IS2UD(IQ1)
396           AMQIQ2=AMASS(IDQSS(IQ2))
397           IX2=IS2UD(IQ2)
398           CON11=AQW(IX1,JW)*CONJG(AQW(IX1,JW))
399           CON22=AQW(IX2,JW)*CONJG(AQW(IX2,JW))
400           CON12=2*(-1)**ITHG*REAL(AQW(IX1,JW)*AQW(IX2,JW))
401           SIG=CON11*(AMWIW**2-U)*(AMG**2-U)/(AMQIQ2**2-U)**2
402      $    +CON22*(AMWIW**2-T)*(AMG**2-T)/(AMQIQ1**2-T)**2
403      $    +CON12*AMG*AMWIW*S/((AMQIQ2**2-U)*(AMQIQ1**2-T))
404           SIG=2*GS**2/9*SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
405           SIG=.5*SIG
406           CALL SIGFIL(SIG,IQ1,IQ2,1,JTYPW)
407 C       NO INTERCHANGE NEEDED HERE
408 530     CONTINUE
409 500   CONTINUE
410 C
411 C          Gaugino pair production. The W,Z poles are assumed
412 C          to be outside the physical region.
413 C          Constants from SSWZBF:
414 C
415       SR2=SQRT(2.)
416       DO 601 IZ=1,4
417         XZIWJ(IZ,1)=.5*(SIGN(1.,AMWISS(1))*SIGN(1.,AMZISS(IZ))
418      $  *(COS(GAMMAR)*ZMIXSS(1,IZ)/SR2+SIN(GAMMAR)*ZMIXSS(3,IZ))
419      $  -COS(GAMMAL)*ZMIXSS(2,IZ)/SR2+SIN(GAMMAL)*ZMIXSS(3,IZ))
420         YZIWJ(IZ,1)=.5*(-SIGN(1.,AMWISS(1))*SIGN(1.,AMZISS(IZ))
421      $  *(COS(GAMMAR)*ZMIXSS(1,IZ)/SR2+SIN(GAMMAR)*ZMIXSS(3,IZ))
422      $  -COS(GAMMAL)*ZMIXSS(2,IZ)/SR2+SIN(GAMMAL)*ZMIXSS(3,IZ))
423         XZIWJ(IZ,2)=.5*(SIGN(1.,AMWISS(2))*SIGN(1.,AMZISS(IZ))*THY
424      $  *(-SIN(GAMMAR)*ZMIXSS(1,IZ)/SR2+COS(GAMMAR)*ZMIXSS(3,IZ))
425      $  +THX*(SIN(GAMMAL)*ZMIXSS(2,IZ)/SR2+COS(GAMMAL)*ZMIXSS(3,IZ)))
426         YZIWJ(IZ,2)=.5*(-SIGN(1.,AMWISS(2))*SIGN(1.,AMZISS(IZ))
427      $  *THY*(-SIN(GAMMAR)*ZMIXSS(1,IZ)/SR2+COS(GAMMAR)*ZMIXSS(3,IZ))
428      $  +THX*(SIN(GAMMAL)*ZMIXSS(2,IZ)/SR2+COS(GAMMAL)*ZMIXSS(3,IZ)))
429 601   CONTINUE
430 C
431 C          Zino + wino: W* and squark graphs included
432 C
433       DO 610 IW=1,4
434         JW=(IW+1)/2
435         AMWIW=ABS(AMWISS(JW))
436         JTYPW=IW2JS(IW)
437         IWM=IW2IM(IW)
438         DO 620 IZ=1,4
439           AMZIZ=ABS(AMZISS(IZ))
440           JTYPZ=IZ2JS(IZ)
441           AMQ=AMASS(IDQSS(2))
442 C          Jet 1 = wiss, jet 2 = zjss
443           IF(.NOT.(GOQ(JTYPW,1).AND.GOQ(JTYPZ,2))) GO TO 630
444           CALL TWOKIN(0.,0.,AMWIW,AMZIZ)
445           IF(X1.GE.1..OR.X2.GE.1.) GO TO 630
446           E1=SQRT(P(1)**2+AMWIW**2)
447           E2=SQRT(P(2)**2+AMZIZ**2)
448           FAC=1./(16.*PI*S**2)
449           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
450 C          Loop over quarks (no top quarks)
451           SIGUT1=(XZIWJ(IZ,JW)**2+YZIWJ(IZ,JW)**2)
452      $    *((AMWIW**2-U)*(AMZIZ**2-U)+(AMWIW**2-T)*(AMZIZ**2-T))/4.
453      $    +2*XZIWJ(IZ,JW)*YZIWJ(IZ,JW)
454      $    *((AMWIW**2-U)*(AMZIZ**2-U)-(AMWIW**2-T)*(AMZIZ**2-T))/4.
455      $    +AMWIW*AMZIZ*(XZIWJ(IZ,JW)**2-YZIWJ(IZ,JW)**2)*S/2.
456           PROPW=(S-AMW**2)**2+AMW**2*GAMW**2
457           SIGUT1=2*G**4/3./PROPW*SIGUT1
458           SIGUT2=(AQZ(2,IZ)*CONJG(AQZ(2,IZ)))*
459      $    (AQW(1,JW)*CONJG(AQW(1,JW)))
460      $    *(AMWIW**2-U)*(AMZIZ**2-U)/4./3./(U-AMQ**2)**2
461           SIGUT3=(AQZ(1,IZ)*CONJG(AQZ(1,IZ)))*
462      $    (AQW(2,JW)*CONJG(AQW(2,JW)))
463      $    *(AMWIW**2-T)*(AMZIZ**2-T)/4./3./(T-AMQ**2)**2
464           SGUT12=-G**2*SR2*(S-AMW**2)/PROPW/(U-AMQ**2)/12.*
465      $    REAL(CONJG(AQZ(2,IZ))*AQW(1,JW)*(-ZI)**(ITHZ(IZ)))*
466      $    (8*(XZIWJ(IZ,JW)+YZIWJ(IZ,JW))*(AMZIZ**2-U)*(AMWIW**2-U)/4.
467      $    +4*(XZIWJ(IZ,JW)-YZIWJ(IZ,JW))*AMWIW*AMZIZ*S/2.)
468           SGUT13=G**2*SR2*(S-AMW**2)/PROPW/(T-AMQ**2)/12.*
469      $    REAL(CONJG(AQW(2,JW))*AQZ(1,IZ)*(-ZI)**(ITHZ(IZ)))*
470      $    (8*(XZIWJ(IZ,JW)-YZIWJ(IZ,JW))*(AMZIZ**2-T)*(AMWIW**2-T)/4.
471      $    +4*(XZIWJ(IZ,JW)+YZIWJ(IZ,JW))*AMWIW*AMZIZ*S/2.)
472           SGUT23=-4*AMWIW*AMZIZ*S/2./(U-AMQ**2)/(T-AMQ**2)/12.*
473      $    REAL(AQZ(1,IZ)*AQZ(2,IZ)*CONJG(AQW(1,JW)*AQW(2,JW)))
474           SIGUT=SIGUT1+SIGUT2+SIGUT3+SGUT12+SGUT13+SGUT23
475 C
476           SIGTU1=(XZIWJ(IZ,JW)**2+YZIWJ(IZ,JW)**2)
477      $    *((AMWIW**2-T)*(AMZIZ**2-T)+(AMWIW**2-U)*(AMZIZ**2-U))/4.
478      $    +2*XZIWJ(IZ,JW)*YZIWJ(IZ,JW)
479      $    *((AMWIW**2-T)*(AMZIZ**2-T)-(AMWIW**2-U)*(AMZIZ**2-U))/4.
480      $    +AMWIW*AMZIZ*(XZIWJ(IZ,JW)**2-YZIWJ(IZ,JW)**2)*S/2.
481           SIGTU1=2*G**4/3./PROPW*SIGTU1
482           SIGTU2=(AQZ(2,IZ)*CONJG(AQZ(2,IZ)))*
483      $    (AQW(1,JW)*CONJG(AQW(1,JW)))
484      $    *(AMWIW**2-T)*(AMZIZ**2-T)/4./3./(T-AMQ**2)**2
485           SIGTU3=(AQZ(1,IZ)*CONJG(AQZ(1,IZ)))*
486      $    (AQW(2,JW)*CONJG(AQW(2,JW)))
487      $    *(AMWIW**2-U)*(AMZIZ**2-U)/4./3./(U-AMQ**2)**2
488           SGTU12=-G**2*SR2*(S-AMW**2)/PROPW/(T-AMQ**2)/12.*
489      $    REAL(CONJG(AQZ(2,IZ))*AQW(1,JW)*(-ZI)**(ITHZ(IZ)))*
490      $    (8*(XZIWJ(IZ,JW)+YZIWJ(IZ,JW))*(AMZIZ**2-T)*(AMWIW**2-T)/4.
491      $    +4*(XZIWJ(IZ,JW)-YZIWJ(IZ,JW))*AMWIW*AMZIZ*S/2.)
492           SGTU13=G**2*SR2*(S-AMW**2)/PROPW/(U-AMQ**2)/12.*
493      $    REAL(CONJG(AQW(2,JW))*AQZ(1,IZ)*(-ZI)**(ITHZ(IZ)))*
494      $    (8*(XZIWJ(IZ,JW)-YZIWJ(IZ,JW))*(AMZIZ**2-U)*(AMWIW**2-U)/4.
495      $    +4*(XZIWJ(IZ,JW)+YZIWJ(IZ,JW))*AMWIW*AMZIZ*S/2.)
496           SGTU23=-4*AMWIW*AMZIZ*S/2./(T-AMQ**2)/(U-AMQ**2)/12.*
497      $    REAL(AQZ(1,IZ)*AQZ(2,IZ)*CONJG(AQW(1,JW)*AQW(2,JW)))
498           SIGTU=SIGTU1+SIGTU2+SIGTU3+SGTU12+SGTU13+SGTU23
499           IF (IWM.EQ.2) THEN
500             SIG=.5*SIGUT*FAC*QFCN(5,1)*QFCN(2,2)
501             CALL SIGFIL(SIG,5,2,JTYPW,JTYPZ)
502             SIG=.5*SIGUT*FAC*QFCN(7,1)*QFCN(8,2)
503             CALL SIGFIL(SIG,7,8,JTYPW,JTYPZ)
504             SIG=.5*SIGTU*FAC*QFCN(2,1)*QFCN(5,2)
505             CALL SIGFIL(SIG,2,5,JTYPW,JTYPZ)
506             SIG=.5*SIGTU*FAC*QFCN(8,1)*QFCN(7,2)
507             CALL SIGFIL(SIG,8,7,JTYPW,JTYPZ)
508           ELSE
509             SIG=.5*SIGTU*FAC*QFCN(4,1)*QFCN(3,2)
510             CALL SIGFIL(SIG,4,3,JTYPW,JTYPZ)
511             SIG=.5*SIGTU*FAC*QFCN(6,1)*QFCN(9,2)
512             CALL SIGFIL(SIG,6,9,JTYPW,JTYPZ)
513             SIG=.5*SIGUT*FAC*QFCN(3,1)*QFCN(4,2)
514             CALL SIGFIL(SIG,3,4,JTYPW,JTYPZ)
515             SIG=.5*SIGUT*FAC*QFCN(9,1)*QFCN(6,2)
516             CALL SIGFIL(SIG,9,6,JTYPW,JTYPZ)
517           END IF
518 C          Jet 1 = zjss, jet 2 = wiss
519 630       IF(.NOT.(GOQ(JTYPZ,1).AND.GOQ(JTYPW,2))) GO TO 620
520           CALL TWOKIN(0.,0.,AMZIZ,AMWIW)
521           IF(X1.GE.1..OR.X2.GE.1.) GO TO 610
522           E1=SQRT(P(1)**2+AMZIZ**2)
523           E2=SQRT(P(2)**2+AMWIW**2)
524           FAC=1./(16.*PI*S**2)
525           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
526 C          Loop over quarks (no top quarks)
527           SIGUT1=(XZIWJ(IZ,JW)**2+YZIWJ(IZ,JW)**2)
528      $    *((AMWIW**2-U)*(AMZIZ**2-U)+(AMWIW**2-T)*(AMZIZ**2-T))/4.
529      $    +2*XZIWJ(IZ,JW)*YZIWJ(IZ,JW)
530      $    *((AMWIW**2-U)*(AMZIZ**2-U)-(AMWIW**2-T)*(AMZIZ**2-T))/4.
531      $    +AMWIW*AMZIZ*(XZIWJ(IZ,JW)**2-YZIWJ(IZ,JW)**2)*S/2.
532           PROPW=(S-AMW**2)**2+AMW**2*GAMW**2
533           SIGUT1=2*G**4/3./PROPW*SIGUT1
534           SIGUT2=(AQZ(2,IZ)*CONJG(AQZ(2,IZ)))*
535      $    (AQW(1,JW)*CONJG(AQW(1,JW)))
536      $    *(AMWIW**2-U)*(AMZIZ**2-U)/4./3./(U-AMQ**2)**2
537           SIGUT3=(AQZ(1,IZ)*CONJG(AQZ(1,IZ)))*
538      $    (AQW(2,JW)*CONJG(AQW(2,JW)))
539      $    *(AMWIW**2-T)*(AMZIZ**2-T)/4./3./(T-AMQ**2)**2
540           SGUT12=-G**2*SR2*(S-AMW**2)/PROPW/(U-AMQ**2)/12.*
541      $    REAL(CONJG(AQZ(2,IZ))*AQW(1,JW)*(-ZI)**(ITHZ(IZ)))*
542      $    (8*(XZIWJ(IZ,JW)+YZIWJ(IZ,JW))*(AMZIZ**2-U)*(AMWIW**2-U)/4.
543      $    +4*(XZIWJ(IZ,JW)-YZIWJ(IZ,JW))*AMWIW*AMZIZ*S/2.)
544           SGUT13=G**2*SR2*(S-AMW**2)/PROPW/(T-AMQ**2)/12.*
545      $    REAL(CONJG(AQW(2,JW))*AQZ(1,IZ)*(-ZI)**(ITHZ(IZ)))*
546      $    (8*(XZIWJ(IZ,JW)-YZIWJ(IZ,JW))*(AMZIZ**2-T)*(AMWIW**2-T)/4.
547      $    +4*(XZIWJ(IZ,JW)+YZIWJ(IZ,JW))*AMWIW*AMZIZ*S/2.)
548           SGUT23=-4*AMWIW*AMZIZ*S/2./(U-AMQ**2)/(T-AMQ**2)/12.*
549      $    REAL(AQZ(1,IZ)*AQZ(2,IZ)*CONJG(AQW(1,JW)*AQW(2,JW)))
550           SIGUT=SIGUT1+SIGUT2+SIGUT3+SGUT12+SGUT13+SGUT23
551 C
552           SIGTU1=(XZIWJ(IZ,JW)**2+YZIWJ(IZ,JW)**2)
553      $    *((AMWIW**2-T)*(AMZIZ**2-T)+(AMWIW**2-U)*(AMZIZ**2-U))/4.
554      $    +2*XZIWJ(IZ,JW)*YZIWJ(IZ,JW)
555      $    *((AMWIW**2-T)*(AMZIZ**2-T)-(AMWIW**2-U)*(AMZIZ**2-U))/4.
556      $    +AMWIW*AMZIZ*(XZIWJ(IZ,JW)**2-YZIWJ(IZ,JW)**2)*S/2.
557           SIGTU1=2*G**4/3./PROPW*SIGTU1
558           SIGTU2=(AQZ(2,IZ)*CONJG(AQZ(2,IZ)))*
559      $    (AQW(1,JW)*CONJG(AQW(1,JW)))
560      $    *(AMWIW**2-T)*(AMZIZ**2-T)/4./3./(T-AMQ**2)**2
561           SIGTU3=(AQZ(1,IZ)*CONJG(AQZ(1,IZ)))*
562      $    (AQW(2,JW)*CONJG(AQW(2,JW)))
563      $    *(AMWIW**2-U)*(AMZIZ**2-U)/4./3./(U-AMQ**2)**2
564           SGTU12=-G**2*SR2*(S-AMW**2)/PROPW/(T-AMQ**2)/12.*
565      $    REAL(CONJG(AQZ(2,IZ))*AQW(1,JW)*(-ZI)**(ITHZ(IZ)))*
566      $    (8*(XZIWJ(IZ,JW)+YZIWJ(IZ,JW))*(AMZIZ**2-T)*(AMWIW**2-T)/4.
567      $    +4*(XZIWJ(IZ,JW)-YZIWJ(IZ,JW))*AMWIW*AMZIZ*S/2.)
568           SGTU13=G**2*SR2*(S-AMW**2)/PROPW/(U-AMQ**2)/12.*
569      $    REAL(CONJG(AQW(2,JW))*AQZ(1,IZ)*(-ZI)**(ITHZ(IZ)))*
570      $    (8*(XZIWJ(IZ,JW)-YZIWJ(IZ,JW))*(AMZIZ**2-U)*(AMWIW**2-U)/4.
571      $    +4*(XZIWJ(IZ,JW)+YZIWJ(IZ,JW))*AMWIW*AMZIZ*S/2.)
572           SGTU23=-4*AMWIW*AMZIZ*S/2./(T-AMQ**2)/(U-AMQ**2)/12.*
573      $    REAL(AQZ(1,IZ)*AQZ(2,IZ)*CONJG(AQW(1,JW)*AQW(2,JW)))
574           SIGTU=SIGTU1+SIGTU2+SIGTU3+SGTU12+SGTU13+SGTU23
575           IF (IWM.EQ.2) THEN
576             SIG=.5*SIGTU*FAC*QFCN(5,1)*QFCN(2,2)
577             CALL SIGFIL(SIG,5,2,JTYPZ,JTYPW)
578             SIG=.5*SIGTU*FAC*QFCN(7,1)*QFCN(8,2)
579             CALL SIGFIL(SIG,7,8,JTYPZ,JTYPW)
580             SIG=.5*SIGUT*FAC*QFCN(2,1)*QFCN(5,2)
581             CALL SIGFIL(SIG,2,5,JTYPZ,JTYPW)
582             SIG=.5*SIGUT*FAC*QFCN(8,1)*QFCN(7,2)
583             CALL SIGFIL(SIG,8,7,JTYPZ,JTYPW)
584           ELSE
585             SIG=.5*SIGUT*FAC*QFCN(4,1)*QFCN(3,2)
586             CALL SIGFIL(SIG,4,3,JTYPZ,JTYPW)
587             SIG=.5*SIGUT*FAC*QFCN(6,1)*QFCN(9,2)
588             CALL SIGFIL(SIG,6,9,JTYPZ,JTYPW)
589             SIG=.5*SIGTU*FAC*QFCN(3,1)*QFCN(4,2)
590             CALL SIGFIL(SIG,3,4,JTYPZ,JTYPW)
591             SIG=.5*SIGTU*FAC*QFCN(9,1)*QFCN(6,2)
592             CALL SIGFIL(SIG,9,6,JTYPZ,JTYPW)
593           END IF
594 620     CONTINUE
595 610   CONTINUE
596 C
597 C          Chargino pair production
598 C          added squark exchange contribution 7/11/97
599 C
600       DO 700 IW1=1,4
601         JW1=(IW1+1)/2
602         AMWIW1=ABS(AMWISS(JW1))
603         JTYPW1=IW2JS(IW1)
604         IDW1=IDWSS(IW1)
605         DO 710 IW2=1,4
606           JW2=(IW2+1)/2
607           AMWIW2=ABS(AMWISS(JW2))
608           JTYPW2=IW2JS(IW2)
609           IDW2=IDWSS(IW2)
610           IF (.NOT.(GOQ(JTYPW1,1).AND.GOQ(JTYPW2,2))) GO TO 710
611           CALL TWOKIN(0.,0.,AMWIW1,AMWIW2)
612           IF (X1.GE.1..OR.X2.GE.1.) GO TO 710
613           E1=SQRT(P(1)**2+AMWIW1**2)
614           E2=SQRT(P(2)**2+AMWIW2**2)
615           FAC=1./(16.*PI*S**2)
616           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
617           DO 720 IQ1=2,11
618             IFLQ=IS2UD(IQ1)
619             IF (IFLQ.EQ.1) THEN
620               EQ1=2./3.
621             ELSE
622               EQ1=-1./3.
623             END IF
624             IQ2=MATCH(IQ1,4)
625             IF (IQ1.EQ.2.OR.IQ1.EQ.3) AMSQK=AMDLSS
626             IF (IQ1.EQ.4.OR.IQ1.EQ.5) AMSQK=AMULSS
627             IF (IQ1.EQ.6.OR.IQ1.EQ.7) AMSQK=AMCLSS
628             IF (IQ1.EQ.8.OR.IQ1.EQ.9) AMSQK=AMSLSS
629             IF (IQ1.EQ.10.OR.IQ1.EQ.11) AMSQK=AMB1SS
630             IF (IQ2.EQ.0.OR.IQ2.GE.12) GO TO 720
631             IF (IDW1.EQ.-IDW2) THEN
632 C          Convert ISAJET t_hat to particle-particle t_hat
633               IF (IUD(IQ1)*IDW1.GT.0) THEN
634                 TPP=U
635               ELSE
636                 TPP=T
637               END IF
638               ZZ=(2*TPP-2*AMWIW1**2+S)/SQRT(S*S-4*S*AMWIW1**2)
639               EHAT=SQRT(S)/2.
640               PHAT=SQRT(EHAT**2-AMWIW1**2)
641               XMGG=16.*ESQ*ESQ*(EHAT**2*(1.+ZZ**2)+
642      $        AMWIW1**2*(1.-ZZ**2))/S*EQ1**2
643               XMZZ=16*ESQ*ESQ*CTTHW**2*S/((S-AMZ**2)**2+
644      $        (GAMZ*AMZ)**2)*((XWI(JW1)**2+YWI(JW1)**2)*
645      $        (AL(IFLQ)**2+BE(IFLQ)**2)*
646      $        (EHAT**2*(1.+ZZ**2)+AMWIW1**2*(1.-ZZ**2))-2.*
647      $        YWI(JW1)**2*(AL(IFLQ)**2+
648      $        BE(IFLQ)**2)*AMWIW1**2-8*XWI(JW1)*YWI(JW1)*
649      $        AL(IFLQ)*BE(IFLQ)*EHAT*PHAT*ZZ)
650               XMGZ=(-EQ1)*(-32.)*ESQ*ESQ*CTTHW*(S-AMZ**2)/
651      $        ((S-AMZ**2)**2+(GAMZ*AMZ)**2)*
652      $        (AL(IFLQ)*XWI(JW1)*(EHAT**2*
653      $        (1.+ZZ**2)+AMWIW1**2*(1.-ZZ**2))-2*
654      $        BE(IFLQ)*YWI(JW1)*EHAT*PHAT*ZZ)
655               XMUU=ESQ*ESQ*SIN(GAMMAR)**4*S*(EHAT-PHAT*ZZ)**2/
656      $         SN2THW**2/(EHAT**2+PHAT**2-2*EHAT*PHAT*ZZ+
657      $         AMSQK**2)**2
658               XMGU=EQ1*4*ESQ*ESQ*SIN(GAMMAR)**2*
659      $         ((EHAT-PHAT*ZZ)**2+AMWIW1**2)/SN2THW/
660      $         (EHAT**2+PHAT**2-2*EHAT*PHAT*ZZ+AMSQK**2)
661               XMZU=4*ESQ*ESQ*CTTHW*SIN(GAMMAR)**2*(S-AMZ**2)
662      $         *(AL(IFLQ)-BE(IFLQ))*S/SN2THW/((S-AMZ**2)**2+
663      $         (GAMZ*AMZ)**2)*((XWI(JW1)-YWI(JW1))*
664      $         ((EHAT-PHAT*ZZ)**2+AMWIW1**2)+2*YWI(JW1)*
665      $         AMWIW1**2)/(EHAT**2+PHAT**2-2*EHAT*PHAT*ZZ+
666      $         AMSQK**2)
667               XMDD=ESQ*ESQ*SIN(GAMMAL)**4*S*(EHAT+PHAT*ZZ)**2/
668      $         SN2THW**2/(EHAT**2+PHAT**2+2*EHAT*PHAT*ZZ+
669      $         AMSQK**2)**2
670               XMGD=-4*EQ1*ESQ*ESQ*SIN(GAMMAL)**2*
671      $         ((EHAT+PHAT*ZZ)**2+AMWIW1**2)/SN2THW/
672      $         (EHAT**2+PHAT**2+2*EHAT*PHAT*ZZ+AMSQK**2)
673               XMZD=-4*ESQ*ESQ*CTTHW*SIN(GAMMAL)**2*(S-AMZ**2)
674      $         *(AL(IFLQ)-BE(IFLQ))*S/SN2THW/((S-AMZ**2)**2+
675      $         (GAMZ*AMZ)**2)*((XWI(JW1)+YWI(JW1))*
676      $         ((EHAT+PHAT*ZZ)**2+AMWIW1**2)-2*YWI(JW1)*
677      $         AMWIW1**2)/(EHAT**2+PHAT**2+2*EHAT*PHAT*ZZ+
678      $         AMSQK**2)
679               IF (IFLQ.EQ.1) THEN
680                SIG=(XMGG+XMZZ+XMGZ+XMDD+XMGD+XMZD)/12.
681               ELSE
682                SIG=(XMGG+XMZZ+XMGZ+XMUU+XMGU+XMZU)/12.
683               END IF
684               SIG=SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
685               SIG=.5*SIG
686 C              IF(SIG.LT.0.AND.ABS(ZZ).GT.0.999) SIG=0
687               CALL SIGFIL(SIG,IQ1,IQ2,JTYPW1,JTYPW2)
688             ELSEIF (IDW1*IDW2.LT.0) THEN
689               PHAT=SQRT(S*S+AMWIW1**4+AMWIW2**4-2*S*AMWIW1**2
690      $        -2*S*AMWIW2**2-2*AMWIW1**2*AMWIW2**2)/2./SQRT(S)
691               IF (IUD(IQ1)*IDW1.GT.0) THEN
692                 TPP=U
693               ELSE
694                 TPP=T
695               END IF
696               IF (IDW1.LT.0) THEN
697                 AMWI=AMWIW1
698               ELSE
699                 AMWI=AMWIW2
700               END IF
701               EHAT=SQRT(PHAT**2+AMWI**2)
702               EBM=SQRT(S)/2.
703               ZZ=(TPP-AMWI**2+SQRT(S)*EHAT)/SQRT(S)/PHAT
704               DEL=(AMW2SS**2-AMW1SS**2)/4./EBM
705               XMZZ=4*(CTTHW+TNTHW)**2/((S-AMZ**2)**2+
706      $        (GAMZ*AMZ)**2)*((X12**2+Y12**2)*
707      $        (AL(IFLQ)**2+BE(IFLQ)**2)*
708      $        (EBM**2+PHAT**2*ZZ**2-DEL**2-SN12*AMWIW1*AMWIW2)+
709      $        2*X12**2*SN12*(AL(IFLQ)**2+ BE(IFLQ)**2)*AMWIW1*
710      $        AMWIW2-8*X12*Y12*AL(IFLQ)*BE(IFLQ)*EBM*PHAT*ZZ)
711               XMUU=SIN(GAMMAR)**2*COS(GAMMAR)**2*((EBM-PHAT*ZZ)
712      $         **2-DEL**2)/SN2THW**2/(2*EBM*(EBM-DEL)-2*EBM*PHAT*
713      $         ZZ+AMSQK**2-AMW1SS**2)**2
714               XMZU=-2*THY*(CTTHW+TNTHW)*SIN(GAMMAR)*COS(GAMMAR)*
715      $         (S-AMZ**2)*(AL(IFLQ)-BE(IFLQ))/SN2THW/((S-AMZ**2)
716      $         **2+(GAMZ*AMZ)**2)*((X12-Y12)*((EBM-PHAT*ZZ)**2-
717      $         DEL**2-SN12*AMWIW1*AMWIW2)+2*X12*SN12*AMWIW1*
718      $         AMWIW2)/(2*EBM*(EBM-DEL)-2*EBM*PHAT*ZZ+AMSQK**2
719      $         -AMW1SS**2)
720               XMDD=SIN(GAMMAL)**2*COS(GAMMAL)**2*((EBM+PHAT*ZZ)
721      $         **2-DEL**2)/SN2THW**2/(2*EBM*(EBM-DEL)+2*EBM*PHAT*
722      $         ZZ+AMSQK**2-AMW1SS**2)**2
723               XMZD=-2*THX*(CTTHW+TNTHW)*SIN(GAMMAL)*COS(GAMMAL)*
724      $         (S-AMZ**2)*(AL(IFLQ)-BE(IFLQ))/SN2THW/((S-AMZ**2)
725      $         **2+(GAMZ*AMZ)**2)*((X12+Y12)*((EBM+PHAT*ZZ)**2-
726      $         DEL**2+SN12*AMWIW1*AMWIW2)-2*Y12*SN12*AMWIW1*
727      $         AMWIW2)/(2*EBM*(EBM-DEL)+2*EBM*PHAT*ZZ+AMSQK**2
728      $         -AMW1SS**2)
729               IF (IFLQ.EQ.1) THEN
730                SIG=ESQ*ESQ*(XMZZ+XMDD+XMZD)*S/12.
731               ELSE
732                SIG=ESQ*ESQ*(XMZZ+XMUU+XMZU)*S/12.
733               END IF
734               SIG=SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)
735               SIG=.5*SIG
736               CALL SIGFIL(SIG,IQ1,IQ2,JTYPW1,JTYPW2)
737             END IF
738 720       CONTINUE
739 710     CONTINUE
740 700   CONTINUE
741 C
742 C         qk qb --> ziss zjss
743 C
744       DO 800 IZ1=1,4
745         AMZIZ1=ABS(AMZISS(IZ1))
746         JTYPZ1=IZ2JS(IZ1)
747         DO 810 IZ2=1,4
748           AMZIZ2=ABS(AMZISS(IZ2))
749           JTYPZ2=IZ2JS(IZ2)
750           IF(.NOT.(GOQ(JTYPZ1,1).AND.GOQ(JTYPZ2,2))) GO TO 810
751           CALL TWOKIN(0.,0.,AMZIZ1,AMZIZ2)
752           IF(X1.GE.1..OR.X2.GE.1.) GO TO 810
753           E1=SQRT(P(1)**2+AMZIZ1**2)
754           E2=SQRT(P(2)**2+AMZIZ2**2)
755           FAC=1./(16.*PI*S**2)
756           FAC=FAC*S/SCM*(P(1)*P(2)/(E1*E2))*UNITS
757           WIJ=SQRT(G**2+GP**2)*ZI**(ITHZ(IZ2))*(-ZI)**(ITHZ(IZ1))*
758      $    (ZMIXSS(1,IZ1)*ZMIXSS(1,IZ2)-ZMIXSS(2,IZ1)*
759      $    ZMIXSS(2,IZ2))/4.
760           RSH=SQRT(S)
761           PROPZ=(S-AMZ**2)**2+AMZ**2*GAMZ**2
762           KK=SQRT(S*S+(AMZIZ1**2-AMZIZ2**2)**2-2*S*
763      $    (AMZIZ1**2+AMZIZ2**2))/2./RSH
764 C          Sum over initial quarks (no top quarks)
765           DO 820 IQ=2,11
766             IQ1=IQ
767             IQ2=MATCH(IQ1,4)
768             AMSQL=AMASS(IDQSS(IQ))
769             AMSQR=AMASS(IDQSS(IQ+12))
770             PHAT=SQRT(SSXLAM(S,AMZIZ1**2,AMZIZ2**2))/2./RSH
771             EHAT=SQRT(PHAT**2+AMZIZ1**2)
772             ZZ=(T-AMZIZ1**2+RSH*EHAT)/RSH/PHAT
773             IF (IUD(IQ).LT.0) ZZ=-ZZ
774             IFLQ=IS2UD(IQ)
775             SIGLL=AQZ(IFLQ,IZ1)*CONJG(AQZ(IFLQ,IZ1))*AQZ(IFLQ,IZ2)*
776      $      CONJG(AQZ(IFLQ,IZ2))*SSGT(S,AMSQL,ZZ,IZ1,IZ2)
777             SIGRR=BQZ(IFLQ,IZ1)*CONJG(BQZ(IFLQ,IZ1))*BQZ(IFLQ,IZ2)*
778      $      CONJG(BQZ(IFLQ,IZ2))*SSGT(S,AMSQR,ZZ,IZ1,IZ2)
779             SIGZZ=4*ESQ*WIJ*CONJG(WIJ)*(AL(IFLQ)**2+BE(IFLQ)**2)*
780      $      (S*S-(AMZIZ1**2-AMZIZ2**2)**2+4*(-1.)**(ITHZ(IZ1)+
781      $      ITHZ(IZ2)+1)*S*AMZIZ1*AMZIZ2+4*S*KK*KK*ZZ*ZZ)/PROPZ
782             SIGLZ=-SQRT(ESQ)*(AL(IFLQ)-BE(IFLQ))*(S-AMZ**2)/2./
783      $      PROPZ*(REAL(WIJ*CONJG(AQZ(IFLQ,IZ1))*AQZ(IFLQ,IZ2))*
784      $      SSGST(S,AMSQL,ZZ,IZ1,IZ2)+(-1.)**(ITHZ(IZ1)+ITHZ(IZ2))*
785      $      REAL(WIJ*AQZ(IFLQ,IZ1)*CONJG(AQZ(IFLQ,IZ2)))*
786      $      SSGST(S,AMSQL,-ZZ,IZ1,IZ2))
787             SIGRZ=-SQRT(ESQ)*(-1.)**(ITHZ(IZ1)+ITHZ(IZ2)+1)*
788      $      (AL(IFLQ)+BE(IFLQ))*(S-AMZ**2)/2./
789      $      PROPZ*(REAL(WIJ*CONJG(BQZ(IFLQ,IZ1))*BQZ(IFLQ,IZ2))*
790      $      SSGST(S,AMSQR,ZZ,IZ1,IZ2)+(-1.)**(ITHZ(IZ1)+ITHZ(IZ2))*
791      $      REAL(WIJ*BQZ(IFLQ,IZ1)*CONJG(BQZ(IFLQ,IZ2)))*
792      $      SSGST(S,AMSQR,-ZZ,IZ1,IZ2))
793             SIG=KK*(SIGLL+SIGRR+SIGZZ+SIGLZ+SIGRZ)/3./PHAT
794 C          Below factor of 2 for id particles and jettyp switch
795             SIG=SIG*FAC*QFCN(IQ1,1)*QFCN(IQ2,2)/2.
796             IF(SIG.LT.0.AND.ABS(ZZ).GT.0.999) SIG=0
797             CALL SIGFIL(SIG,IQ1,IQ2,JTYPZ1,JTYPZ2)
798 820       CONTINUE
799 810     CONTINUE
800 800   CONTINUE
801       RETURN
802       END