Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pysgsu.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pysgsu.f
1 
2 C*********************************************************************
3 
4 C...PYSGSU
5 C...Subprocess cross sections for SUSY processes,
6 C...including Higgs pair production.
7 C...Auxiliary to PYSIGH.
8 
9  SUBROUTINE pysgsu(NCHN,SIGS)
10 
11 C...Double precision and integer declarations
12  IMPLICIT DOUBLE PRECISION(a-h, o-z)
13  IMPLICIT INTEGER(i-n)
14  INTEGER pyk,pychge,pycomp
15 C...Parameter statement to help give large particle numbers.
16  parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
17  &kexcit=4000000,kdimen=5000000)
18 C...Commonblocks
19  common/pydat1/mstu(200),paru(200),mstj(200),parj(200)
20  common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
21  common/pypars/mstp(200),parp(200),msti(200),pari(200)
22  common/pyint1/mint(400),vint(400)
23  common/pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
24  common/pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
25  common/pyint4/mwid(500),wids(500,5)
26  common/pymssm/imss(0:99),rmss(0:99)
27  common/pyssmt/zmix(4,4),umix(2,2),vmix(2,2),smz(4),smw(2),
28  &sfmix(16,4),zmixi(4,4),umixi(2,2),vmixi(2,2)
29  common/pysgcm/isub,isubsv,mmin1,mmax1,mmin2,mmax2,mmina,mmaxa,
30  &kfac(2,-40:40),comfac,fack,faca,sh,th,uh,sh2,th2,uh2,sqm3,sqm4,
31  &shr,sqpth,taup,be34,cth,x(2),sqmz,sqmw,gmmz,gmmw,
32  &aem,as,xw,xw1,xwc,xwv,poll,polr,polll,polrr
33  SAVE /pydat1/,/pydat2/,/pypars/,/pyint1/,/pyint2/,/pyint3/,
34  &/pyint4/,/pymssm/,/pyssmt/,/pysgcm/
35 C...Local arrays and complex variables
36  dimension wdtp(0:400),wdte(0:400,0:5)
37  COMPLEX*16 olpp,orpp,olp,orp,ol,or,qll,qlr
38  COMPLEX*16 qrr,qrl,glij,grij,propw,propz
39  COMPLEX*16 zmixc(4,4),umixc(2,2),vmixc(2,2)
40 
41 CMRENNA++
42 C...Z and W width, combinations of weak mixing angle
43  zwid=pmas(23,2)
44  wwid=pmas(24,2)
45  tanw=sqrt(xw/xw1)
46  ct2w=(1d0-2d0*xw)/(2d0*xw/tanw)
47 
48 C...Convert almost equivalent SUSY processes into each other
49 C...Extract differences in flavours and couplings
50 
51 C...Sleptons and sneutrinos
52  IF(isub.EQ.201.OR.isub.EQ.204.OR.isub.EQ.207) THEN
53  kfid=mod(kfpr(isub,1),ksusy1)
54  isub=201
55  ilr=0
56  ELSEIF(isub.EQ.202.OR.isub.EQ.205.OR.isub.EQ.208) THEN
57  kfid=mod(kfpr(isub,1),ksusy1)
58  isub=201
59  ilr=1
60  ELSEIF(isub.EQ.203.OR.isub.EQ.206.OR.isub.EQ.209) THEN
61  kfid=mod(kfpr(isub,1),ksusy1)
62  isub=203
63  ELSEIF(isub.GE.210.AND.isub.LE.212) THEN
64  IF(isub.EQ.210) THEN
65  rkf=2.0d0
66  ELSEIF(isub.EQ.211) THEN
67  rkf=sfmix(15,1)**2
68  ELSEIF(isub.EQ.212) THEN
69  rkf=sfmix(15,2)**2
70  ENDIF
71  isub=210
72  ELSEIF(isub.EQ.213.OR.isub.EQ.214) THEN
73  IF(isub.EQ.213) THEN
74  kfid=mod(kfpr(isub,1),ksusy1)
75  rkf=2.0d0
76  ELSEIF(isub.EQ.214) THEN
77  kfid=16
78  rkf=1.0d0
79  ENDIF
80  isub=213
81 
82 C...Neutralinos
83  ELSEIF(isub.GE.216.AND.isub.LE.225) THEN
84  IF(isub.EQ.216) THEN
85  izid1=1
86  izid2=1
87  ELSEIF(isub.EQ.217) THEN
88  izid1=2
89  izid2=2
90  ELSEIF(isub.EQ.218) THEN
91  izid1=3
92  izid2=3
93  ELSEIF(isub.EQ.219) THEN
94  izid1=4
95  izid2=4
96  ELSEIF(isub.EQ.220) THEN
97  izid1=1
98  izid2=2
99  ELSEIF(isub.EQ.221) THEN
100  izid1=1
101  izid2=3
102  ELSEIF(isub.EQ.222) THEN
103  izid1=1
104  izid2=4
105  ELSEIF(isub.EQ.223) THEN
106  izid1=2
107  izid2=3
108  ELSEIF(isub.EQ.224) THEN
109  izid1=2
110  izid2=4
111  ELSEIF(isub.EQ.225) THEN
112  izid1=3
113  izid2=4
114  ENDIF
115  isub=216
116 
117 C...Charginos
118  ELSEIF(isub.GE.226.AND.isub.LE.228) THEN
119  IF(isub.EQ.226) THEN
120  izid1=1
121  izid2=1
122  ELSEIF(isub.EQ.227) THEN
123  izid1=2
124  izid2=2
125  ELSEIF(isub.EQ.228) THEN
126  izid1=1
127  izid2=2
128  ENDIF
129  isub=226
130 
131 C...Neutralino + chargino
132  ELSEIF(isub.GE.229.AND.isub.LE.236) THEN
133  IF(isub.EQ.229) THEN
134  izid1=1
135  izid2=1
136  ELSEIF(isub.EQ.230) THEN
137  izid1=1
138  izid2=2
139  ELSEIF(isub.EQ.231) THEN
140  izid1=1
141  izid2=3
142  ELSEIF(isub.EQ.232) THEN
143  izid1=1
144  izid2=4
145  ELSEIF(isub.EQ.233) THEN
146  izid1=2
147  izid2=1
148  ELSEIF(isub.EQ.234) THEN
149  izid1=2
150  izid2=2
151  ELSEIF(isub.EQ.235) THEN
152  izid1=2
153  izid2=3
154  ELSEIF(isub.EQ.236) THEN
155  izid1=2
156  izid2=4
157  ENDIF
158  isub=229
159 
160 C...Gluino + neutralino
161  ELSEIF(isub.GE.237.AND.isub.LE.240) THEN
162  IF(isub.EQ.237) THEN
163  izid=1
164  ELSEIF(isub.EQ.238) THEN
165  izid=2
166  ELSEIF(isub.EQ.239) THEN
167  izid=3
168  ELSEIF(isub.EQ.240) THEN
169  izid=4
170  ENDIF
171  isub=237
172 
173 C...Gluino + chargino
174  ELSEIF(isub.GE.241.AND.isub.LE.242) THEN
175  IF(isub.EQ.241) THEN
176  izid=1
177  ELSEIF(isub.EQ.242) THEN
178  izid=2
179  ENDIF
180  isub=241
181 
182 C...Squark + neutralino
183  ELSEIF(isub.GE.246.AND.isub.LE.253) THEN
184  ilr=0
185  IF(mod(isub,2).NE.0) ilr=1
186  IF(isub.LE.247) THEN
187  izid=1
188  ELSEIF(isub.LE.249) THEN
189  izid=2
190  ELSEIF(isub.LE.251) THEN
191  izid=3
192  ELSEIF(isub.LE.253) THEN
193  izid=4
194  ENDIF
195  isub=246
196  rkf=5d0
197 
198 C...Squark + chargino
199  ELSEIF(isub.GE.254.AND.isub.LE.257) THEN
200  IF(isub.LE.255) THEN
201  izid=1
202  ELSEIF(isub.LE.257) THEN
203  izid=2
204  ENDIF
205  IF(mod(isub,2).EQ.0) THEN
206  ilr=0
207  ELSE
208  ilr=1
209  ENDIF
210  isub=254
211  rkf=5d0
212 
213 C...Squark + gluino
214  ELSEIF(isub.EQ.258.OR.isub.EQ.259) THEN
215  isub=258
216  rkf=4d0
217 
218 C...Stops
219  ELSEIF(isub.EQ.261.OR.isub.EQ.262) THEN
220  ilr=0
221  IF(isub.EQ.262) ilr=1
222  isub=261
223  ELSEIF(isub.EQ.265) THEN
224  isub=264
225 
226 C...Squarks
227  ELSEIF(isub.GE.271.AND.isub.LE.280) THEN
228  ilr=0
229  IF(isub.LE.273) THEN
230  IF(isub.EQ.273) ilr=1
231  isub=271
232  rkf=16d0
233  ELSEIF(isub.LE.276) THEN
234  IF(isub.EQ.276) ilr=1
235  isub=274
236  rkf=16d0
237  ELSEIF(isub.LE.278) THEN
238  IF(isub.EQ.278) ilr=1
239  isub=277
240  rkf=4d0
241  ELSE
242  IF(isub.EQ.280) ilr=1
243  isub=279
244  rkf=4d0
245  ENDIF
246 C...Sbottoms
247  ELSEIF(isub.GE.281.AND.isub.LE.296) THEN
248  ilr=0
249  IF(isub.LE.283) THEN
250  IF(isub.EQ.283) ilr=1
251  isub=271
252  rkf=4d0
253  ELSEIF(isub.LE.286) THEN
254  IF(isub.EQ.286) ilr=1
255  isub=274
256  rkf=4d0
257  ELSEIF(isub.LE.288) THEN
258  IF(isub.EQ.288) ilr=1
259  isub=277
260  rkf=1d0
261  ELSEIF(isub.LE.290) THEN
262  IF(isub.EQ.290) ilr=1
263  isub=279
264  rkf=1d0
265  ELSEIF(isub.LE.293) THEN
266  IF(isub.EQ.293) ilr=1
267  isub=271
268  rkf=1d0
269  ELSEIF(isub.EQ.296) THEN
270  ilr=1
271  isub=274
272  rkf=1d0
273 C...Squark + gluino
274  ELSEIF(isub.EQ.294.OR.isub.EQ.295) THEN
275  isub=258
276  rkf=1d0
277  ENDIF
278 C...H+/- + H0
279  ELSEIF(isub.EQ.297.OR.isub.EQ.298) THEN
280  IF(isub.EQ.297) THEN
281  rkf=.5d0*paru(195)**2
282  ELSEIF(isub.EQ.298) THEN
283  rkf=.5d0*(1d0-paru(195)**2)
284  ENDIF
285  isub=210
286 C...A0 + H0
287  ELSEIF(isub.EQ.299.OR.isub.EQ.300) THEN
288  IF(isub.EQ.299) THEN
289  rkf=paru(186)**2
290  kfid=25
291  ELSEIF(isub.EQ.300) THEN
292  rkf=paru(187)**2
293  kfid=35
294  ENDIF
295  isub=213
296 C...H+ + H-
297  ELSEIF(isub.EQ.301) THEN
298  kfid=37
299  rkf=1d0
300  isub=201
301  ENDIF
302 
303 C...Supersymmetric processes - all of type 2 -> 2 :
304 C...correct final-state Breit-Wigners from fixed to running width.
305  IF(mstp(42).GT.0) THEN
306  DO 100 i=1,2
307  kflw=kfpr(isubsv,i)
308  kcw=pycomp(kflw)
309  IF(pmas(kcw,2).LT.parp(41)) goto 100
310  IF(i.EQ.1) sqmi=sqm3
311  IF(i.EQ.2) sqmi=sqm4
312  sqms=pmas(kcw,1)**2
313  gmms=pmas(kcw,1)*pmas(kcw,2)
314  hbws=gmms/((sqmi-sqms)**2+gmms**2)
315  CALL pywidt(kflw,sqmi,wdtp,wdte)
316  gmmi=sqrt(sqmi)*wdtp(0)
317  hbwi=gmmi/((sqmi-sqms)**2+gmmi**2)
318  comfac=comfac*(hbwi/hbws)
319  100 CONTINUE
320  ENDIF
321 
322 C...Differential cross section expressions.
323 
324  IF(isub.LE.210) THEN
325  IF(isub.EQ.201) THEN
326 C...f + fbar -> e_L + e_Lbar
327  comfac=comfac*wids(pycomp(kfpr(isubsv,1)),1)
328  DO 130 i=mmin1,mmax1
329  ia=iabs(i)
330  IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 130
331  ei=kchg(ia,1)/3d0
332  tt3i=sign(1d0,ei+1d-6)/2d0
333  ej=-1d0
334  tt3j=-1d0/2d0
335  fcol=1d0
336 C...Color factor for e+ e-
337  IF(ia.GE.11) fcol=3d0
338  IF(isubsv.EQ.301) THEN
339  a1=1d0
340  a2=0d0
341  ELSEIF(ilr.EQ.1) THEN
342  a1=sfmix(kfid,3)**2
343  a2=sfmix(kfid,4)**2
344  ELSEIF(ilr.EQ.0) THEN
345  a1=sfmix(kfid,1)**2
346  a2=sfmix(kfid,2)**2
347  ENDIF
348  xlq=(tt3j-ej*xw)*a1
349  xrq=(-ej*xw)*a2
350  xlf=(tt3i-ei*xw)
351  xrf=(-ei*xw)
352  taa=(ei*ej)**2*(poll+polr)
353  tzz=(xlf**2*poll+xrf**2*polr)*(xlq+xrq)**2/xw**2/xw1**2
354  tzz=tzz/((1d0-sqmz/sh)**2+sqmz*zwid/sh**2)
355  taz=2d0*ei*ej*(xlq+xrq)*(xlf*poll+xrf*polr)/xw/xw1
356  taz=taz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*(1d0-sqmz/sh)
357  tnn=0.0d0
358  tan=0.0d0
359  tzn=0.0d0
360  IF(ia.GE.11.AND.ia.LE.18.AND.kfid.EQ.ia) THEN
361  fac2=sqrt(2d0)
362  tnn1=0d0
363  tnn2=0d0
364  tnn3=0d0
365  DO 120 ii=1,4
366  dk=1d0/(th-smz(ii)**2)
367  flek=-fac2*(tt3i*zmix(ii,2)-tanw*(tt3i-ei)*
368  & zmix(ii,1))
369  frek=fac2*tanw*ei*zmix(ii,1)
370  tnn1=tnn1+flek**2*dk
371  tnn2=tnn2+frek**2*dk
372  DO 110 jj=1,4
373  dl=1d0/(th-smz(jj)**2)
374  flel=-fac2*(tt3j*zmix(jj,2)-tanw*(tt3j-ej)*
375  & zmix(jj,1))
376  frel=fac2*tanw*ej*zmix(jj,1)
377  tnn3=tnn3+flek*frek*flel*frel*dk*dl*smz(ii)*smz(jj)
378  110 CONTINUE
379  120 CONTINUE
380  tnn=(uh*th-sqm3*sqm4)*(a1**2*tnn1**2*poll+
381  & a2**2*tnn2**2*polr)
382  tnn=(tnn+sh*a1*a2*tnn3*((1d0-parj(131))*(1d0-parj(132))+
383  & (1d0+parj(131))*(1d0+parj(132))))/4d0/xw**2
384  tzn=(uh*th-sqm3*sqm4)*(xlq+xrq)*
385  & (tnn1*xlf*a1*poll+tnn2*xrf*a2*polr)
386  tzn=tzn/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*
387  & (1d0-sqmz/sh)/sh
388  tzn=tzn/xw**2/xw1
389  tan=ei*ej*(uh*th-sqm3*sqm4)/sh*(a1*tnn1*poll+
390  & a2*tnn2*polr)/xw
391  ENDIF
392  facqq1=comfac*aem**2*(taa+tzz+taz)*fcol/3d0
393  facqq1=facqq1*( uh*th-sqm3*sqm4 )/sh**2
394  facqq2=comfac*aem**2*(tnn+tzn+tan)*fcol/3d0
395  nchn=nchn+1
396  isig(nchn,1)=i
397  isig(nchn,2)=-i
398  isig(nchn,3)=1
399  sigh(nchn)=facqq1+facqq2
400  130 CONTINUE
401 
402  ELSEIF(isub.EQ.203) THEN
403 C...f + fbar -> e_L + e_Rbar
404  DO 160 i=mmin1,mmax1
405  ia=iabs(i)
406  IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 160
407  ei=kchg(iabs(i),1)/3d0
408  tt3i=sign(1d0,ei)/2d0
409  ej=-1
410  tt3j=-1d0/2d0
411  fcol=1d0
412 C...Color factor for e+ e-
413  IF(ia.GE.11) fcol=3d0
414  a1=sfmix(kfid,1)**2
415  a2=sfmix(kfid,2)**2
416  xlq=(tt3j-ej*xw)
417  xrq=(-ej*xw)
418  xlf=(tt3i-ei*xw)
419  xrf=(-ei*xw)
420  tzz=(xlf**2*poll+xrf**2*polr)*(xlq-xrq)**2
421  & /xw**2/xw1**2*a1*a2
422  tzz=tzz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)
423  tnn=0.0d0
424  tzn=0.0d0
425  tnna=0d0
426  tnnb=0d0
427  IF(ia.GE.11.AND.ia.LE.18.AND.kfid.EQ.ia) THEN
428  fac2=sqrt(2d0)
429  tnn1=0d0
430  tnn2=0d0
431  tnn3=0d0
432  DO 150 ii=1,4
433  dk=1d0/(th-smz(ii)**2)
434  flek=-fac2*(tt3i*zmix(ii,2)-tanw*(tt3i-ei)*
435  & zmix(ii,1))
436  frek=fac2*tanw*ei*zmix(ii,1)
437  tnn1=tnn1+flek**2*dk
438  tnn2=tnn2+frek**2*dk
439  DO 140 jj=1,4
440  dl=1d0/(th-smz(jj)**2)
441  flel=-fac2*(tt3j*zmix(jj,2)-tanw*(tt3j-ej)*
442  & zmix(jj,1))
443  frel=fac2*tanw*ej*zmix(jj,1)
444  tnn3=tnn3+flek*frek*flel*frel*dk*dl*smz(ii)*smz(jj)
445  140 CONTINUE
446  150 CONTINUE
447  tnn=(uh*th-sqm3*sqm4)*a1*a2*(tnn2**2*polr+tnn1**2*poll)
448  tnna=(tnn+sh*(a1**2*polll+a2**2*polrr)*tnn3)/4d0
449  tnnb=(tnn+sh*(a1**2*polrr+a2**2*polll)*tnn3)/4d0
450  tzn=(uh*th-sqm3*sqm4)*a1*a2
451  tzn=tzn*(xlq-xrq)*(xlf*tnn1*poll-xrf*tnn2*polr)/xw1
452  tzn=tzn/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*
453  & (1d0-sqmz/sh)/sh
454  ENDIF
455  facqq0=comfac*aem**2*tzz*fcol/3d0*(uh*th-sqm3*sqm4)/sh2
456  facqq2=comfac*aem**2/xw**2*(tnna+tzn)*fcol/3d0
457  facqq1=comfac*aem**2/xw**2*(tnnb+tzn)*fcol/3d0
458 C%%%%%%%%%%%
459  nchn=nchn+1
460  isig(nchn,1)=i
461  isig(nchn,2)=-i
462  isig(nchn,3)=1
463  sigh(nchn)=(facqq0+facqq1)*wids(pycomp(kfpr(isubsv,1)),2)*
464  & wids(pycomp(kfpr(isubsv,2)),3)
465  nchn=nchn+1
466  isig(nchn,1)=i
467  isig(nchn,2)=-i
468  isig(nchn,3)=2
469  sigh(nchn)=(facqq0+facqq2)*wids(pycomp(kfpr(isubsv,1)),3)*
470  & wids(pycomp(kfpr(isubsv,2)),2)
471  160 CONTINUE
472 
473  ELSEIF(isub.EQ.210) THEN
474 C...q + qbar' -> W*- > ~l_L + ~nu_L
475  fac0=rkf*comfac*aem**2/xw**2/12d0
476  fac1=(th*uh-sqm3*sqm4)/((sh-sqmw)**2+wwid**2*sqmw)
477  DO 180 i=mmin1,mmax1
478  ia=iabs(i)
479  IF(i.EQ.0.OR.ia.GT.10.OR.kfac(1,i).EQ.0) goto 180
480  DO 170 j=mmin2,mmax2
481  ja=iabs(j)
482  IF(j.EQ.0.OR.ja.GT.10.OR.kfac(2,j).EQ.0) goto 170
483  IF(i*j.GT.0.OR.mod(ia+ja,2).EQ.0) goto 170
484  fckm=3d0
485  IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
486  kchsum=kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j)
487  kchw=2
488  IF(kchsum.LT.0) kchw=3
489  nchn=nchn+1
490  isig(nchn,1)=i
491  isig(nchn,2)=j
492  isig(nchn,3)=1
493  IF(isubsv.EQ.297.OR.isubsv.EQ.298) THEN
494  facr=wids(pycomp(kfpr(isubsv,1)),5-kchw)*
495  & wids(pycomp(kfpr(isubsv,2)),2)
496  ELSE
497  facr=wids(pycomp(kfpr(isubsv,1)),5-kchw)*
498  & wids(pycomp(kfpr(isubsv,2)),kchw)
499  ENDIF
500  sigh(nchn)=fac0*fac1*fckm*facr
501  170 CONTINUE
502  180 CONTINUE
503  ENDIF
504 
505  ELSEIF(isub.LE.220) THEN
506  IF(isub.EQ.213) THEN
507 C...f + fbar -> ~nu_L + ~nu_Lbar
508  IF(isubsv.EQ.299.OR.isubsv.EQ.300) THEN
509  facr=wids(pycomp(kfpr(isubsv,1)),2)*
510  & wids(pycomp(kfpr(isubsv,2)),2)
511  ELSE
512  facr=wids(pycomp(kfpr(isubsv,1)),1)
513  ENDIF
514  comfac=comfac*facr
515  propz2=(sh-sqmz)**2+zwid**2*sqmz
516  xll=0.5d0
517  xlr=0.0d0
518  DO 190 i=mmin1,mmax1
519  ia=iabs(i)
520  IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 190
521  ei=kchg(ia,1)/3d0
522  fcol=1d0
523 C...Color factor for e+ e-
524  IF(ia.GE.11) fcol=3d0
525  xlq=(sign(1d0,ei)-2d0*ei*xw)/2d0
526  xrq=-ei*xw
527  tzc=0.0d0
528  tcc=0.0d0
529  IF(ia.GE.11.AND.kfid.EQ.ia+1) THEN
530  tzc=vmix(1,1)**2/(th-smw(1)**2)+vmix(2,1)**2/
531  & (th-smw(2)**2)
532  tcc=tzc**2
533  tzc=tzc/xw1*(sh-sqmz)/propz2*xlq*xll
534  ENDIF
535  facqq1=(xlq**2+xrq**2)*(xll+xlr)**2/xw1**2/propz2
536  facqq2=tzc+tcc/4d0
537  nchn=nchn+1
538  isig(nchn,1)=i
539  isig(nchn,2)=-i
540  isig(nchn,3)=1
541  sigh(nchn)=(facqq1+facqq2)*rkf*(uh*th-sqm3*sqm4)*comfac
542  & *aem**2*fcol/3d0/xw**2
543  190 CONTINUE
544 
545  ELSEIF(isub.EQ.216) THEN
546 C...q + qbar -> ~chi0_1 + ~chi0_1
547  IF(izid1.EQ.izid2) THEN
548  comfac=comfac*wids(pycomp(kfpr(isubsv,1)),1)
549  ELSE
550  comfac=comfac*wids(pycomp(kfpr(isubsv,1)),2)*
551  & wids(pycomp(kfpr(isubsv,2)),2)
552  ENDIF
553  facxx=comfac*aem**2/3d0/xw**2
554  IF(izid1.EQ.izid2) facxx=facxx/2d0
555  zm12=sqm3
556  zm22=sqm4
557  wu2 = (uh-zm12)*(uh-zm22)
558  wt2 = (th-zm12)*(th-zm22)
559  ws2 = smz(izid1)*smz(izid2)*sh
560  propz2 = (sh-sqmz)**2 + sqmz*zwid**2
561  propz=dcmplx(sh-sqmz,-zwid*pmas(23,1))/dcmplx(propz2)
562  DO 200 i=1,4
563  zmixc(izid1,i)=dcmplx(zmix(izid1,i),zmixi(izid1,i))
564  IF(izid2.NE.izid1) THEN
565  zmixc(izid2,i)=dcmplx(zmix(izid2,i),zmixi(izid2,i))
566  ENDIF
567  200 CONTINUE
568  olpp=(zmixc(izid1,3)*dconjg(zmixc(izid2,3))-
569  & zmixc(izid1,4)*dconjg(zmixc(izid2,4)))/2d0
570  orpp=dconjg(olpp)
571  DO 210 i=mmina,mmaxa
572  IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 210
573  ei=kchg(iabs(i),1)/3d0
574  t3i=sign(1d0,ei+1d-6)/2d0
575  xml2=pmas(pycomp(ksusy1+iabs(i)),1)**2
576  xmr2=pmas(pycomp(ksusy2+iabs(i)),1)**2
577  glij=(t3i*zmixc(izid1,2)-tanw*(t3i-ei)*zmixc(izid1,1))*
578  & dconjg(t3i*zmixc(izid2,2)-tanw*(t3i-ei)*zmixc(izid2,1))
579  grij=zmixc(izid1,1)*dconjg(zmixc(izid2,1))*(ei*tanw)**2
580  qll=dcmplx((t3i-ei*xw)/xw1)*olpp*propz-glij/dcmplx(uh-xml2)
581  qlr=-dcmplx((t3i-ei*xw)/xw1)*orpp*propz+dconjg(glij)
582  & /dcmplx(th-xml2)
583  qrl=-dcmplx((ei*xw)/xw1)*olpp*propz+grij/dcmplx(th-xmr2)
584  qrr=dcmplx((ei*xw)/xw1)*orpp*propz
585  & -dconjg(grij)/dcmplx(uh-xmr2)
586  fcol=1d0
587  IF(iabs(i).GE.11) fcol=3d0
588  facgg1=(abs(qll)**2*poll+abs(qrr)**2*polr)*wu2+
589  & (abs(qrl)**2*polr+abs(qlr)**2*poll)*wt2+
590  & 2d0*dble(qlr*dconjg(qll)*poll+
591  & qrl*dconjg(qrr)*polr)*ws2
592  nchn=nchn+1
593  isig(nchn,1)=i
594  isig(nchn,2)=-i
595  isig(nchn,3)=1
596  sigh(nchn)=facxx*facgg1*fcol
597  210 CONTINUE
598  ENDIF
599 
600  ELSEIF(isub.LE.230) THEN
601  IF(isub.EQ.226) THEN
602 C...f + fbar -> ~chi+_1 + ~chi-_1
603  facxx=comfac*aem**2/3d0
604  zm12=sqm3
605  zm22=sqm4
606  wu2 = (uh-zm12)*(uh-zm22)
607  wt2 = (th-zm12)*(th-zm22)
608  ws2 = smw(izid1)*smw(izid2)*sh
609  propz2 = (sh-sqmz)**2 + sqmz*zwid**2
610  propz=dcmplx(sh-sqmz,-zwid*pmas(23,1))/dcmplx(propz2)
611  diff=0d0
612  IF(izid1.EQ.izid2) diff=1d0
613  DO 220 i=1,2
614  vmixc(izid1,i)=dcmplx(vmix(izid1,i),vmixi(izid1,i))
615  umixc(izid1,i)=dcmplx(umix(izid1,i),umixi(izid1,i))
616  IF(izid2.NE.izid1) THEN
617  vmixc(izid2,i)=dcmplx(vmix(izid2,i),vmixi(izid2,i))
618  umixc(izid2,i)=dcmplx(umix(izid2,i),umixi(izid2,i))
619  ENDIF
620  220 CONTINUE
621  olp=-vmixc(izid2,1)*dconjg(vmixc(izid1,1))-
622  & vmixc(izid2,2)*dconjg(vmixc(izid1,2))/2d0+dcmplx(xw*diff)
623  orp=-umixc(izid1,1)*dconjg(umixc(izid2,1))-
624  & umixc(izid1,2)*dconjg(umixc(izid2,2))/2d0+dcmplx(xw*diff)
625  DO 230 i=mmina,mmaxa
626  IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 230
627  ei=kchg(iabs(i),1)/3d0
628  t3i=sign(1d0,ei+1d-6)/2d0
629  qrl=dcmplx(-ei/sh*diff)-dcmplx(ei/xw1)*propz*orp
630  qll=dcmplx(-ei/sh*diff)+dcmplx((t3i-xw*ei)/xw/xw1)*propz*orp
631  qrr=dcmplx(-ei/sh*diff)-dcmplx(ei/xw1)*propz*olp
632  IF(mod(i,2).EQ.0) THEN
633  xml2=pmas(pycomp(ksusy1+iabs(i)-1),1)**2
634  qlr=dcmplx(-ei/sh*diff)+dcmplx((t3i-xw*ei)/xw/xw1)*
635  & propz*olp-umixc(izid2,1)*dconjg(umixc(izid1,1))*
636  & dcmplx(t3i/xw/(th-xml2))
637  ELSE
638  xml2=pmas(pycomp(ksusy1+iabs(i)+1),1)**2
639  qlr=dcmplx(-ei/sh*diff)+dcmplx((t3i-xw*ei)/xw/xw1)*
640  & propz*olp-vmixc(izid2,1)*dconjg(vmixc(izid1,1))*
641  & dcmplx(t3i/xw/(th-xml2))
642  ENDIF
643  fcol=1d0
644  IF(iabs(i).GE.11) fcol=3d0
645  facsum=((abs(qll)**2*poll+abs(qrr)**2*polr)*wu2+
646  & (abs(qrl)**2*polr+abs(qlr)**2*poll)*wt2+
647  & 2d0*dble(qlr*dconjg(qll)*poll+
648  & qrl*dconjg(qrr)*polr)*ws2)*facxx*fcol
649  nchn=nchn+1
650  isig(nchn,1)=i
651  isig(nchn,2)=-i
652  isig(nchn,3)=1
653  IF(izid1.EQ.izid2) THEN
654  sigh(nchn)=facsum*wids(pycomp(kfpr(isubsv,1)),1)
655  ELSE
656  sigh(nchn)=facsum*wids(pycomp(kfpr(isubsv,1)),3)*
657  & wids(pycomp(kfpr(isubsv,2)),2)
658  nchn=nchn+1
659  isig(nchn,1)=i
660  isig(nchn,2)=-i
661  isig(nchn,3)=2
662  sigh(nchn)=facsum*wids(pycomp(kfpr(isubsv,1)),2)*
663  & wids(pycomp(kfpr(isubsv,2)),3)
664  ENDIF
665  230 CONTINUE
666 
667  ELSEIF(isub.EQ.229) THEN
668 C...q + qbar' -> ~chi0_1 + ~chi+-_1
669  facxx=comfac*aem**2/6d0/xw**2
670  zm12=sqm3
671  zm22=sqm4
672  wu2 = (uh-zm12)*(uh-zm22)
673  wt2 = (th-zm12)*(th-zm22)
674  ws2 = smw(izid1)*smz(izid2)*sh
675  rt2i = 1d0/sqrt(2d0)
676  propw = dcmplx(sh-sqmw,-wwid*pmas(24,1))/
677  & dcmplx((sh-sqmw)**2+wwid**2*sqmw,0d0)
678  DO 240 i=1,2
679  vmixc(izid1,i)=dcmplx(vmix(izid1,i),vmixi(izid1,i))
680  umixc(izid1,i)=dcmplx(umix(izid1,i),umixi(izid1,i))
681  240 CONTINUE
682  DO 250 i=1,4
683  zmixc(izid2,i)=dcmplx(zmix(izid2,i),zmixi(izid2,i))
684  250 CONTINUE
685  ol=(dconjg(zmixc(izid2,2))*vmixc(izid1,1)-
686  & dconjg(zmixc(izid2,4))*vmixc(izid1,2)*rt2i)*propw
687  or=(zmixc(izid2,2)*dconjg(umixc(izid1,1))+
688  & zmixc(izid2,3)*dconjg(umixc(izid1,2))*rt2i)*propw
689 
690  DO 270 i=mmin1,mmax1
691  ia=iabs(i)
692  IF(i.EQ.0.OR.ia.GT.20.OR.kfac(1,i).EQ.0) goto 270
693  ei=kchg(ia,1)/3d0
694  t3i=sign(1d0,ei+1d-6)/2d0
695  DO 260 j=mmin2,mmax2
696  ja=iabs(j)
697  IF(j.EQ.0.OR.ja.GT.20.OR.kfac(2,j).EQ.0) goto 260
698  IF(i*j.GT.0.OR.mod(ia+ja,2).EQ.0) goto 260
699  ej=kchg(ja,1)/3d0
700  t3j=sign(1d0,ej+1d-6)/2d0
701  fckm=3d0
702  IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
703  kchsum=kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j)
704  kchw=2
705  IF(kchsum.LT.0) kchw=3
706  IF(mod(ia,2).EQ.0) THEN
707  zmi2 = pmas(pycomp(ksusy1+ia),1)**2
708  zmj2 = pmas(pycomp(ksusy1+ja),1)**2
709  qll=ol+vmixc(izid1,1)*dconjg(zmixc(izid2,1)*(ei-t3i)*
710  & tanw+zmixc(izid2,2)*t3i)/dcmplx(uh-zmi2)
711  qlr=or-dconjg(umixc(izid1,1))*(
712  & zmixc(izid2,1)*(ej-t3j)*tanw+zmixc(izid2,2)*t3j)
713  & /dcmplx(th-zmj2)
714  ELSE
715  zmi2 = pmas(pycomp(ksusy1+ja),1)**2
716  zmj2 = pmas(pycomp(ksusy1+ia),1)**2
717  qll=ol+vmixc(izid1,1)*dconjg(zmixc(izid2,1)*(ej-t3j)*
718  & tanw+zmixc(izid2,2)*t3j)/dcmplx(uh-zmj2)
719  qlr=or-dconjg(umixc(izid1,1))*(
720  & zmixc(izid2,1)*(ei-t3i)*tanw+zmixc(izid2,2)*t3i)
721  & /dcmplx(th-zmi2)
722  ENDIF
723  zintr=dble(qlr*dconjg(qll))
724  facgg1=facxx*(abs(qll)**2*wu2+abs(qlr)**2*wt2+
725  & 2d0*zintr*ws2)
726  nchn=nchn+1
727  isig(nchn,1)=i
728  isig(nchn,2)=j
729  isig(nchn,3)=1
730  sigh(nchn)=facgg1*fckm*wids(pycomp(kfpr(isubsv,1)),2)*
731  & wids(pycomp(kfpr(isubsv,2)),kchw)
732  260 CONTINUE
733  270 CONTINUE
734  ENDIF
735 
736  ELSEIF(isub.LE.240) THEN
737  IF(isub.EQ.237) THEN
738 C...q + qbar -> gluino + ~chi0_1
739  comfac=comfac*wids(pycomp(kfpr(isubsv,1)),2)*
740  & wids(pycomp(kfpr(isubsv,2)),2)
741  asyuk=rmss(42)*as
742  fac0=comfac*asyuk*aem*4d0/9d0/xw
743  gm2=sqm3
744  zm2=sqm4
745  DO 280 i=mmina,mmaxa
746  IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 280
747  ei=kchg(iabs(i),1)/3d0
748  ia=iabs(i)
749  xlqc = -tanw*ei*zmix(izid,1)
750  xrqc =(sign(1d0,ei)*zmix(izid,2)-tanw*
751  & (sign(1d0,ei)-2d0*ei)*zmix(izid,1))/2d0
752  xlq2=xlqc**2
753  xrq2=xrqc**2
754  xml2=pmas(pycomp(ksusy1+ia),1)**2
755  xmr2=pmas(pycomp(ksusy2+ia),1)**2
756  atkin=(th-gm2)*(th-zm2)/(th-xml2)**2
757  aukin=(uh-gm2)*(uh-zm2)/(uh-xml2)**2
758  atukin=smz(izid)*sqrt(gm2)*sh/(th-xml2)/(uh-xml2)
759  sgchil=xlq2*(atkin+aukin-2d0*atukin)
760  atkin=(th-gm2)*(th-zm2)/(th-xmr2)**2
761  aukin=(uh-gm2)*(uh-zm2)/(uh-xmr2)**2
762  atukin=smz(izid)*sqrt(gm2)*sh/(th-xmr2)/(uh-xmr2)
763  sgchir=xrq2*(atkin+aukin-2d0*atukin)
764  nchn=nchn+1
765  isig(nchn,1)=i
766  isig(nchn,2)=-i
767  isig(nchn,3)=1
768  sigh(nchn)=fac0*(sgchil+sgchir)
769  280 CONTINUE
770  ENDIF
771 
772  ELSEIF(isub.LE.250) THEN
773  IF(isub.EQ.241) THEN
774 C...q + qbar' -> ~chi+-_1 + gluino
775  facwg=comfac*as*aem/xw*2d0/9d0
776  gm2=sqm3
777  zm2=sqm4
778  fac01=2d0*umix(izid,1)*vmix(izid,1)
779  fac0=umix(izid,1)**2
780  fac1=vmix(izid,1)**2
781  DO 300 i=mmin1,mmax1
782  ia=iabs(i)
783  IF(i.EQ.0.OR.ia.GT.10.OR.kfac(1,i).EQ.0) goto 300
784  DO 290 j=mmin2,mmax2
785  ja=iabs(j)
786  IF(j.EQ.0.OR.ja.GT.10.OR.kfac(2,j).EQ.0) goto 290
787  IF(i*j.GT.0.OR.mod(ia+ja,2).EQ.0) goto 290
788  fckm=1d0
789  IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
790  kchsum=kchg(ia,1)*isign(1,i)+kchg(ja,1)*isign(1,j)
791  kchw=2
792  IF(kchsum.LT.0) kchw=3
793  xmu2=pmas(pycomp(ksusy1+2),1)**2
794  xmd2=pmas(pycomp(ksusy1+1),1)**2
795  atkin=(th-gm2)*(th-zm2)/(th-xmu2)**2
796  aukin=(uh-gm2)*(uh-zm2)/(uh-xmd2)**2
797  atukin=smw(izid)*sqrt(gm2)*sh/(th-xmu2)/(uh-xmd2)
798  xmu2=pmas(pycomp(ksusy2+2),1)**2
799  xmd2=pmas(pycomp(ksusy2+1),1)**2
800  atkin=(atkin+(th-gm2)*(th-zm2)/(th-xmu2)**2)/2d0
801  aukin=(aukin+(uh-gm2)*(uh-zm2)/(uh-xmd2)**2)/2d0
802  atukin=(atukin+smw(izid)*sqrt(gm2)*
803  & sh/(th-xmu2)/(uh-xmd2))/2d0
804  nchn=nchn+1
805  isig(nchn,1)=i
806  isig(nchn,2)=j
807  isig(nchn,3)=1
808  sigh(nchn)=facwg*fckm*(fac0*atkin+fac1*aukin-
809  & fac01*atukin)*wids(pycomp(kfpr(isubsv,1)),2)*
810  & wids(pycomp(kfpr(isubsv,2)),kchw)
811  290 CONTINUE
812  300 CONTINUE
813 
814  ELSEIF(isub.EQ.243) THEN
815 C...q + qbar -> gluino + gluino
816  comfac=comfac*wids(pycomp(kfpr(isubsv,1)),1)
817  xmt=sqm3-th
818  xmu=sqm3-uh
819  DO 310 i=mmina,mmaxa
820  IF(i.EQ.0.OR.iabs(i).GT.mstp(58).OR.
821  & kfac(1,i)*kfac(2,-i).EQ.0) goto 310
822  nchn=nchn+1
823  xsu=pmas(pycomp(ksusy1+iabs(i)),1)**2-uh
824  xst=pmas(pycomp(ksusy1+iabs(i)),1)**2-th
825  facgg1=comfac*as**2*8d0/3d0*( (xmt**2+xmu**2+
826  & 2d0*sqm3*sh)/sh2 + rmss(42)**2*(4d0/9d0*(xmt**2/xst**2+
827  & xmu**2/xsu**2) + sqm3*sh/xst/xsu/9d0) - rmss(42)*(
828  & (xmt**2+sh*sqm3)/sh/xst + (xmu**2+sh*sqm3)/sh/xsu ))
829  xsu=pmas(pycomp(ksusy2+iabs(i)),1)**2-uh
830  xst=pmas(pycomp(ksusy2+iabs(i)),1)**2-th
831  facgg2=comfac*as**2*8d0/3d0*( (xmt**2+xmu**2+
832  & 2d0*sqm3*sh)/sh2 + rmss(42)**2*(4d0/9d0*(xmt**2/xst**2+
833  & xmu**2/xsu**2) + sqm3*sh/xst/xsu/9d0) - rmss(42)*(
834  & (xmt**2+sh*sqm3)/sh/xst + (xmu**2+sh*sqm3)/sh/xsu ))
835  isig(nchn,1)=i
836  isig(nchn,2)=-i
837  isig(nchn,3)=1
838 C...1/2 for identical particles
839  sigh(nchn)=0.25d0*(facgg1+facgg2)
840  310 CONTINUE
841 
842  ELSEIF(isub.EQ.244) THEN
843 C...g + g -> gluino + gluino
844  comfac=comfac*wids(pycomp(kfpr(isubsv,1)),1)
845  xmt=sqm3-th
846  xmu=sqm3-uh
847  facqq1=comfac*as**2*9d0/4d0*(
848  & (xmt*xmu-2d0*sqm3*(th+sqm3))/xmt**2 -
849  & (xmt*xmu+sqm3*(uh-th))/sh/xmt )
850  facqq2=comfac*as**2*9d0/4d0*(
851  & (xmu*xmt-2d0*sqm3*(uh+sqm3))/xmu**2 -
852  & (xmu*xmt+sqm3*(th-uh))/sh/xmu )
853  facqq3=comfac*as**2*9d0/4d0*(2d0*xmt*xmu/sh2 +
854  & sqm3*(sh-4d0*sqm3)/xmt/xmu)
855  IF(kfac(1,21)*kfac(2,21).EQ.0) goto 320
856  nchn=nchn+1
857  isig(nchn,1)=21
858  isig(nchn,2)=21
859  isig(nchn,3)=1
860  sigh(nchn)=facqq1/2d0
861  nchn=nchn+1
862  isig(nchn,1)=21
863  isig(nchn,2)=21
864  isig(nchn,3)=2
865  sigh(nchn)=facqq2/2d0
866  nchn=nchn+1
867  isig(nchn,1)=21
868  isig(nchn,2)=21
869  isig(nchn,3)=3
870  sigh(nchn)=facqq3/2d0
871  320 CONTINUE
872 
873  ELSEIF(isub.EQ.246) THEN
874 C...g + q_j -> ~chi0_1 + ~q_j
875  fac0=comfac*as*aem/6d0/xw
876  zm2=sqm4
877  qm2=sqm3
878  faczq0=fac0*( (zm2-th)/sh +
879  & (uh-zm2)*(uh+qm2)/(uh-qm2)**2 -
880  & (sh*(uh+zm2)+2d0*(qm2-zm2)*(zm2-uh))/sh/(uh-qm2) )
881  kfnsq=mod(kfpr(isubsv,1),ksusy1)
882  DO 340 i=-kfnsq,kfnsq,2*kfnsq
883  IF(i.LT.mmina.OR.i.GT.mmaxa) goto 340
884  IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 340
885  ei=kchg(iabs(i),1)/3d0
886  ia=iabs(i)
887  xrqz = -tanw*ei*zmix(izid,1)
888  xlqz =(sign(1d0,ei)*zmix(izid,2)-tanw*
889  & (sign(1d0,ei)-2d0*ei)*zmix(izid,1))/2d0
890  IF(ilr.EQ.0) THEN
891  bs=xlqz**2*sfmix(ia,1)**2+xrqz**2*sfmix(ia,2)**2
892  ELSE
893  bs=xlqz**2*sfmix(ia,3)**2+xrqz**2*sfmix(ia,4)**2
894  ENDIF
895  faczq=faczq0*bs
896  kchq=2
897  IF(i.LT.0) kchq=3
898  DO 330 isde=1,2
899  IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 330
900  IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 330
901  nchn=nchn+1
902  isig(nchn,isde)=i
903  isig(nchn,3-isde)=21
904  isig(nchn,3)=1
905  sigh(nchn)=faczq*rkf*wids(pycomp(kfpr(isubsv,1)),kchq)*
906  & wids(pycomp(kfpr(isubsv,2)),2)
907  330 CONTINUE
908  340 CONTINUE
909  ENDIF
910 
911  ELSEIF(isub.LE.260) THEN
912  IF(isub.EQ.254) THEN
913 C...g + q_j -> ~chi1_1 + ~q_i
914  fac0=comfac*as*aem/12d0/xw
915  zm2=sqm4
916  qm2=sqm3
917  au=umix(izid,1)**2
918  ad=vmix(izid,1)**2
919  faczq0=fac0*( (zm2-th)/sh +
920  & (uh-zm2)*(uh+qm2)/(uh-qm2)**2 -
921  & (sh*(uh+zm2)+2d0*(qm2-zm2)*(zm2-uh))/sh/(uh-qm2) )
922  kfnsq1=mod(kfpr(isubsv,1),ksusy1)
923  IF(mod(kfnsq1,2).EQ.0) THEN
924  kfnsq=kfnsq1-1
925  kchw=2
926  ELSE
927  kfnsq=kfnsq1+1
928  kchw=3
929  ENDIF
930  DO 360 i=-kfnsq,kfnsq,2*kfnsq
931  IF(i.LT.mmina.OR.i.GT.mmaxa) goto 360
932  IF(i.EQ.0.OR.iabs(i).GT.mstp(58)) goto 360
933  ia=iabs(i)
934  IF(mod(ia,2).EQ.0) THEN
935  faczq=faczq0*au
936  ELSE
937  faczq=faczq0*ad
938  ENDIF
939  faczq=faczq*sfmix(kfnsq1,1+2*ilr)**2
940  kchq=2
941  IF(i.LT.0) kchq=3
942  kchwq=kchw
943  IF(i.LT.0) kchwq=5-kchw
944  DO 350 isde=1,2
945  IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 350
946  IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 350
947  nchn=nchn+1
948  isig(nchn,isde)=i
949  isig(nchn,3-isde)=21
950  isig(nchn,3)=1
951  sigh(nchn)=faczq*rkf*wids(pycomp(kfpr(isubsv,1)),kchq)*
952  & wids(pycomp(kfpr(isubsv,2)),kchwq)
953  350 CONTINUE
954  360 CONTINUE
955 
956  ELSEIF(isub.EQ.258) THEN
957 C...g + q_j -> gluino + ~q_i
958  xg2=sqm4
959  xq2=sqm3
960  xmt=xg2-th
961  xmu=xg2-uh
962  xst=xq2-th
963  xsu=xq2-uh
964  facqg1=0.5d0*4d0/9d0*xmt/sh + (xmt*sh+2d0*xg2*xst)/xmt**2 -
965  & ( (sh-xq2+xg2)*(-xst)-sh*xg2 )/sh/(-xmt) +
966  & 0.5d0*1d0/2d0*( xst*(th+2d0*uh+xg2)-xmt*(sh-2d0*xst) +
967  & (-xmu)*(th+xg2+2d0*xq2) )/2d0/xmt/xsu
968  facqg2= 4d0/9d0*(-xmu)*(uh+xq2)/xsu**2 + 1d0/18d0*
969  & (sh*(uh+xg2)
970  & +2d0*(xq2-xg2)*xmu)/sh/(-xsu) + 0.5d0*4d0/9d0*xmt/sh +
971  & 0.5d0*1d0/2d0*(xst*(th+2d0*uh+xg2)-xmt*(sh-2d0*xst)+
972  & (-xmu)*(th+xg2+2d0*xq2))/2d0/xmt/xsu
973  asyuk=rmss(42)*as
974  facqg1=comfac*as*asyuk*facqg1/2d0
975  facqg2=comfac*as*asyuk*facqg2/2d0
976  kfnsq=mod(kfpr(isubsv,1),ksusy1)
977  DO 380 i=-kfnsq,kfnsq,2*kfnsq
978  IF(i.LT.mmina.OR.i.GT.mmaxa) goto 380
979  IF(i.EQ.0.OR.iabs(i).GT.10) goto 380
980  kchq=2
981  IF(i.LT.0) kchq=3
982  facsel=rkf*wids(pycomp(kfpr(isubsv,1)),kchq)*
983  & wids(pycomp(kfpr(isubsv,2)),2)
984  DO 370 isde=1,2
985  IF(isde.EQ.1.AND.kfac(1,i)*kfac(2,21).EQ.0) goto 370
986  IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,i).EQ.0) goto 370
987  nchn=nchn+1
988  isig(nchn,isde)=i
989  isig(nchn,3-isde)=21
990  isig(nchn,3)=1
991  sigh(nchn)=facqg1*facsel
992  nchn=nchn+1
993  isig(nchn,isde)=i
994  isig(nchn,3-isde)=21
995  isig(nchn,3)=2
996  sigh(nchn)=facqg2*facsel
997  370 CONTINUE
998  380 CONTINUE
999  ENDIF
1000 
1001  ELSEIF(isub.LE.270) THEN
1002  IF(isub.EQ.261) THEN
1003 C...q_i + q_ibar -> ~t_1 + ~t_1bar
1004  facqq1=comfac*( (uh*th-sqm3*sqm4)/ sh**2 )*
1005  & wids(pycomp(kfpr(isubsv,1)),1)
1006  kfnsq=mod(kfpr(isubsv,1),ksusy1)
1007  fac0=as**2*4d0/9d0
1008  DO 390 i=mmin1,mmax1
1009  ia=iabs(i)
1010  IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 390
1011  IF(ia.GE.11.AND.ia.LE.18) THEN
1012  ei=kchg(ia,1)/3d0
1013  ej=kchg(kfnsq,1)/3d0
1014  t3i=sign(1d0,ei)/2d0
1015  t3j=sign(1d0,ej)/2d0
1016  xlq=2d0*(t3j-ej*xw)*sfmix(kfnsq,2*ilr+1)**2
1017  xrq=2d0*(-ej*xw)*sfmix(kfnsq,2*ilr+2)**2
1018  xlf=2d0*(t3i-ei*xw)
1019  xrf=2d0*(-ei*xw)
1020  taa=0.5d0*(ei*ej)**2
1021  tzz=(xlf**2+xrf**2)*(xlq+xrq)**2/64d0/xw**2/xw1**2
1022  tzz=tzz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)
1023  taz=ei*ej*(xlq+xrq)*(xlf+xrf)/8d0/xw/xw1
1024  taz=taz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*(1d0-sqmz/sh)
1025  fac0=aem**2*12d0*(taa+tzz+taz)
1026  ENDIF
1027  nchn=nchn+1
1028  isig(nchn,1)=i
1029  isig(nchn,2)=-i
1030  isig(nchn,3)=1
1031  sigh(nchn)=facqq1*fac0
1032  390 CONTINUE
1033 
1034  ELSEIF(isub.EQ.263) THEN
1035 C...f + fbar -> ~t1 + ~t2bar
1036  DO 400 i=mmin1,mmax1
1037  ia=iabs(i)
1038  IF(i.EQ.0.OR.kfac(1,i)*kfac(2,-i).EQ.0) goto 400
1039  ei=kchg(iabs(i),1)/3d0
1040  tt3i=sign(1d0,ei)/2d0
1041  ej=2d0/3d0
1042  tt3j=1d0/2d0
1043  fcol=1d0
1044 C...Color factor for e+ e-
1045  IF(ia.GE.11) fcol=3d0
1046  xlq=2d0*(tt3j-ej*xw)
1047  xrq=2d0*(-ej*xw)
1048  xlf=2d0*(tt3i-ei*xw)
1049  xrf=2d0*(-ei*xw)
1050  tzz=(xlf**2+xrf**2)*(xlq-xrq)**2/64d0/xw**2/xw1**2
1051  tzz=tzz*(sfmix(6,1)*sfmix(6,2))**2
1052  tzz=tzz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)
1053 C...Factor of 2 for t1 t2bar + t2 t1bar
1054  facqq1=2d0*comfac*aem**2*tzz*fcol*4d0
1055  facqq1=facqq1*( uh*th-sqm3*sqm4 )/sh2
1056  nchn=nchn+1
1057  isig(nchn,1)=i
1058  isig(nchn,2)=-i
1059  isig(nchn,3)=1
1060  sigh(nchn)=facqq1*wids(pycomp(kfpr(isubsv,1)),2)*
1061  & wids(pycomp(kfpr(isubsv,2)),3)
1062  nchn=nchn+1
1063  isig(nchn,1)=i
1064  isig(nchn,2)=-i
1065  isig(nchn,3)=2
1066  sigh(nchn)=facqq1*wids(pycomp(kfpr(isubsv,1)),3)*
1067  & wids(pycomp(kfpr(isubsv,2)),2)
1068  400 CONTINUE
1069 
1070  ELSEIF(isub.EQ.264) THEN
1071 C...g + g -> ~t_1 + ~t_1bar
1072  xsu=sqm3-uh
1073  xst=sqm3-th
1074  fac0=comfac*as**2*(7d0/48d0+3d0*(uh-th)**2/16d0/sh2 )*0.5d0*
1075  & wids(pycomp(kfpr(isubsv,1)),1)
1076  facqq1=fac0*(0.5d0+2d0*sqm3*th/xst**2 + 2d0*sqm3**2/xsu/xst)
1077  facqq2=fac0*(0.5d0+2d0*sqm3*uh/xsu**2 + 2d0*sqm3**2/xsu/xst)
1078  IF(kfac(1,21)*kfac(2,21).EQ.0) goto 410
1079  nchn=nchn+1
1080  isig(nchn,1)=21
1081  isig(nchn,2)=21
1082  isig(nchn,3)=1
1083  sigh(nchn)=facqq1
1084  nchn=nchn+1
1085  isig(nchn,1)=21
1086  isig(nchn,2)=21
1087  isig(nchn,3)=2
1088  sigh(nchn)=facqq2
1089  410 CONTINUE
1090  ENDIF
1091 
1092  ELSEIF(isub.LE.280) THEN
1093  IF(isub.EQ.271) THEN
1094 C...q + q' -> ~q + ~q' (~g exchange)
1095  xmg2=pmas(pycomp(ksusy1+21),1)**2
1096  xmt=xmg2-th
1097  xmu=xmg2-uh
1098  xsu1=sqm3-uh
1099  xsu2=sqm4-uh
1100  xst1=sqm3-th
1101  xst2=sqm4-th
1102  asyuk=rmss(42)*as
1103  IF(ilr.EQ.1) THEN
1104  facqq1=comfac*asyuk**2*4d0/9d0*( -(xst1*xst2+sh*th)/xmt**2 )
1105  facqq2=comfac*asyuk**2*4d0/9d0*( -(xsu1*xsu2+sh*uh)/xmu**2 )
1106  facqqb=0.0d0
1107  ELSE
1108  facqq1=0.5d0*comfac*asyuk**2*4d0/9d0*( sh*xmg2/xmt**2 )
1109  facqq2=0.5d0*comfac*asyuk**2*4d0/9d0*( sh*xmg2/xmu**2 )
1110  facqqb=0.5d0*comfac*asyuk**2*4d0/9d0*( -2d0*sh*xmg2/3d0/
1111  & xmt/xmu )
1112  ENDIF
1113  kfnsqi=mod(kfpr(isubsv,1),ksusy1)
1114  kfnsqj=mod(kfpr(isubsv,2),ksusy1)
1115  DO 430 i=-kfnsqi,kfnsqi,2*kfnsqi
1116  IF(i.LT.mmin1.OR.i.GT.mmax1) goto 430
1117  ia=iabs(i)
1118  IF(i.EQ.0.OR.ia.GT.mstp(58).OR.kfac(1,i).EQ.0) goto 430
1119  kchq=2
1120  IF(i.LT.0) kchq=3
1121  DO 420 j=-kfnsqj,kfnsqj,2*kfnsqj
1122  IF(j.LT.mmin2.OR.j.GT.mmax2) goto 420
1123  ja=iabs(j)
1124  IF(j.EQ.0.OR.ja.GT.mstp(58).OR.kfac(2,j).EQ.0) goto 420
1125  IF(i*j.LT.0) goto 420
1126  nchn=nchn+1
1127  isig(nchn,1)=i
1128  isig(nchn,2)=j
1129  isig(nchn,3)=1
1130  sigh(nchn)=facqq1*rkf*wids(pycomp(kfpr(isubsv,1)),kchq)*
1131  & wids(pycomp(kfpr(isubsv,2)),kchq)
1132  IF(i.EQ.j) THEN
1133  IF(ilr.EQ.0) THEN
1134  sigh(nchn)=0.5d0*(facqq1+0.5d0*facqqb)*rkf*
1135  & wids(pycomp(kfpr(isubsv,1)),kchq+2)
1136  ELSE
1137  sigh(nchn)=0.5d0*facqq1*rkf*
1138  & wids(pycomp(kfpr(isubsv,1)),kchq)*
1139  & wids(pycomp(kfpr(isubsv,2)),kchq)
1140  ENDIF
1141  nchn=nchn+1
1142  isig(nchn,1)=i
1143  isig(nchn,2)=j
1144  isig(nchn,3)=2
1145  IF(ilr.EQ.0) THEN
1146  sigh(nchn)=0.5d0*(facqq2+0.5d0*facqqb)*rkf*
1147  & wids(pycomp(kfpr(isubsv,1)),kchq+2)
1148  ELSE
1149  sigh(nchn)=0.5d0*facqq2*rkf*
1150  & wids(pycomp(kfpr(isubsv,1)),kchq)*
1151  & wids(pycomp(kfpr(isubsv,2)),kchq)
1152  ENDIF
1153  ENDIF
1154  420 CONTINUE
1155  430 CONTINUE
1156 
1157  ELSEIF(isub.EQ.274) THEN
1158 C...q + qbar' -> ~q + ~qbar'
1159  xmg2=pmas(pycomp(ksusy1+21),1)**2
1160  xmt=xmg2-th
1161  xmu=xmg2-uh
1162  IF(ilr.EQ.0) THEN
1163 C...Mrenna...Normalization.and.1/XMT
1164  facqq1=comfac*as**2*2d0/9d0*(
1165  & (uh*th-sqm3*sqm4)/xmt**2 )*rmss(42)**2
1166  facqqb=comfac*as**2*4d0/9d0*(
1167  & (uh*th-sqm3*sqm4)/sh2 )
1168  facqqi=-comfac*as**2*4d0/27d0*(
1169  & (uh*th-sqm3*sqm4)/sh/xmt )*rmss(42)
1170  facqqb=facqqb+facqq1+facqqi
1171  ELSE
1172  facqq1=comfac*as**2*4d0/9d0*( xmg2*sh/xmt**2 )*rmss(42)**2
1173  facqqb=facqq1
1174  ENDIF
1175  kfnsqi=mod(kfpr(isubsv,1),ksusy1)
1176  kfnsqj=mod(kfpr(isubsv,2),ksusy1)
1177  DO 450 i=-kfnsqi,kfnsqi,2*kfnsqi
1178  IF(i.LT.mmin1.OR.i.GT.mmax1) goto 450
1179  ia=iabs(i)
1180  IF(i.EQ.0.OR.ia.GT.mstp(58).OR.kfac(1,i).EQ.0) goto 450
1181  kchq=2
1182  IF(i.LT.0) kchq=3
1183  DO 440 j=-kfnsqj,kfnsqj,2*kfnsqj
1184  IF(j.LT.mmin2.OR.j.GT.mmax2) goto 440
1185  ja=iabs(j)
1186  IF(j.EQ.0.OR.ja.GT.mstp(58).OR.kfac(2,j).EQ.0) goto 440
1187  IF(i*j.GT.0) goto 440
1188  nchn=nchn+1
1189  isig(nchn,1)=i
1190  isig(nchn,2)=j
1191  isig(nchn,3)=1
1192  sigh(nchn)=facqq1*rkf*wids(pycomp(kfpr(isubsv,1)),kchq)*
1193  & wids(pycomp(kfpr(isubsv,2)),5-kchq)
1194  IF(ilr.EQ.0.AND.i.EQ.-j) sigh(nchn)=facqqb*rkf*
1195  & wids(pycomp(kfpr(isubsv,1)),1)
1196  440 CONTINUE
1197  450 CONTINUE
1198 
1199  ELSEIF(isub.EQ.277) THEN
1200 C...q_i + q_ibar -> ~q_j + ~q_jbar ,i .ne. j
1201 C...if i .eq. j covered in 274
1202  facqq1=comfac*( (uh*th-sqm3*sqm4)/ sh**2 )
1203  kfnsq=mod(kfpr(isubsv,1),ksusy1)
1204  fac0=0d0
1205  DO 460 i=mmin1,mmax1
1206  ia=iabs(i)
1207  IF(i.EQ.0.OR.(ia.GT.mstp(58).AND.ia.LE.10).OR.
1208  & kfac(1,i)*kfac(2,-i).EQ.0) goto 460
1209  IF(ia.EQ.kfnsq) goto 460
1210  IF(ia.EQ.11.OR.ia.EQ.13.OR.ia.EQ.15) THEN
1211  ei=kchg(ia,1)/3d0
1212  ej=kchg(kfnsq,1)/3d0
1213  t3j=sign(0.5d0,ej)
1214  t3i=sign(1d0,ei)/2d0
1215  IF(ilr.EQ.0) THEN
1216  xlq=2d0*(t3j-ej*xw)*sfmix(kfnsq,1)
1217  xrq=2d0*(-ej*xw)*sfmix(kfnsq,2)
1218  ELSE
1219  xlq=2d0*(t3j-ej*xw)*sfmix(kfnsq,3)
1220  xrq=2d0*(-ej*xw)*sfmix(kfnsq,4)
1221  ENDIF
1222  xlf=2d0*(t3i-ei*xw)
1223  xrf=2d0*(-ei*xw)
1224  IF(ilr.EQ.0) THEN
1225  xrq=0d0
1226  ELSE
1227  xlq=0d0
1228  ENDIF
1229  taa=0.5d0*(ei*ej)**2
1230  tzz=(xlf**2+xrf**2)*(xlq+xrq)**2/64d0/xw**2/xw1**2
1231  tzz=tzz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)
1232  taz=ei*ej*(xlq+xrq)*(xlf+xrf)/8d0/xw/xw1
1233  taz=taz/((1d0-sqmz/sh)**2+sqmz*(zwid/sh)**2)*(1d0-sqmz/sh)
1234  fac0=aem**2*12d0*(taa+tzz+taz)
1235  ELSEIF(ia.LE.6) THEN
1236  fac0=as**2*8d0/9d0/2d0
1237  ENDIF
1238  nchn=nchn+1
1239  isig(nchn,1)=i
1240  isig(nchn,2)=-i
1241  isig(nchn,3)=1
1242  sigh(nchn)=facqq1*fac0*rkf*wids(pycomp(kfpr(isubsv,1)),1)
1243  460 CONTINUE
1244 
1245  ELSEIF(isub.EQ.279) THEN
1246 C...g + g -> ~q_j + ~q_jbar
1247  xsu=sqm3-uh
1248  xst=sqm3-th
1249 C...5=RKF because ~t ~tbar treated separately
1250  fac0=rkf*comfac*as**2*( 7d0/48d0+3d0*(uh-th)**2/16d0/sh2 )
1251  facqq1=fac0*(0.5d0+2d0*sqm3*th/xst**2 + 2d0*sqm3**2/xsu/xst)
1252  facqq2=fac0*(0.5d0+2d0*sqm3*uh/xsu**2 + 2d0*sqm3**2/xsu/xst)
1253  IF(kfac(1,21)*kfac(2,21).EQ.0) goto 470
1254  nchn=nchn+1
1255  isig(nchn,1)=21
1256  isig(nchn,2)=21
1257  isig(nchn,3)=1
1258  sigh(nchn)=facqq1/2d0*wids(pycomp(kfpr(isubsv,1)),1)
1259  nchn=nchn+1
1260  isig(nchn,1)=21
1261  isig(nchn,2)=21
1262  isig(nchn,3)=2
1263  sigh(nchn)=facqq2/2d0*wids(pycomp(kfpr(isubsv,1)),1)
1264  470 CONTINUE
1265 
1266  ENDIF
1267  ENDIF
1268 CMRENNA--
1269 
1270  RETURN
1271  END