12 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
16 parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
17 &kexcit=4000000,kdimen=5000000)
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/
pydat3/mdcy(500,3),mdme(8000,2),brat(8000),kfdp(8000,5)
24 common/
pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
25 common/
pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
26 common/
pyint4/mwid(500),wids(500,5)
27 common/
pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
28 common/
pymssm/imss(0:99),rmss(0:99)
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
36 dimension wdtp(0:400),wdte(0:400,0:5)
37 COMPLEX*16 a004,a204,a114,a00u,a20u,a11u
38 COMPLEX*16 cigtot,ciztot,f0alp,f1alp,f2alp,f0bet,f1bet,f2bet,fif
43 IF(isub.EQ.401.OR.isub.EQ.402)
THEN
46 IF((isub.GE.151.AND.isub.LE.160).OR.(isub.GE.171.AND.
49 IF(mod(isub-1,10).GE.5) ihigg=3
51 IF(isub.EQ.151.OR.isub.EQ.156) isub=3
52 IF(isub.EQ.152.OR.isub.EQ.157) isub=102
53 IF(isub.EQ.153.OR.isub.EQ.158) isub=103
54 IF(isub.EQ.171.OR.isub.EQ.176) isub=24
55 IF(isub.EQ.172.OR.isub.EQ.177) isub=26
56 IF(isub.EQ.173.OR.isub.EQ.178) isub=123
57 IF(isub.EQ.174.OR.isub.EQ.179) isub=124
58 IF(isub.EQ.181.OR.isub.EQ.186) isub=121
59 IF(isub.EQ.182.OR.isub.EQ.187) isub=122
60 IF(isub.EQ.183.OR.isub.EQ.188) isub=111
61 IF(isub.EQ.184.OR.isub.EQ.189) isub=112
62 IF(isub.EQ.185.OR.isub.EQ.190) isub=113
64 sqmh=pmas(kfhigg,1)**2
65 gmmh=pmas(kfhigg,1)*pmas(kfhigg,2)
68 IF((
mstp(46).GE.3.AND.
mstp(46).LE.6).AND.(isub.EQ.71.OR.isub.EQ.
69 &72.OR.isub.EQ.73.OR.isub.EQ.76.OR.isub.EQ.77))
THEN
71 IF(
mstp(46).LE.4)
THEN
73 hdtmr=(4.5d0*paru(1)/sqrt(3d0)-74d0/9d0)/8d0+hdtlh/12d0
74 hdtnr=-1d0/18d0+hdtlh/6d0
76 hdtnm=0.125d0*(1d0/(288d0*paru(1)**2)+(
parp(47)/
parp(45))**2)
78 hdtmr=-(4d0*paru(1))**2*0.5d0*hdtnm+hdtlq/12d0
79 hdtnr=(4d0*paru(1))**2*hdtnm+hdtlq/6d0
83 hdtv=1d0/(16d0*paru(1)*
parp(47)**2)
88 a004=dble((hdtv*sh)**2/(4d0*paru(1)))*
89 & cmplx(dble((176d0*hdtmr+112d0*hdtnr)/3d0+11d0/27d0-
90 & (50d0/9d0)*hdtls),dble(4d0*paru(1)))
91 a204=dble((hdtv*sh)**2/(4d0*paru(1)))*
92 & cmplx(dble(32d0*(hdtmr+2d0*hdtnr)/3d0+25d0/54d0-
93 & (20d0/9d0)*hdtls),dble(paru(1)))
94 a114=dble((hdtv*sh)**2/(6d0*paru(1)))*
95 & cmplx(dble(4d0*(-2d0*hdtmr+hdtnr)-1d0/18d0),dble(paru(1)/6d0))
98 IF(
mstp(46).EQ.3.OR.
mstp(46).EQ.5)
THEN
99 a00u=a00l/(1d0-a004/a00l)
100 a20u=a20l/(1d0-a204/a20l)
101 a11u=a11l/(1d0-a114/a11l)
103 a00u=(a00l+dble(a004))/(1d0-dcmplx(0.d0,a00l+dble(a004)))
104 a20u=(a20l+dble(a204))/(1d0-dcmplx(0.d0,a20l+dble(a204)))
105 a11u=(a11l+dble(a114))/(1d0-dcmplx(0.d0,a11l+dble(a114)))
114 CALL
pywidt(kfhigg,sh,wdtp,wdte)
116 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
117 IF(abs(shr-pmas(kfhigg,1)).GT.
parp(48)*pmas(kfhigg,2))
119 hp=aem/(8d0*xw)*sh/sqmw*sh
120 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
122 IF(
i.EQ.0.OR.kfac(1,
i)*kfac(2,-
i).EQ.0) goto 100
126 IF(ia.LE.10) hi=hp*rmq*faca/3d0
127 IF(
mstp(4).GE.1.OR.ihigg.GE.2)
THEN
129 IF(ia.LE.10.AND.mod(ia,2).EQ.0) ikfi=2
131 hi=hi*paru(150+10*ihigg+ikfi)**2
132 IF(imss(1).NE.0.AND.ia.EQ.5)
THEN
133 hi=hi/(1d0+rmss(41))**2
135 hi=hi*(1d0+rmss(41)*paru(152+10*ihigg)/
136 & paru(151+10*ihigg))**2
144 sigh(nchn)=hi*facbw*hf
147 ELSEIF(isub.EQ.5)
THEN
149 CALL
pywidt(25,sh,wdtp,wdte)
151 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
152 IF(abs(shr-pmas(25,1)).GT.
parp(48)*pmas(25,2)) facbw=0d0
153 hp=aem/(8d0*xw)*sh/sqmw*sh
154 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
156 faci=8d0/(paru(1)**2*xw1)*(aem*xwc)**2
158 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 120
160 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 110
161 ei=kchg(iabs(
i),1)/3d0
164 ej=kchg(iabs(
j),1)/3d0
171 sigh(nchn)=faci*(vi**2+ai**2)*(vj**2+aj**2)*hi*facbw*hf
175 ELSEIF(isub.EQ.8)
THEN
177 CALL
pywidt(25,sh,wdtp,wdte)
179 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
180 IF(abs(shr-pmas(25,1)).GT.
parp(48)*pmas(25,2)) facbw=0d0
181 hp=aem/(8d0*xw)*sh/sqmw*sh
182 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
184 faci=1d0/(4d0*paru(1)**2)*(aem/xw)**2
186 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 140
187 ei=
sign(1d0,dble(
i))*kchg(iabs(
i),1)
189 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 130
190 ej=
sign(1d0,dble(
j))*kchg(iabs(
j),1)
191 IF(
ei*ej.GT.0d0) goto 130
196 sigh(nchn)=faci*
vint(180+
i)*
vint(180+
j)*hi*facbw*hf
200 ELSEIF(isub.EQ.24)
THEN
203 hbw3=gmmz/((sqm3-sqmz)**2+gmmz**2)
204 CALL
pywidt(23,sqm3,wdtp,wdte)
205 gmmz3=sqrt(sqm3)*wdtp(0)
206 hbw3c=gmmz3/((sqm3-sqmz)**2+gmmz3**2)
207 hbw4=gmmh/((sqm4-sqmh)**2+gmmh**2)
208 CALL
pywidt(kfhigg,sqm4,wdtp,wdte)
209 gmmh4=sqrt(sqm4)*wdtp(0)
210 hbw4c=gmmh4/((sqm4-sqmh)**2+gmmh4**2)
211 thuh=
max(th*uh-sqm3*sqm4,sh*ckin(3)**2)
212 fachz=comfac*(hbw3c/hbw3)*(hbw4c/hbw4)*8d0*(aem*xwc)**2*
213 & (thuh+2d0*sh*sqm3)/((sh-sqmz)**2+gmmz**2)
214 fachz=fachz*wids(23,2)*wids(kfhigg,2)
215 IF(
mstp(4).GE.1.OR.ihigg.GE.2) fachz=fachz*
216 & paru(154+10*ihigg)**2
218 IF(
i.EQ.0.OR.kfac(1,
i)*kfac(2,-
i).EQ.0) goto 150
219 ei=kchg(iabs(
i),1)/3d0
223 IF(iabs(
i).LE.10) fcoi=faca/3d0
228 sigh(nchn)=fachz*fcoi*(vi**2+ai**2)
231 ELSEIF(isub.EQ.26)
THEN
234 hbw3=gmmw/((sqm3-sqmw)**2+gmmw**2)
235 CALL
pywidt(24,sqm3,wdtp,wdte)
236 gmmw3=sqrt(sqm3)*wdtp(0)
237 hbw3c=gmmw3/((sqm3-sqmw)**2+gmmw3**2)
238 hbw4=gmmh/((sqm4-sqmh)**2+gmmh**2)
239 CALL
pywidt(kfhigg,sqm4,wdtp,wdte)
240 gmmh4=sqrt(sqm4)*wdtp(0)
241 hbw4c=gmmh4/((sqm4-sqmh)**2+gmmh4**2)
242 thuh=
max(th*uh-sqm3*sqm4,sh*ckin(3)**2)
243 fachw=comfac*0.125d0*(aem/xw)**2*(thuh+2d0*sh*sqm3)/
244 & ((sh-sqmw)**2+gmmw**2)*(hbw3c/hbw3)*(hbw4c/hbw4)
245 fachw=fachw*wids(kfhigg,2)
246 IF(
mstp(4).GE.1.OR.ihigg.GE.2) fachw=fachw*
247 & paru(155+10*ihigg)**2
250 IF(
i.EQ.0.OR.ia.GT.20.OR.kfac(1,
i).EQ.0) goto 170
253 IF(
j.EQ.0.OR.ja.GT.20.OR.kfac(1,
j).EQ.0) goto 160
254 IF(
i*
j.GT.0.OR.mod(ia+ja,2).EQ.0) goto 160
255 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
257 kchw=(kchg(ia,1)*isign(1,
i)+kchg(ja,1)*isign(1,
j))/3
259 IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
261 IF(ia.LE.10) fcoi=faca/3d0
266 sigh(nchn)=fachw*fcoi*fckm*wids(24,(5-kchw)/2)
270 ELSEIF(isub.EQ.32)
THEN
272 fhcq=comfac*faca*as*aem/xw*1d0/24d0
275 gmmhc=pmas(25,1)*pmas(25,2)
276 hbw4=gmmhc/((sqm4-sqmhc)**2+gmmhc**2)
277 CALL
pywidt(25,sqm4,wdtp,wdte)
278 gmmhcc=sqrt(sqm4)*wdtp(0)
279 hbw4c=gmmhcc/((sqm4-sqmhc)**2+gmmhcc**2)
286 fachcq=fhcq*sqml/sqmw*
287 & (sh/(sqmq-uh)+2d0*sqmq*(sqm4-uh)/(sqmq-uh)**2+(sqmq-uh)/sh-
288 & 2d0*sqmq/(sqmq-uh)+2d0*(sqm4-uh)/(sqmq-uh)*
291 IF(isde.EQ.1.AND.kfac(1,
i)*kfac(2,21).EQ.0) goto 180
292 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,
i).EQ.0) goto 180
297 sigh(nchn)=fachcq*wids(25,2)
302 ELSEIF(isub.LE.80)
THEN
305 IF(sh.LE.4.01d0*sqmz) goto 220
307 IF(
mstp(46).LE.2)
THEN
310 th=-0.5d0*sh*be2*(1d0-cth)
311 uh=-0.5d0*sh*be2*(1d0+cth)
312 IF(
max(th,uh).GT.-1d0) goto 220
313 shang=1d0/xw1*sqmw/sqmz*(1d0+be2)**2
314 ashre=(sh-sqmh)/((sh-sqmh)**2+gmmh**2)*shang
315 ashim=-gmmh/((sh-sqmh)**2+gmmh**2)*shang
316 thang=1d0/xw1*sqmw/sqmz*(be2-cth)**2
317 athre=(th-sqmh)/((th-sqmh)**2+gmmh**2)*thang
318 athim=-gmmh/((th-sqmh)**2+gmmh**2)*thang
319 uhang=1d0/xw1*sqmw/sqmz*(be2+cth)**2
320 auhre=(uh-sqmh)/((uh-sqmh)**2+gmmh**2)*uhang
321 auhim=-gmmh/((uh-sqmh)**2+gmmh**2)*uhang
322 faczz=comfac*1d0/(4096d0*paru(1)**2*16d0*xw1**2)*
323 & (aem/xw)**4*(sh/sqmw)**2*(sqmz/sqmw)*sh2
324 IF(
mstp(46).LE.0) faczz=faczz*(ashre**2+ashim**2)
325 IF(
mstp(46).EQ.1) faczz=faczz*((ashre+athre+auhre)**2+
326 & (ashim+athim+auhim)**2)
327 IF(
mstp(46).EQ.2) faczz=0d0
331 faczz=comfac*(aem/(16d0*paru(1)*xw*xw1))**2*(64d0/9d0)*
332 & abs(a00u+2d0*a20u)**2
334 faczz=faczz*wids(23,1)
337 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 210
338 ei=kchg(iabs(
i),1)/3d0
343 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 200
344 ej=kchg(iabs(
j),1)/3d0
352 sigh(nchn)=0.5d0*faczz*avi*avj
357 ELSEIF(isub.EQ.72)
THEN
359 IF(sh.LE.4.01d0*sqmz) goto 250
361 IF(
mstp(46).LE.2)
THEN
363 be2=sqrt((1d0-4d0*sqmw/sh)*(1d0-4d0*sqmz/sh))
365 th=-0.5d0*sh*(1d0-2d0*(sqmw+sqmz)/sh-be2*cth)
366 uh=-0.5d0*sh*(1d0-2d0*(sqmw+sqmz)/sh+be2*cth)
367 IF(
max(th,uh).GT.-1d0) goto 250
368 shang=4d0*sqrt(sqmw/(sqmz*xw1))*(1d0-2d0*sqmw/sh)*
370 ashre=(sh-sqmh)/((sh-sqmh)**2+gmmh**2)*shang
371 ashim=-gmmh/((sh-sqmh)**2+gmmh**2)*shang
372 atwre=xw1/sqmz*sh/(th-sqmw)*((cth-be2)**2*(3d0/2d0+be2/2d0*
373 & cth-(sqmw+sqmz)/sh+(sqmw-sqmz)**2/(sh*sqmw))+4d0*
374 & ((sqmw+sqmz)/sh*(1d0-3d0*cth2)+8d0*sqmw*sqmz/sh2*
375 & (2d0*cth2-1d0)+4d0*(sqmw**2+sqmz**2)/sh2*cth2+
376 & 2d0*(sqmw+sqmz)/sh*be2*cth))
378 auwre=xw1/sqmz*sh/(uh-sqmw)*((cth+be2)**2*(3d0/2d0-be2/2d0*
379 & cth-(sqmw+sqmz)/sh+(sqmw-sqmz)**2/(sh*sqmw))+4d0*
380 & ((sqmw+sqmz)/sh*(1d0-3d0*cth2)+8d0*sqmw*sqmz/sh2*
381 & (2d0*cth2-1d0)+4d0*(sqmw**2+sqmz**2)/sh2*cth2-
382 & 2d0*(sqmw+sqmz)/sh*be2*cth))
384 a4re=2d0*xw1/sqmz*(3d0-cth2-4d0*(sqmw+sqmz)/sh)
386 facww=comfac*1d0/(4096d0*paru(1)**2*16d0*xw1**2)*
387 & (aem/xw)**4*(sh/sqmw)**2*(sqmz/sqmw)*sh2
388 IF(
mstp(46).LE.0) facww=facww*(ashre**2+ashim**2)
389 IF(
mstp(46).EQ.1) facww=facww*((ashre+atwre+auwre+a4re)**2+
390 & (ashim+atwim+auwim+a4im)**2)
391 IF(
mstp(46).EQ.2) facww=facww*((atwre+auwre+a4re)**2+
392 & (atwim+auwim+a4im)**2)
396 facww=comfac*(aem/(16d0*paru(1)*xw*xw1))**2*(64d0/9d0)*
399 facww=facww*wids(24,1)
402 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 240
403 ei=kchg(iabs(
i),1)/3d0
408 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 230
409 ej=kchg(iabs(
j),1)/3d0
417 sigh(nchn)=facww*avi*avj
422 ELSEIF(isub.EQ.73)
THEN
424 IF(sh.LE.2d0*sqmz+2d0*sqmw) goto 280
426 IF(
mstp(46).LE.2)
THEN
428 be2=1d0-2d0*(sqmz+sqmw)/sh+((sqmz-sqmw)/sh)**2
429 ep1=1d0-(sqmz-sqmw)/sh
430 ep2=1d0+(sqmz-sqmw)/sh
431 th=-0.5d0*sh*be2*(1d0-cth)
432 uh=(sqmz-sqmw)**2/sh-0.5d0*sh*be2*(1d0+cth)
433 IF(
max(th,uh).GT.-1d0) goto 280
434 thang=(be2-ep1*cth)*(be2-ep2*cth)
435 athre=(th-sqmh)/((th-sqmh)**2+gmmh**2)*thang
436 athim=-gmmh/((th-sqmh)**2+gmmh**2)*thang
437 aswre=-xw1/sqmz*sh/(sh-sqmw)*(-be2*(ep1+ep2)**4*cth+
438 & 1d0/4d0*(be2+ep1*ep2)**2*((ep1-ep2)**2-4d0*be2*cth)+
439 & 2d0*be2*(be2+ep1*ep2)*(ep1+ep2)**2*cth-
440 & 1d0/16d0*sh/sqmw*(ep1**2-ep2**2)**2*(be2+ep1*ep2)**2)
442 auwre=xw1/sqmz*sh/(uh-sqmw)*(-be2*(ep2+ep1*cth)*
443 & (ep1+ep2*cth)*(be2+ep1*ep2)+be2*(ep2+ep1*cth)*
444 & (be2+ep1*ep2*cth)*(2d0*ep2-ep2*cth+ep1)-
445 & be2*(ep2+ep1*cth)**2*(be2-ep2**2*cth)-1d0/8d0*
446 & (be2+ep1*ep2*cth)**2*((ep1+ep2)**2+2d0*be2*(1d0-cth))+
447 & 1d0/32d0*sh/sqmw*(be2+ep1*ep2*cth)**2*
448 & (ep1**2-ep2**2)**2-be2*(ep1+ep2*cth)*(ep2+ep1*cth)*
449 & (be2+ep1*ep2)+be2*(ep1+ep2*cth)*(be2+ep1*ep2*cth)*
450 & (2d0*ep1-ep1*cth+ep2)-be2*(ep1+ep2*cth)**2*
451 & (be2-ep1**2*cth)-1d0/8d0*(be2+ep1*ep2*cth)**2*
452 & ((ep1+ep2)**2+2d0*be2*(1d0-cth))+1d0/32d0*sh/sqmw*
453 & (be2+ep1*ep2*cth)**2*(ep1**2-ep2**2)**2)
455 a4re=xw1/sqmz*(ep1**2*ep2**2*(cth**2-1d0)-
456 & 2d0*be2*(ep1**2+ep2**2+ep1*ep2)*cth-2d0*be2*ep1*ep2)
458 faczw=comfac*1d0/(4096d0*paru(1)**2*4d0*xw1)*(aem/xw)**4*
459 & (sh/sqmw)**2*sqrt(sqmz/sqmw)*sh2
460 IF(
mstp(46).LE.0) faczw=0d0
461 IF(
mstp(46).EQ.1) faczw=faczw*((athre+aswre+auwre+a4re)**2+
462 & (athim+aswim+auwim+a4im)**2)
463 IF(
mstp(46).EQ.2) faczw=faczw*((aswre+auwre+a4re)**2+
464 & (aswim+auwim+a4im)**2)
468 faczw=comfac*aem**2/(64d0*paru(1)**2*xw**2*xw1)*16d0*
469 & abs(a20u+3d0*a11u*dble(cth))**2
471 faczw=faczw*wids(23,2)
474 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 270
475 ei=kchg(iabs(
i),1)/3d0
479 kchwi=isign(1,kchg(iabs(
i),1)*isign(1,
i))
481 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 260
482 ej=kchg(iabs(
j),1)/3d0
486 kchwj=isign(1,kchg(iabs(
j),1)*isign(1,
j))
491 sigh(nchn)=faczw*avi*
vint(180+
j)*wids(24,(5-kchwj)/2)
496 sigh(nchn)=faczw*
vint(180+
i)*wids(24,(5-kchwi)/2)*avj
501 ELSEIF(isub.EQ.75)
THEN
504 ELSEIF(isub.EQ.76)
THEN
506 IF(sh.LE.4.01d0*sqmz) goto 310
508 IF(
mstp(46).LE.2)
THEN
510 be2=sqrt((1d0-4d0*sqmw/sh)*(1d0-4d0*sqmz/sh))
512 th=-0.5d0*sh*(1d0-2d0*(sqmw+sqmz)/sh-be2*cth)
513 uh=-0.5d0*sh*(1d0-2d0*(sqmw+sqmz)/sh+be2*cth)
514 IF(
max(th,uh).GT.-1d0) goto 310
515 shang=4d0*sqrt(sqmw/(sqmz*xw1))*(1d0-2d0*sqmw/sh)*
517 ashre=(sh-sqmh)/((sh-sqmh)**2+gmmh**2)*shang
518 ashim=-gmmh/((sh-sqmh)**2+gmmh**2)*shang
519 atwre=xw1/sqmz*sh/(th-sqmw)*((cth-be2)**2*(3d0/2d0+be2/2d0*
520 & cth-(sqmw+sqmz)/sh+(sqmw-sqmz)**2/(sh*sqmw))+4d0*
521 & ((sqmw+sqmz)/sh*(1d0-3d0*cth2)+8d0*sqmw*sqmz/sh2*
522 & (2d0*cth2-1d0)+4d0*(sqmw**2+sqmz**2)/sh2*cth2+
523 & 2d0*(sqmw+sqmz)/sh*be2*cth))
525 auwre=xw1/sqmz*sh/(uh-sqmw)*((cth+be2)**2*(3d0/2d0-be2/2d0*
526 & cth-(sqmw+sqmz)/sh+(sqmw-sqmz)**2/(sh*sqmw))+4d0*
527 & ((sqmw+sqmz)/sh*(1d0-3d0*cth2)+8d0*sqmw*sqmz/sh2*
528 & (2d0*cth2-1d0)+4d0*(sqmw**2+sqmz**2)/sh2*cth2-
529 & 2d0*(sqmw+sqmz)/sh*be2*cth))
531 a4re=2d0*xw1/sqmz*(3d0-cth2-4d0*(sqmw+sqmz)/sh)
533 faczz=comfac*1d0/(4096d0*paru(1)**2)*(aem/xw)**4*
535 IF(
mstp(46).LE.0) faczz=faczz*(ashre**2+ashim**2)
536 IF(
mstp(46).EQ.1) faczz=faczz*((ashre+atwre+auwre+a4re)**2+
537 & (ashim+atwim+auwim+a4im)**2)
538 IF(
mstp(46).EQ.2) faczz=faczz*((atwre+auwre+a4re)**2+
539 & (atwim+auwim+a4im)**2)
543 faczz=comfac*(aem/(4d0*paru(1)*xw))**2*(64d0/9d0)*
546 faczz=faczz*wids(23,1)
549 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 300
550 ei=
sign(1d0,dble(
i))*kchg(iabs(
i),1)
552 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 290
553 ej=
sign(1d0,dble(
j))*kchg(iabs(
j),1)
554 IF(
ei*ej.GT.0d0) goto 290
559 sigh(nchn)=0.5d0*faczz*
vint(180+
i)*
vint(180+
j)
564 ELSEIF(isub.EQ.77)
THEN
566 IF(sh.LE.4.01d0*sqmw) goto 340
568 IF(
mstp(46).LE.2)
THEN
574 th=-0.5d0*sh*be2*(1d0-cth)
575 uh=-0.5d0*sh*be2*(1d0+cth)
576 IF(
max(th,uh).GT.-1d0) goto 340
578 ashre=(sh-sqmh)/((sh-sqmh)**2+gmmh**2)*shang
579 ashim=-gmmh/((sh-sqmh)**2+gmmh**2)*shang
581 athre=(th-sqmh)/((th-sqmh)**2+gmmh**2)*thang
582 athim=-gmmh/((th-sqmh)**2+gmmh**2)*thang
584 auhre=(uh-sqmh)/((uh-sqmh)**2+gmmh**2)*uhang
585 auhim=-gmmh/((uh-sqmh)**2+gmmh**2)*uhang
586 sgzang=1d0/sqmw*be2*(3d0-be2)**2*cth
589 aszre=xw1*sh/(sh-sqmz)*sgzang
591 tgzang=1d0/sqmw*(be2*(4d0-2d0*be2+be4)+be2*(4d0-10d0*be2+
592 & be4)*cth+(2d0-11d0*be2+10d0*be4)*cth2+be2*cth3)
593 atgre=0.5d0*xw*sh/th*tgzang
595 atzre=0.5d0*xw1*sh/(th-sqmz)*tgzang
597 ugzang=1d0/sqmw*(be2*(4d0-2d0*be2+be4)-be2*(4d0-10d0*be2+
598 & be4)*cth+(2d0-11d0*be2+10d0*be4)*cth2-be2*cth3)
599 augre=0.5d0*xw*sh/uh*ugzang
601 auzre=0.5d0*xw1*sh/(uh-sqmz)*ugzang
603 a4are=1d0/sqmw*(1d0+2d0*be2-6d0*be2*cth-cth2)
605 a4sre=2d0/sqmw*(1d0+2d0*be2-cth2)
607 fww=comfac*1d0/(4096d0*paru(1)**2)*(aem/xw)**4*
609 IF(
mstp(46).LE.0)
THEN
614 ELSEIF(
mstp(46).EQ.1)
THEN
615 awware=ashre+athre+asgre+aszre+atgre+atzre+a4are
616 awwaim=ashim+athim+asgim+aszim+atgim+atzim+a4aim
617 awwsre=-athre-auhre+atgre+atzre+augre+auzre+a4sre
618 awwsim=-athim-auhim+atgim+atzim+augim+auzim+a4sim
620 awware=asgre+aszre+atgre+atzre+a4are
621 awwaim=asgim+aszim+atgim+atzim+a4aim
622 awwsre=atgre+atzre+augre+auzre+a4sre
623 awwsim=atgim+atzim+augim+auzim+a4sim
625 awwa2=awware**2+awwaim**2
626 awws2=awwsre**2+awwsim**2
630 fwwa=comfac*(aem/(4d0*paru(1)*xw))**2*(64d0/9d0)*
631 & abs(a00u+0.5d0*a20u+4.5d0*a11u*dble(cth))**2
632 fwws=comfac*(aem/(4d0*paru(1)*xw))**2*64d0*abs(a20u)**2
636 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 330
637 ei=
sign(1d0,dble(
i))*kchg(iabs(
i),1)
639 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 320
640 ej=
sign(1d0,dble(
j))*kchg(iabs(
j),1)
641 IF(
ei*ej.LT.0d0)
THEN
643 IF(
mstp(45).EQ.1) goto 320
644 IF(
mstp(46).LE.2) facww=fww*awwa2*wids(24,1)
645 IF(
mstp(46).GE.3) facww=fwwa*wids(24,1)
648 IF(
mstp(45).EQ.2) goto 320
649 IF(
mstp(46).LE.2) facww=fww*awws2
650 IF(
mstp(46).GE.3) facww=fwws
651 IF(
ei.GT.0d0) facww=facww*wids(24,4)
652 IF(
ei.LT.0d0) facww=facww*wids(24,5)
659 IF(
ei*ej.GT.0d0) sigh(nchn)=0.5d0*sigh(nchn)
665 ELSEIF(isub.LE.120)
THEN
668 CALL
pywidt(kfhigg,sh,wdtp,wdte)
670 DO 345 idc=mdcy(kfhigg,2),mdcy(kfhigg,2)+mdcy(kfhigg,3)-1
671 IF(kfdp(idc,1).EQ.21.AND.kfdp(idc,2).EQ.21.AND.
672 & kfdp(idc,3).EQ.0) wdtp13=pmas(kfhigg,2)*brat(idc)
674 IF(wdtp13.EQ.0d0) CALL
pyerrm(26,
675 &
'(PYSGHG:) did not find Higgs -> g g channel')
677 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
678 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
679 IF(abs(shr-pmas(kfhigg,1)).GT.
parp(48)*pmas(kfhigg,2))
682 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 350
687 sigh(nchn)=hi*facbw*hf
690 ELSEIF(isub.EQ.103)
THEN
692 CALL
pywidt(kfhigg,sh,wdtp,wdte)
694 DO 355 idc=mdcy(kfhigg,2),mdcy(kfhigg,2)+mdcy(kfhigg,3)-1
695 IF(kfdp(idc,1).EQ.22.AND.kfdp(idc,2).EQ.22.AND.
696 & kfdp(idc,3).EQ.0) wdtp14=pmas(kfhigg,2)*brat(idc)
698 IF(wdtp14.EQ.0d0) CALL
pyerrm(26,
699 &
'(PYSGHG:) did not find Higgs -> gamma gamma channel')
701 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
702 facbw=4d0*comfac/((sh-sqmh)**2+hs**2)
703 IF(abs(shr-pmas(kfhigg,1)).GT.
parp(48)*pmas(kfhigg,2))
706 IF(kfac(1,22)*kfac(2,22).EQ.0) goto 360
711 sigh(nchn)=hi*facbw*hf
714 ELSEIF(isub.EQ.110)
THEN
716 thuh=
max(th*uh,sh*ckin(3)**2)
717 fachg=comfac*(3d0*aem**4)/(2d0*paru(1)**2*xw*sqmw)*sh*thuh
718 fachg=fachg*wids(kfhigg,2)
720 cigtot=dcmplx(0d0,0d0)
721 ciztot=dcmplx(0d0,0d0)
724 IF(
j.LE.2*
mstp(1))
THEN
727 aj=
sign(1d0,ej+0.1d0)
729 balp=sqm4/(2d0*pmas(
j,1))**2
730 bbet=sh/(2d0*pmas(
j,1))**2
731 ELSEIF(
j.LE.3*
mstp(1))
THEN
735 aj=
sign(1d0,ej+0.1d0)
737 balp=sqm4/(2d0*pmas(10+jl,1))**2
738 bbet=sh/(2d0*pmas(10+jl,1))**2
740 balp=sqm4/(2d0*pmas(24,1))**2
741 bbet=sh/(2d0*pmas(24,1))**2
745 f0alp=dcmplx(dble(asin(sqrt(balp))),0d0)
748 f0alp=dcmplx(dble(
log(sqrt(balp)+sqrt(balp-1d0))),
749 & -dble(0.5d0*paru(1)))
752 f2alp=dble(sqrt(abs(balp-1d0)/balp))*f0alp
754 f0bet=dcmplx(dble(asin(sqrt(bbet))),0d0)
757 f0bet=dcmplx(dble(
log(sqrt(bbet)+sqrt(bbet-1d0))),
758 & -dble(0.5d0*paru(1)))
761 f2bet=dble(sqrt(abs(bbet-1d0)/bbet))*f0bet
762 IF(
j.LE.3*
mstp(1))
THEN
763 fif=dble(0.5d0*babi)+dble(babi**2)*(dble(0.5d0*(1d0-balp+
764 & bbet))*(f1bet-f1alp)+dble(bbet)*(f2bet-f2alp))
765 cigtot=cigtot+dble(fnc*ej**2)*fif
766 ciztot=ciztot+dble(fnc*ej*vj)*fif
769 cigtot=cigtot-0.5*(dble(babi*(1.5d0+balp))+dble(babi**2)*
770 & (dble(1.5d0-3d0*balp+4d0*bbet)*(f1bet-f1alp)+
771 & dble(bbet*(2d0*balp+3d0))*(f2bet-f2alp)))
772 ciztot=ciztot-dble(0.5d0*babi*xw1)*(dble(5d0-txw+2d0*balp*
773 & (1d0-txw))*(1d0+dble(2d0*babi*bbet)*(f2bet-f2alp))+
774 & dble(babi*(4d0*bbet*(3d0-txw)-(2d0*balp-1d0)*(5d0-txw)))*
778 cigtot=cigtot/dble(sh)
779 ciztot=ciztot*dble(xwc)/dcmplx(dble(sh-sqmz),dble(gmmz))
782 IF(
i.EQ.0.OR.kfac(1,
i)*kfac(2,-
i).EQ.0) goto 380
783 ei=kchg(iabs(
i),1)/3d0
787 IF(iabs(
i).LE.10) fcoi=faca/3d0
792 sigh(nchn)=fachg*fcoi*(abs(dble(
ei)*cigtot+dble(vi)*
793 & ciztot)**2+ai**2*abs(ciztot)**2)
796 ELSEIF(isub.EQ.111)
THEN
798 IF(
mstp(38).NE.0)
THEN
800 CALL
pywidt(kfhigg,sqm4,wdtp,wdte)
802 DO 385 idc=mdcy(kfhigg,2),mdcy(kfhigg,2)+mdcy(kfhigg,3)-1
803 IF(kfdp(idc,1).EQ.21.AND.kfdp(idc,2).EQ.21.AND.
804 & kfdp(idc,3).EQ.0) wdtp13=pmas(kfhigg,2)*brat(idc)
806 IF(wdtp13.EQ.0d0) CALL
pyerrm(26,
807 &
'(PYSGHG:) did not find Higgs -> g g channel')
808 facgh=comfac*faca*(2d0/9d0)*as*(wdtp13/sqrt(sqm4))*
809 & (th**2+uh**2)/(sh*sqm4)
811 hbw4=gmmh/((sqm4-sqmh)**2+gmmh**2)
812 gmmhc=sqrt(sqm4)*wdtp(0)
813 hbw4c=sqrt(sqm4)*(wdte(0,1)+wdte(0,2)+wdte(0,4))/
814 & ((sqm4-sqmh)**2+gmmhc**2)
815 facgh=facgh*hbw4c/hbw4
824 CALL
pywaux(1,epss,w1sr,w1si)
825 CALL
pywaux(1,epsh,w1hr,w1hi)
826 CALL
pywaux(2,epss,w2sr,w2si)
827 CALL
pywaux(2,epsh,w2hr,w2hi)
828 a5stur=a5stur+epsh*(1d0+sh/(th+uh)*(w1sr-w1hr)+
829 & (0.25d0-sqmq/(th+uh))*(w2sr-w2hr))
830 a5stui=a5stui+epsh*(sh/(th+uh)*(w1si-w1hi)+
831 & (0.25d0-sqmq/(th+uh))*(w2si-w2hi))
833 facgh=comfac*faca/(144d0*paru(1)**2)*aem/xw*as**3*sqmh/sqmw*
834 & sqmh/sh*(uh**2+th**2)/(uh+th)**2*(a5stur**2+a5stui**2)
835 facgh=facgh*wids(25,2)
838 IF(
i.EQ.0.OR.iabs(
i).GT.
mstp(58).OR.
839 & kfac(1,
i)*kfac(2,-
i).EQ.0) goto 400
847 ELSEIF(isub.EQ.112)
THEN
849 IF(
mstp(38).NE.0)
THEN
851 CALL
pywidt(kfhigg,sqm4,wdtp,wdte)
853 DO 405 idc=mdcy(kfhigg,2),mdcy(kfhigg,2)+mdcy(kfhigg,3)-1
854 IF(kfdp(idc,1).EQ.21.AND.kfdp(idc,2).EQ.21.AND.
855 & kfdp(idc,3).EQ.0) wdtp13=pmas(kfhigg,2)*brat(idc)
857 IF(wdtp13.EQ.0d0) CALL
pyerrm(26,
858 &
'(PYSGHG:) did not find Higgs -> g g channel')
859 facqh=comfac*faca*(1d0/12d0)*as*(wdtp13/sqrt(sqm4))*
860 & (sh**2+uh**2)/(-th*sqm4)
862 hbw4=gmmh/((sqm4-sqmh)**2+gmmh**2)
863 gmmhc=sqrt(sqm4)*wdtp(0)
864 hbw4c=sqrt(sqm4)*(wdte(0,1)+wdte(0,2)+wdte(0,4))/
865 & ((sqm4-sqmh)**2+gmmhc**2)
866 facqh=facqh*hbw4c/hbw4
875 CALL
pywaux(1,epst,w1tr,w1ti)
876 CALL
pywaux(1,epsh,w1hr,w1hi)
877 CALL
pywaux(2,epst,w2tr,w2ti)
878 CALL
pywaux(2,epsh,w2hr,w2hi)
879 a5tsur=a5tsur+epsh*(1d0+th/(sh+uh)*(w1tr-w1hr)+
880 & (0.25d0-sqmq/(sh+uh))*(w2tr-w2hr))
881 a5tsui=a5tsui+epsh*(th/(sh+uh)*(w1ti-w1hi)+
882 & (0.25d0-sqmq/(sh+uh))*(w2ti-w2hi))
884 facqh=comfac*faca/(384d0*paru(1)**2)*aem/xw*as**3*sqmh/sqmw*
885 & sqmh/(-th)*(uh**2+sh**2)/(uh+sh)**2*(a5tsur**2+a5tsui**2)
886 facqh=facqh*wids(25,2)
889 IF(
i.EQ.0.OR.iabs(
i).GT.
mstp(58)) goto 430
891 IF(isde.EQ.1.AND.kfac(1,
i)*kfac(2,21).EQ.0) goto 420
892 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,
i).EQ.0) goto 420
901 ELSEIF(isub.EQ.113)
THEN
903 IF(
mstp(38).NE.0)
THEN
905 CALL
pywidt(kfhigg,sqm4,wdtp,wdte)
907 DO 435 idc=mdcy(kfhigg,2),mdcy(kfhigg,2)+mdcy(kfhigg,3)-1
908 IF(kfdp(idc,1).EQ.21.AND.kfdp(idc,2).EQ.21.AND.
909 & kfdp(idc,3).EQ.0) wdtp13=pmas(kfhigg,2)*brat(idc)
911 IF(wdtp13.EQ.0d0) CALL
pyerrm(26,
912 &
'(PYSGHG:) did not find Higgs -> g g channel')
913 facgh=comfac*faca*(3d0/16d0)*as*(wdtp13/sqrt(sqm4))*
914 & (sh**4+th**4+uh**4+sqm4**4)/(sh*th*uh*sqm4)
916 hbw4=gmmh/((sqm4-sqmh)**2+gmmh**2)
917 gmmhc=sqrt(sqm4)*wdtp(0)
918 hbw4c=sqrt(sqm4)*(wdte(0,1)+wdte(0,2)+wdte(0,4))/
919 & ((sqm4-sqmh)**2+gmmhc**2)
920 facgh=facgh*hbw4c/hbw4
937 IF(epsh.LT.1d-6) goto 440
938 CALL
pywaux(1,epss,w1sr,w1si)
939 CALL
pywaux(1,epst,w1tr,w1ti)
940 CALL
pywaux(1,epsu,w1ur,w1ui)
941 CALL
pywaux(1,epsh,w1hr,w1hi)
942 CALL
pywaux(2,epss,w2sr,w2si)
943 CALL
pywaux(2,epst,w2tr,w2ti)
944 CALL
pywaux(2,epsu,w2ur,w2ui)
945 CALL
pywaux(2,epsh,w2hr,w2hi)
946 CALL
pyi3au(epss,th/uh,y3stur,y3stui)
947 CALL
pyi3au(epss,uh/th,y3sutr,y3suti)
948 CALL
pyi3au(epst,sh/uh,y3tsur,y3tsui)
949 CALL
pyi3au(epst,uh/sh,y3tusr,y3tusi)
950 CALL
pyi3au(epsu,sh/th,y3ustr,y3usti)
951 CALL
pyi3au(epsu,th/sh,y3utsr,y3utsi)
952 CALL
pyi3au(epsh,sqmh/sh*th/uh,yhstur,yhstui)
953 CALL
pyi3au(epsh,sqmh/sh*uh/th,yhsutr,yhsuti)
954 CALL
pyi3au(epsh,sqmh/th*sh/uh,yhtsur,yhtsui)
955 CALL
pyi3au(epsh,sqmh/th*uh/sh,yhtusr,yhtusi)
956 CALL
pyi3au(epsh,sqmh/uh*sh/th,yhustr,yhusti)
957 CALL
pyi3au(epsh,sqmh/uh*th/sh,yhutsr,yhutsi)
958 w3stur=yhstur-y3stur-y3utsr
959 w3stui=yhstui-y3stui-y3utsi
960 w3sutr=yhsutr-y3sutr-y3tusr
961 w3suti=yhsuti-y3suti-y3tusi
962 w3tsur=yhtsur-y3tsur-y3ustr
963 w3tsui=yhtsui-y3tsui-y3usti
964 w3tusr=yhtusr-y3tusr-y3sutr
965 w3tusi=yhtusi-y3tusi-y3suti
966 w3ustr=yhustr-y3ustr-y3tsur
967 w3usti=yhusti-y3usti-y3tsui
968 w3utsr=yhutsr-y3utsr-y3stur
969 w3utsi=yhutsi-y3utsi-y3stui
970 b2stur=sqmq/sqmh**2*(sh*(uh-sh)/(sh+uh)+2d0*th*uh*
971 & (uh+2d0*sh)/(sh+uh)**2*(w1tr-w1hr)+(sqmq-sh/4d0)*
972 & (0.5d0*w2sr+0.5d0*w2hr-w2tr+w3stur)+sh2*(2d0*sqmq/
973 & (sh+uh)**2-0.5d0/(sh+uh))*(w2tr-w2hr)+0.5d0*th*uh/sh*
974 & (w2hr-2d0*w2tr)+0.125d0*(sh-12d0*sqmq-4d0*th*uh/sh)*w3tsur)
975 b2stui=sqmq/sqmh**2*(2d0*th*uh*(uh+2d0*sh)/(sh+uh)**2*
976 & (w1ti-w1hi)+(sqmq-sh/4d0)*(0.5d0*w2si+0.5d0*w2hi-w2ti+
977 & w3stui)+sh2*(2d0*sqmq/(sh+uh)**2-0.5d0/(sh+uh))*
978 & (w2ti-w2hi)+0.5d0*th*uh/sh*(w2hi-2d0*w2ti)+0.125d0*
979 & (sh-12d0*sqmq-4d0*th*uh/sh)*w3tsui)
980 b2sutr=sqmq/sqmh**2*(sh*(th-sh)/(sh+th)+2d0*uh*th*
981 & (th+2d0*sh)/(sh+th)**2*(w1ur-w1hr)+(sqmq-sh/4d0)*
982 & (0.5d0*w2sr+0.5d0*w2hr-w2ur+w3sutr)+sh2*(2d0*sqmq/
983 & (sh+th)**2-0.5d0/(sh+th))*(w2ur-w2hr)+0.5d0*uh*th/sh*
984 & (w2hr-2d0*w2ur)+0.125d0*(sh-12d0*sqmq-4d0*uh*th/sh)*w3ustr)
985 b2suti=sqmq/sqmh**2*(2d0*uh*th*(th+2d0*sh)/(sh+th)**2*
986 & (w1ui-w1hi)+(sqmq-sh/4d0)*(0.5d0*w2si+0.5d0*w2hi-w2ui+
987 & w3suti)+sh2*(2d0*sqmq/(sh+th)**2-0.5d0/(sh+th))*
988 & (w2ui-w2hi)+0.5d0*uh*th/sh*(w2hi-2d0*w2ui)+0.125d0*
989 & (sh-12d0*sqmq-4d0*uh*th/sh)*w3usti)
990 b2tsur=sqmq/sqmh**2*(th*(uh-th)/(th+uh)+2d0*sh*uh*
991 & (uh+2d0*th)/(th+uh)**2*(w1sr-w1hr)+(sqmq-th/4d0)*
992 & (0.5d0*w2tr+0.5d0*w2hr-w2sr+w3tsur)+th2*(2d0*sqmq/
993 & (th+uh)**2-0.5d0/(th+uh))*(w2sr-w2hr)+0.5d0*sh*uh/th*
994 & (w2hr-2d0*w2sr)+0.125d0*(th-12d0*sqmq-4d0*sh*uh/th)*w3stur)
995 b2tsui=sqmq/sqmh**2*(2d0*sh*uh*(uh+2d0*th)/(th+uh)**2*
996 & (w1si-w1hi)+(sqmq-th/4d0)*(0.5d0*w2ti+0.5d0*w2hi-w2si+
997 & w3tsui)+th2*(2d0*sqmq/(th+uh)**2-0.5d0/(th+uh))*
998 & (w2si-w2hi)+0.5d0*sh*uh/th*(w2hi-2d0*w2si)+0.125d0*
999 & (th-12d0*sqmq-4d0*sh*uh/th)*w3stui)
1000 b2tusr=sqmq/sqmh**2*(th*(sh-th)/(th+sh)+2d0*uh*sh*
1001 & (sh+2d0*th)/(th+sh)**2*(w1ur-w1hr)+(sqmq-th/4d0)*
1002 & (0.5d0*w2tr+0.5d0*w2hr-w2ur+w3tusr)+th2*(2d0*sqmq/
1003 & (th+sh)**2-0.5d0/(th+sh))*(w2ur-w2hr)+0.5d0*uh*sh/th*
1004 & (w2hr-2d0*w2ur)+0.125d0*(th-12d0*sqmq-4d0*uh*sh/th)*w3utsr)
1005 b2tusi=sqmq/sqmh**2*(2d0*uh*sh*(sh+2d0*th)/(th+sh)**2*
1006 & (w1ui-w1hi)+(sqmq-th/4d0)*(0.5d0*w2ti+0.5d0*w2hi-w2ui+
1007 & w3tusi)+th2*(2d0*sqmq/(th+sh)**2-0.5d0/(th+sh))*
1008 & (w2ui-w2hi)+0.5d0*uh*sh/th*(w2hi-2d0*w2ui)+0.125d0*
1009 & (th-12d0*sqmq-4d0*uh*sh/th)*w3utsi)
1010 b2ustr=sqmq/sqmh**2*(uh*(th-uh)/(uh+th)+2d0*sh*th*
1011 & (th+2d0*uh)/(uh+th)**2*(w1sr-w1hr)+(sqmq-uh/4d0)*
1012 & (0.5d0*w2ur+0.5d0*w2hr-w2sr+w3ustr)+uh2*(2d0*sqmq/
1013 & (uh+th)**2-0.5d0/(uh+th))*(w2sr-w2hr)+0.5d0*sh*th/uh*
1014 & (w2hr-2d0*w2sr)+0.125d0*(uh-12d0*sqmq-4d0*sh*th/uh)*w3sutr)
1015 b2usti=sqmq/sqmh**2*(2d0*sh*th*(th+2d0*uh)/(uh+th)**2*
1016 & (w1si-w1hi)+(sqmq-uh/4d0)*(0.5d0*w2ui+0.5d0*w2hi-w2si+
1017 & w3usti)+uh2*(2d0*sqmq/(uh+th)**2-0.5d0/(uh+th))*
1018 & (w2si-w2hi)+0.5d0*sh*th/uh*(w2hi-2d0*w2si)+0.125d0*
1019 & (uh-12d0*sqmq-4d0*sh*th/uh)*w3suti)
1020 b2utsr=sqmq/sqmh**2*(uh*(sh-uh)/(uh+sh)+2d0*th*sh*
1021 & (sh+2d0*uh)/(uh+sh)**2*(w1tr-w1hr)+(sqmq-uh/4d0)*
1022 & (0.5d0*w2ur+0.5d0*w2hr-w2tr+w3utsr)+uh2*(2d0*sqmq/
1023 & (uh+sh)**2-0.5d0/(uh+sh))*(w2tr-w2hr)+0.5d0*th*sh/uh*
1024 & (w2hr-2d0*w2tr)+0.125d0*(uh-12d0*sqmq-4d0*th*sh/uh)*w3tusr)
1025 b2utsi=sqmq/sqmh**2*(2d0*th*sh*(sh+2d0*uh)/(uh+sh)**2*
1026 & (w1ti-w1hi)+(sqmq-uh/4d0)*(0.5d0*w2ui+0.5d0*w2hi-w2ti+
1027 & w3utsi)+uh2*(2d0*sqmq/(uh+sh)**2-0.5d0/(uh+sh))*
1028 & (w2ti-w2hi)+0.5d0*th*sh/uh*(w2hi-2d0*w2ti)+0.125d0*
1029 & (uh-12d0*sqmq-4d0*th*sh/uh)*w3tusi)
1030 b4stur=0.25d0*epsh*(-2d0/3d0+0.25d0*(epsh-1d0)*
1031 & (w2sr-w2hr+w3stur))
1032 b4stui=0.25d0*epsh*0.25d0*(epsh-1d0)*(w2si-w2hi+w3stui)
1033 b4tusr=0.25d0*epsh*(-2d0/3d0+0.25d0*(epsh-1d0)*
1034 & (w2tr-w2hr+w3tusr))
1035 b4tusi=0.25d0*epsh*0.25d0*(epsh-1d0)*(w2ti-w2hi+w3tusi)
1036 b4ustr=0.25d0*epsh*(-2d0/3d0+0.25d0*(epsh-1d0)*
1037 & (w2ur-w2hr+w3ustr))
1038 b4usti=0.25d0*epsh*0.25d0*(epsh-1d0)*(w2ui-w2hi+w3usti)
1039 a2stur=a2stur+b2stur+b2sutr
1040 a2stui=a2stui+b2stui+b2suti
1041 a2ustr=a2ustr+b2ustr+b2utsr
1042 a2usti=a2usti+b2usti+b2utsi
1043 a2tusr=a2tusr+b2tusr+b2tsur
1044 a2tusi=a2tusi+b2tusi+b2tsui
1045 a4stur=a4stur+b4stur+b4ustr+b4tusr
1046 a4stui=a4stui+b4stui+b4usti+b4tusi
1048 facgh=comfac*faca*3d0/(128d0*paru(1)**2)*aem/xw*as**3*
1049 & sqmh/sqmw*sqmh**3/(sh*th*uh)*(a2stur**2+a2stui**2+a2ustr**2+
1050 & a2usti**2+a2tusr**2+a2tusi**2+a4stur**2+a4stui**2)
1051 facgh=facgh*wids(25,2)
1053 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 450
1062 ELSEIF(isub.LE.170)
THEN
1063 IF(isub.EQ.121)
THEN
1065 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 460
1068 facqqh=comfac*(4d0*paru(1)*aem/xw)*(4d0*paru(1)*as)**2*
1069 & (0.5d0*pmf/pmas(24,1))**2
1071 IF(ia.EQ.6.OR.ia.EQ.7.OR.ia.EQ.8) wid2=wids(ia,1)
1073 IF(
mstp(4).GE.1.OR.ihigg.GE.2)
THEN
1075 IF(ia.LE.10.AND.mod(ia,2).EQ.0) ikfi=2
1077 facqqh=facqqh*paru(150+10*ihigg+ikfi)**2
1078 IF(imss(1).NE.0.AND.ia.EQ.5)
THEN
1079 facqqh=facqqh/(1d0+rmss(41))**2
1081 facqqh=facqqh*(1d0+rmss(41)*paru(152+10*ihigg)/
1082 & paru(151+10*ihigg))**2
1087 CALL
pywidt(kfhigg,sh,wdtp,wdte)
1089 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
1090 facbw=(1d0/paru(1))*
vint(2)*hf/((sh-sqmh)**2+hs**2)
1091 IF(abs(shr-pmas(kfhigg,1)).GT.
parp(48)*pmas(kfhigg,2))
1097 sigh(nchn)=facqqh*wtqqbh*facbw
1100 ELSEIF(isub.EQ.122)
THEN
1104 facqqh=comfac*(4d0*paru(1)*aem/xw)*(4d0*paru(1)*as)**2*
1105 & (0.5d0*pmf/pmas(24,1))**2
1107 IF(ia.EQ.6.OR.ia.EQ.7.OR.ia.EQ.8) wid2=wids(ia,1)
1109 IF(
mstp(4).GE.1.OR.ihigg.GE.2)
THEN
1111 IF(ia.LE.10.AND.mod(ia,2).EQ.0) ikfi=2
1113 facqqh=facqqh*paru(150+10*ihigg+ikfi)**2
1114 IF(imss(1).NE.0.AND.ia.EQ.5)
THEN
1115 facqqh=facqqh/(1d0+rmss(41))**2
1117 facqqh=facqqh*(1d0+rmss(41)*paru(152+10*ihigg)/
1118 & paru(151+10*ihigg))**2
1123 CALL
pywidt(kfhigg,sh,wdtp,wdte)
1125 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
1126 facbw=(1d0/paru(1))*
vint(2)*hf/((sh-sqmh)**2+hs**2)
1127 IF(abs(shr-pmas(kfhigg,1)).GT.
parp(48)*pmas(kfhigg,2))
1129 DO 470
i=mmina,mmaxa
1130 IF(
i.EQ.0.OR.iabs(
i).GT.
mstp(58).OR.
1131 & kfac(1,
i)*kfac(2,-
i).EQ.0) goto 470
1136 sigh(nchn)=facqqh*wtqqbh*facbw
1139 ELSEIF(isub.EQ.123)
THEN
1142 facnor=comfac*(4d0*paru(1)*aem/(xw*xw1))**3*sqmz/32d0
1143 IF(
mstp(4).GE.1.OR.ihigg.GE.2) facnor=facnor*
1144 & paru(154+10*ihigg)**2
1145 facprp=1d0/((
vint(215)-
vint(204)**2)*
1147 faczz1=facnor*facprp*(0.5d0*taup*
vint(2))*
vint(219)
1148 faczz2=facnor*facprp*
vint(217)*
vint(218)
1149 CALL
pywidt(kfhigg,sh,wdtp,wdte)
1151 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
1152 facbw=(1d0/paru(1))*
vint(2)*hf/((sh-sqmh)**2+hs**2)
1153 IF(abs(shr-pmas(kfhigg,1)).GT.
parp(48)*pmas(kfhigg,2))
1155 DO 490
i=mmin1,mmax1
1156 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 490
1158 DO 480
j=mmin2,mmax2
1159 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 480
1161 ei=kchg(ia,1)*isign(1,
i)/3d0
1162 ai=
sign(1d0,kchg(ia,1)+0.5d0)*isign(1,
i)
1164 ej=kchg(ja,1)*isign(1,
j)/3d0
1165 aj=
sign(1d0,kchg(ja,1)+0.5d0)*isign(1,
j)
1167 faclr1=(vi**2+ai**2)*(vj**2+aj**2)+4d0*vi*ai*vj*aj
1168 faclr2=(vi**2+ai**2)*(vj**2+aj**2)-4d0*vi*ai*vj*aj
1173 sigh(nchn)=(faclr1*faczz1+faclr2*faczz2)*facbw
1177 ELSEIF(isub.EQ.124)
THEN
1180 facnor=comfac*(4d0*paru(1)*aem/xw)**3*sqmw
1181 IF(
mstp(4).GE.1.OR.ihigg.GE.2) facnor=facnor*
1182 & paru(155+10*ihigg)**2
1183 facprp=1d0/((
vint(215)-
vint(204)**2)*
1185 facww=facnor*facprp*(0.5d0*taup*
vint(2))*
vint(219)
1186 CALL
pywidt(kfhigg,sh,wdtp,wdte)
1188 hf=shr*(wdte(0,1)+wdte(0,2)+wdte(0,4))
1189 facbw=(1d0/paru(1))*
vint(2)*hf/((sh-sqmh)**2+hs**2)
1190 IF(abs(shr-pmas(kfhigg,1)).GT.
parp(48)*pmas(kfhigg,2))
1192 DO 510
i=mmin1,mmax1
1193 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 510
1194 ei=
sign(1d0,dble(
i))*kchg(iabs(
i),1)
1195 DO 500
j=mmin2,mmax2
1196 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 500
1197 ej=
sign(1d0,dble(
j))*kchg(iabs(
j),1)
1198 IF(
ei*ej.GT.0d0) goto 500
1204 sigh(nchn)=faclr*facww*facbw
1208 ELSEIF(isub.EQ.143)
THEN
1211 CALL
pywidt(37,sh,wdtp,wdte)
1213 facbw=4d0*comfac/((sh-sqmhc)**2+hs**2)
1214 hp=aem/(8d0*xw)*sh/sqmw*sh
1215 DO 530
i=mmin1,mmax1
1216 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 530
1219 DO 520
j=mmin2,mmax2
1220 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 520
1223 IF(
i*
j.GT.0.OR.ia.EQ.ja.OR.im.NE.jm) goto 520
1224 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
1226 IF(mod(ia,2).EQ.0)
THEN
1235 hi=hp*(rml*paru(141)**2+rmu/paru(141)**2)
1236 IF(ia.LE.10) hi=hi*faca/3d0
1237 kchhc=(kchg(ia,1)*isign(1,
i)+kchg(ja,1)*isign(1,
j))/3
1238 hf=shr*(wdte(0,1)+wdte(0,(5-kchhc)/2)+wdte(0,4))
1243 sigh(nchn)=hi*facbw*hf
1247 ELSEIF(isub.EQ.161)
THEN
1250 fhcq=comfac*faca*as*aem/xw*1d0/24
1253 gmmhc=pmas(37,1)*pmas(37,2)
1254 hbw4=gmmhc/((sqm4-sqmhc)**2+gmmhc**2)
1255 CALL
pywidt(37,sqm4,wdtp,wdte)
1256 gmmhcc=sqrt(sqm4)*wdtp(0)
1257 hbw4c=gmmhcc/((sqm4-sqmhc)**2+gmmhcc**2)
1258 fhcq=fhcq*hbw4c/hbw4
1261 DO 550
i=mmina,mmaxa
1263 IF(ia.NE.5) goto 550
1267 fachcq=fhcq*(sqml*paru(141)**2+sqmq/paru(141)**2)/sqmw*
1268 & (sh/(sqmq-uh)+2d0*sqmq*(sqmhc-uh)/(sqmq-uh)**2+(sqmq-uh)/sh-
1269 & 2d0*sqmq/(sqmq-uh)+2d0*(sqmhc-uh)/(sqmq-uh)*
1270 & (sqmhc-sqmq-sh)/sh)
1271 kchhc=isign(1,kchg(ia,1)*isign(1,
i))
1273 IF(isde.EQ.1.AND.kfac(1,
i)*kfac(2,21).EQ.0) goto 540
1274 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,
i).EQ.0) goto 540
1277 isig(nchn,3-isde)=21
1279 sigh(nchn)=fachcq*wids(37,(5-kchhc)/2)
1280 IF(iua.EQ.6) sigh(nchn)=sigh(nchn)*wids(6,(5+kchhc)/2)
1285 ELSEIF(isub.LE.402)
THEN
1286 IF(isub.EQ.401)
THEN
1288 IF(kfac(1,21)*kfac(2,21).EQ.0) goto 560
1291 CALL
pywidt(kfhigg,sh,wdtp,wdte)
1293 facbw=(1d0/paru(1))*
vint(2)*hs/((sh-sqmh)**2+hs**2)
1294 IF(abs(shr-pmas(kfhigg,1)).GT.
parp(48)*pmas(kfhigg,2))
1300 sigh(nchn)=2d0*comfac*wttbh*facbw
1303 sigh(nchn)=sigh(nchn)*wids(37,2)*wids(6,3)
1304 IF(abs(wids(37,2)-wids(37,3))
1305 & .GE.1d-6*(wids(37,2)+wids(37,3)).OR.
1306 & abs(wids(6,2)-wids(6,3))
1307 & .GE.1d-6*(wids(6,2)+wids(6,3)))
THEN
1308 WRITE(*,*)
'Error: Process 401 cannot handle different'
1309 WRITE(*,*)
'decays for H+ and H- or t and tbar.'
1310 WRITE(*,*)
'Execution stopped.'
1315 ELSEIF(isub.EQ.402)
THEN
1319 CALL
pywidt(kfhigg,sh,wdtp,wdte)
1321 facbw=(1d0/paru(1))*
vint(2)*hs/((sh-sqmh)**2+hs**2)
1322 IF(abs(shr-pmas(kfhigg,1)).GT.
parp(48)*pmas(kfhigg,2))
1324 DO 570
i=mmina,mmaxa
1325 IF(
i.EQ.0.OR.iabs(
i).GT.
mstp(58).OR.
1326 & kfac(1,
i)*kfac(2,-
i).EQ.0) goto 570
1331 sigh(nchn)=2d0*comfac*wttbh*facbw
1334 sigh(nchn)=sigh(nchn)*wids(37,2)*wids(6,3)
1335 IF(abs(wids(37,2)-wids(37,3))/(wids(37,2)+wids(37,3))
1337 & abs(wids(6,2)-wids(6,3))/(wids(6,2)+wids(6,3))
1339 WRITE(*,*)
'Error: Process 402 cannot handle different'
1340 WRITE(*,*)
'decays for H+ and H- or t and tbar.'
1341 WRITE(*,*)
'Execution stopped.'