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)
22 common/
pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
25 common/
pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
26 common/
pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
27 common/
pyint4/mwid(500),wids(500,5)
28 common/pytcsm/itcm(0:99),rtcm(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),
hgz(6,3),hl3(3),hr3(3),
38 COMPLEX*16 coulck,coulcp,coulcd,coulcr,coulcs
46 CALL
pywidt(23,sh,wdtp,wdte)
52 IF(
i.EQ.0.OR.kfac(1,
i)*kfac(2,-
i).EQ.0) goto 100
53 ei=kchg(iabs(
i),1)/3d0
57 IF(iabs(
i).LE.10) hi0=hi0*faca/3d0
59 IF(iabs(
i).LE.10) hi1=hi1*faca/3d0
64 sigh(nchn)=facz*(
ei**2/sh2*hi0*hp0*
vint(111)+
65 &
ei*vi*(1d0-sqmz/sh)/((sh-sqmz)**2+hs**2)*
66 & (hi0*hp1+hi1*hp0)*
vint(112)+(vi**2+ai**2)/
67 & ((sh-sqmz)**2+hs**2)*hi1*hp1*
vint(114))
70 ELSEIF(isub.EQ.2)
THEN
72 CALL
pywidt(24,sh,wdtp,wdte)
74 facbw=4d0*comfac/((sh-sqmw)**2+hs**2)*3d0
77 IF(
i.EQ.0.OR.kfac(1,
i).EQ.0) goto 120
80 IF(
j.EQ.0.OR.kfac(2,
j).EQ.0) goto 110
82 IF(
i*
j.GT.0.OR.mod(ia+ja,2).EQ.0) goto 110
83 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
85 kchw=(kchg(ia,1)*isign(1,
i)+kchg(ja,1)*isign(1,
j))/3
87 IF(ia.LE.10) hi=hi*vckm((ia+1)/2,(ja+1)/2)*faca/3d0
92 hf=shr*(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))
93 sigh(nchn)=hi*facbw*hf
97 ELSEIF(isub.EQ.15)
THEN
99 faczg=comfac*as*aem*(8d0/9d0)*(th2+uh2+2d0*sqm4*sh)/(th*uh)
104 radc4=1d0+
pyalps(sqm4)/paru(1)
105 DO 130
i=1,min(16,mdcy(23,3))
107 IF(mdme(idc,1).LT.0) goto 130
109 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2.OR.mdme(idc,1).EQ.4)
113 af=
sign(1d0,ef+0.1d0)
117 af=
sign(1d0,ef+0.1d0)
120 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
121 IF(4d0*rm1.LT.1d0)
THEN
123 IF(
i.LE.8) fcof=3d0*radc4
124 be34=sqrt(
max(0d0,1d0-4d0*rm1))
126 hfgg=hfgg+fcof*ef**2*(1d0+2d0*rm1)*be34
127 hfgz=hfgz+fcof*ef*vf*(1d0+2d0*rm1)*be34
128 hfzz=hfzz+fcof*(vf**2*(1d0+2d0*rm1)+
129 & af**2*(1d0-4d0*rm1))*be34
134 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
138 CALL
pywidt(23,sqm4,wdtp,wdte)
140 hfaem=(paru(108)/paru(2))*(2d0/3d0)
141 hfgg=hfgg*hfaem*
vint(111)/sqm4
142 hfgz=hfgz*hfaem*
vint(112)/sqm4
143 hfzz=hfzz*hfaem*
vint(114)/sqm4
146 IF(
i.EQ.0.OR.iabs(
i).GT.
mstp(58).OR.
147 & kfac(1,
i)*kfac(2,-
i).EQ.0) goto 140
148 ei=kchg(iabs(
i),1)/3d0
155 sigh(nchn)=faczg*(
ei**2*hfgg+
ei*vi*hfgz+
156 & (vi**2+ai**2)*hfzz)/hbw4
159 ELSEIF(isub.EQ.16)
THEN
161 facwg=comfac*as*aem/xw*2d0/9d0*(th2+uh2+2d0*sqm4*sh)/(th*uh)
163 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
164 CALL
pywidt(24,sqm4,wdtp,wdte)
165 gmmwc=sqrt(sqm4)*wdtp(0)
166 hbw4c=gmmwc/((sqm4-sqmw)**2+gmmwc**2)
167 facwg=facwg*hbw4c/hbw4
170 IF(
i.EQ.0.OR.ia.GT.10.OR.kfac(1,
i).EQ.0) goto 160
173 IF(
j.EQ.0.OR.ja.GT.10.OR.kfac(2,
j).EQ.0) goto 150
174 IF(
i*
j.GT.0.OR.mod(ia+ja,2).EQ.0) goto 150
175 kchw=(kchg(ia,1)*isign(1,
i)+kchg(ja,1)*isign(1,
j))/3
176 widsc=(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))/wdtp(0)
177 fckm=vckm((ia+1)/2,(ja+1)/2)
182 sigh(nchn)=facwg*fckm*widsc
186 ELSEIF(isub.EQ.19)
THEN
188 facgz=comfac*2d0*aem**2*(th2+uh2+2d0*sqm4*sh)/(th*uh)
193 radc4=1d0+
pyalps(sqm4)/paru(1)
194 DO 170
i=1,min(16,mdcy(23,3))
196 IF(mdme(idc,1).LT.0) goto 170
198 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2.OR.mdme(idc,1).EQ.4)
202 af=
sign(1d0,ef+0.1d0)
206 af=
sign(1d0,ef+0.1d0)
209 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
210 IF(4d0*rm1.LT.1d0)
THEN
212 IF(
i.LE.8) fcof=3d0*radc4
213 be34=sqrt(
max(0d0,1d0-4d0*rm1))
215 hfgg=hfgg+fcof*ef**2*(1d0+2d0*rm1)*be34
216 hfgz=hfgz+fcof*ef*vf*(1d0+2d0*rm1)*be34
217 hfzz=hfzz+fcof*(vf**2*(1d0+2d0*rm1)+
218 & af**2*(1d0-4d0*rm1))*be34
223 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
227 CALL
pywidt(23,sqm4,wdtp,wdte)
229 hfaem=(paru(108)/paru(2))*(2d0/3d0)
230 hfgg=hfgg*hfaem*
vint(111)/sqm4
231 hfgz=hfgz*hfaem*
vint(112)/sqm4
232 hfzz=hfzz*hfaem*
vint(114)/sqm4
235 IF(
i.EQ.0.OR.kfac(1,
i)*kfac(2,-
i).EQ.0) goto 180
236 ei=kchg(iabs(
i),1)/3d0
240 IF(iabs(
i).LE.10) fcoi=faca/3d0
245 sigh(nchn)=facgz*fcoi*
ei**2*(
ei**2*hfgg+
ei*vi*hfgz+
246 & (vi**2+ai**2)*hfzz)/hbw4
249 ELSEIF(isub.EQ.20)
THEN
251 facgw=comfac*0.5d0*aem**2/xw
253 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
254 CALL
pywidt(24,sqm4,wdtp,wdte)
255 gmmwc=sqrt(sqm4)*wdtp(0)
256 hbw4c=gmmwc/((sqm4-sqmw)**2+gmmwc**2)
257 facgw=facgw*hbw4c/hbw4
259 term1=(th2+uh2+2d0*sqm4*sh)/(th*uh)
262 IF(itcm(5).GE.1.AND.itcm(5).LE.4)
THEN
263 term2=rtcm(46)*(th-uh)/(th+uh)
264 term3=0.5d0*rtcm(46)**2*(th*uh+(th2+uh2)*sh/
265 & (4d0*sqmw))/(th+uh)**2
269 IF(
i.EQ.0.OR.ia.GT.20.OR.kfac(1,
i).EQ.0) goto 200
272 IF(
j.EQ.0.OR.ja.GT.20.OR.kfac(2,
j).EQ.0) goto 190
273 IF(
i*
j.GT.0.OR.mod(ia+ja,2).EQ.0) goto 190
274 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
276 kchw=(kchg(ia,1)*isign(1,
i)+kchg(ja,1)*isign(1,
j))/3
277 widsc=(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))/wdtp(0)
279 facwr=uh/(th+uh)-1d0/3d0
280 fckm=vckm((ia+1)/2,(ja+1)/2)
287 facwk=term1*facwr**2+term2*facwr+term3
292 sigh(nchn)=facgw*facwk*fcoi*fckm*widsc
297 ELSEIF(isub.LE.40)
THEN
301 faczz=comfac*aem**2*((th2+uh2+2d0*(sqm3+sqm4)*sh)/(th*uh)-
302 & sqm3*sqm4*(1d0/th2+1d0/uh2))
309 radc3=1d0+
pyalps(sqm3)/paru(1)
310 radc4=1d0+
pyalps(sqm4)/paru(1)
311 DO 230
i=1,min(16,mdcy(23,3))
313 IF(mdme(idc,1).LT.0) goto 230
315 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2) imdm=1
316 IF(mdme(idc,1).EQ.4.OR.mdme(idc,1).EQ.5) imdm=mdme(idc,1)-2
319 af=
sign(1d0,ef+0.1d0)
323 af=
sign(1d0,ef+0.1d0)
326 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm3
327 IF(4d0*rm1.LT.1d0)
THEN
329 IF(
i.LE.8) fcof=3d0*radc3
330 be34=sqrt(
max(0d0,1d0-4d0*rm1))
332 hgz(1,imdm)=
hgz(1,imdm)+fcof*ef**2*(1d0+2d0*rm1)*be34
333 hgz(2,imdm)=
hgz(2,imdm)+fcof*ef*vf*(1d0+2d0*rm1)*be34
334 hgz(3,imdm)=
hgz(3,imdm)+fcof*(vf**2*(1d0+2d0*rm1)+
335 & af**2*(1d0-4d0*rm1))*be34
338 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
339 IF(4d0*rm1.LT.1d0)
THEN
341 IF(
i.LE.8) fcof=3d0*radc4
342 be34=sqrt(
max(0d0,1d0-4d0*rm1))
344 hgz(4,imdm)=
hgz(4,imdm)+fcof*ef**2*(1d0+2d0*rm1)*be34
345 hgz(5,imdm)=
hgz(5,imdm)+fcof*ef*vf*(1d0+2d0*rm1)*be34
346 hgz(6,imdm)=
hgz(6,imdm)+fcof*(vf**2*(1d0+2d0*rm1)+
347 & af**2*(1d0-4d0*rm1))*be34
352 hbw3=(1d0/paru(1))*gmmz/((sqm3-sqmz)**2+gmmz**2)
353 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
357 CALL
pywidt(23,sqm3,wdtp,wdte)
359 hfaem=(paru(108)/paru(2))*(2d0/3d0)
368 CALL
pywidt(23,sqm4,wdtp,wdte)
370 hfaem=(paru(108)/paru(2))*(2d0/3d0)
378 IF(
i.EQ.0.OR.kfac(1,
i)*kfac(2,-
i).EQ.0) goto 270
379 ei=kchg(iabs(
i),1)/3d0
385 IF(iabs(
i).LE.10) fcoi=faca/3d0
392 faclr=hl3(1)*hl4(1)+hl3(1)*(hl4(2)+hl4(3))+
393 & hl4(1)*(hl3(2)+hl3(3))+hl3(2)*hl4(3)+hl4(2)*hl3(3)+
394 & hr3(1)*hr4(1)+hr3(1)*(hr4(2)+hr4(3))+
395 & hr4(1)*(hr3(2)+hr3(3))+hr3(2)*hr4(3)+hr4(2)*hr3(3)
400 sigh(nchn)=0.5d0*faczz*fcoi*faclr/(hbw3*hbw4)
403 ELSEIF(isub.EQ.23)
THEN
405 faczw=comfac*0.5d0*(aem/xw)**2
406 faczw=faczw*wids(23,2)
407 thuh=
max(th*uh-sqm3*sqm4,sh*ckin(3)**2)
408 facbw=1d0/((sh-sqmw)**2+gmmw**2)
411 IF(
i.EQ.0.OR.ia.GT.20.OR.kfac(1,
i).EQ.0) goto 290
414 IF(
j.EQ.0.OR.ja.GT.20.OR.kfac(2,
j).EQ.0) goto 280
415 IF(
i*
j.GT.0.OR.mod(ia+ja,2).EQ.0) goto 280
416 IF((ia.LE.10.AND.ja.GT.10).OR.(ia.GT.10.AND.ja.LE.10))
418 kchw=(kchg(ia,1)*isign(1,
i)+kchg(ja,1)*isign(1,
j))/3
423 aj=
sign(1d0,ej+0.1d0)
434 IF(ia.LE.10) fckm=vckm((ia+1)/2,(ja+1)/2)
436 IF(ia.LE.10) fcoi=faca/3d0
441 sigh(nchn)=faczw*fcoi*fckm*(facbw*((9d0-8d0*xw)/4d0*thuh+
442 & (8d0*xw-6d0)/4d0*sh*(sqm3+sqm4))+(thuh-sh*(sqm3+sqm4))*
443 & (sh-sqmw)*facbw*0.5d0*((vj+aj)/th-(vi+ai)/uh)+
444 & thuh/(16d0*xw1)*((vj+aj)**2/th2+(vi+ai)**2/uh2)+
445 & sh*(sqm3+sqm4)/(8d0*xw1)*(vi+ai)*(vj+aj)/(th*uh))*
446 & wids(24,(5-kchw)/2)
449 sigh(nchn)=
max(0d0,sigh(nchn))
453 ELSEIF(isub.EQ.25)
THEN
457 hbwzc=sh**2/((sh-sqmz)**2+gmmzc**2)
458 hbw3=gmmw/((sqm3-sqmw)**2+gmmw**2)
459 CALL
pywidt(24,sqm3,wdtp,wdte)
460 gmmw3=sqrt(sqm3)*wdtp(0)
461 hbw3c=gmmw3/((sqm3-sqmw)**2+gmmw3**2)
462 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
463 CALL
pywidt(24,sqm4,wdtp,wdte)
464 gmmw4=sqrt(sqm4)*wdtp(0)
465 hbw4c=gmmw4/((sqm4-sqmw)**2+gmmw4**2)
467 thuh=
max(th*uh-sqm3*sqm4,sh*ckin(3)**2)
468 thuh34=(2d0*sh*(sqm3+sqm4)+thuh)/(sqm3*sqm4)
469 gs=(((sh-sqm3-sqm4)**2-4d0*sqm3*sqm4)*thuh34+12d0*thuh)/sh2
470 gt=thuh34+4d0*thuh/th2
471 gst=((sh-sqm3-sqm4)*thuh34+4d0*(sh*(sqm3+sqm4)-thuh)/th)/sh
472 gu=thuh34+4d0*thuh/uh2
473 gsu=((sh-sqm3-sqm4)*thuh34+4d0*(sh*(sqm3+sqm4)-thuh)/uh)/sh
475 facww=comfac*(hbw3c/hbw3)*(hbw4c/hbw4)
476 facww=facww*wids(24,1)
478 cgz=aem**2/(4d0*xw)*hbwzc*(1d0-sqmz/sh)
479 czz=aem**2/(32d0*xw**2)*hbwzc
481 cnz=aem**2/(16d0*xw**2)*hbwzc*(1d0-sqmz/sh)
482 cnn=aem**2/(16d0*xw**2)
484 IF(
mstp(40).GE.1.AND.
mstp(40).LE.3)
THEN
485 coule=(sh-4d0*sqmw)/(4d0*pmas(24,1))
486 coulp=
max(1d-10,0.5d0*be34*sqrt(sh))
487 IF(coule.LT.100d0*pmas(24,2))
THEN
488 coulp1=sqrt(0.5d0*pmas(24,1)*(sqrt(coule**2+
489 & pmas(24,2)**2)-coule))
491 coulp1=sqrt(0.5d0*pmas(24,1)*(0.5d0*pmas(24,2)**2/coule))
493 IF(coule.GT.-100d0*pmas(24,2))
THEN
494 coulp2=sqrt(0.5d0*pmas(24,1)*(sqrt(coule**2+
495 & pmas(24,2)**2)+coule))
497 coulp2=sqrt(0.5d0*pmas(24,1)*(0.5d0*pmas(24,2)**2/
500 IF(
mstp(40).EQ.1)
THEN
501 couldc=paru(1)-2d0*atan((coulp1**2+coulp2**2-coulp**2)/
502 &
max(1d-10,2d0*coulp*coulp1))
503 faccou=1d0+0.5d0*paru(101)*couldc/
max(1d-5,be34)
504 ELSEIF(
mstp(40).EQ.2)
THEN
505 coulck=dcmplx(dble(coulp1),dble(coulp2))
506 coulcp=dcmplx(0d0,dble(coulp))
507 coulcd=(coulck+coulcp)/(coulck-coulcp)
508 coulcr=1d0+dble(paru(101)*sqrt(sh))/
509 & (4d0*coulcp)*
log(coulcd)
510 coulcs=dcmplx(0d0,0d0)
513 coulxx=(istp-0.5)/nstp
514 coulcs=coulcs+(1d0/coulxx)*
log((1d0+coulxx*coulcd)/
515 & (1d0+coulxx/coulcd))
517 coulcr=coulcr+dble(paru(101)**2*sh)/(16d0*coulcp*coulck)*
519 faccou=abs(coulcr)**2
520 ELSEIF(
mstp(40).EQ.3)
THEN
521 couldc=paru(1)-2d0*(1d0-be34)**2*atan((coulp1**2+
522 & coulp2**2-coulp**2)/
max(1d-10,2d0*coulp*coulp1))
523 faccou=1d0+0.5d0*paru(101)*couldc/
max(1d-5,be34)
525 ELSEIF(
mstp(40).EQ.4)
THEN
526 faccou=1d0+0.5d0*paru(101)*paru(1)/
max(1d-5,be34)
534 IF(
i.EQ.0.OR.kfac(1,
i)*kfac(2,-
i).EQ.0) goto 310
535 ei=kchg(iabs(
i),1)/3d0
539 IF(iabs(
i).LE.10) fcoi=faca/3d0
540 IF(
mstp(50).LE.0.OR.iabs(
i).LE.10)
THEN
542 dsigww=(cgg*
ei**2+cgz*vi*
ei+czz*(vi**2+ai**2))*gs+
543 & (cng*
ei+cnz*(vi+ai))*gst+cnn*gt
545 dsigww=(cgg*
ei**2+cgz*vi*
ei+czz*(vi**2+ai**2))*gs-
546 & (cng*
ei+cnz*(vi+ai))*gsu+cnn*gu
549 xmw02=0.5d0*(sqm3+sqm4)-0.25d0*(sqm3-sqm4)**2/sh
550 bet=sqrt(1d0-4d0*xmw02/sh)
551 gat=1d0/sqrt(1d0-bet**2)
553 ampzg=bet**3*(16d0+(4d0*bet**2*gat**2+3d0/gat**2)*sthe2)
554 ampnu=bet*(2d0+bet**2*gat**2*sthe2/2d0+
555 & 2d0*bet**2*(1d0-bet**2)*sthe2/(1d0-2d0*bet*cth+bet**2)**2)
556 ampng=bet*((1d0+bet**2)*(4d0+bet**2*gat**2*sthe2)+
557 & 2d0*(1d0-bet**2)*(bet**2*sthe2-2d0*(1d0-bet**2))/
558 & (1d0-2d0*bet*cth+bet**2))
559 propi1=(0.25d0*sqmz/xmw02)*hbwzc*(1d0-sqmz/sh)
560 propi2=(0.25d0*sqmz/xmw02)**2*hbwzc
561 a0=(2d0*(xmw02/sqmz)-(1d0-bet**2)*xw)*poll
562 a1=(2d0*(xmw02/sqmz)**2-2*xmw02/sqmz*(1d0-bet**2)*xw)*poll
563 a2=(1d0-bet**2)**2*xw**2*(polr+poll)/2d0
564 atot=ampnu*poll+(a1+a2)*propi2*ampzg-a0*propi1*ampng
565 atot=atot*cnn/sqmw*sh/bet*2d0
572 sigh(nchn)=facww*fcoi*dsigww
575 ELSEIF(isub.EQ.30)
THEN
577 fzq=comfac*faca*as*aem*(1d0/3d0)*(sh2+uh2+2d0*sqm4*th)/
583 radc4=1d0+
pyalps(sqm4)/paru(1)
584 DO 320
i=1,min(16,mdcy(23,3))
586 IF(mdme(idc,1).LT.0) goto 320
588 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2.OR.mdme(idc,1).EQ.4)
592 af=
sign(1d0,ef+0.1d0)
596 af=
sign(1d0,ef+0.1d0)
599 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
600 IF(4d0*rm1.LT.1d0)
THEN
602 IF(
i.LE.8) fcof=3d0*radc4
603 be34=sqrt(
max(0d0,1d0-4d0*rm1))
605 hfgg=hfgg+fcof*ef**2*(1d0+2d0*rm1)*be34
606 hfgz=hfgz+fcof*ef*vf*(1d0+2d0*rm1)*be34
607 hfzz=hfzz+fcof*(vf**2*(1d0+2d0*rm1)+
608 & af**2*(1d0-4d0*rm1))*be34
613 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
617 CALL
pywidt(23,sqm4,wdtp,wdte)
619 hfaem=(paru(108)/paru(2))*(2d0/3d0)
620 hfgg=hfgg*hfaem*
vint(111)/sqm4
621 hfgz=hfgz*hfaem*
vint(112)/sqm4
622 hfzz=hfzz*hfaem*
vint(114)/sqm4
625 IF(
i.EQ.0.OR.iabs(
i).GT.
mstp(58)) goto 340
626 ei=kchg(iabs(
i),1)/3d0
629 faczq=fzq*(
ei**2*hfgg+
ei*vi*hfgz+
630 & (vi**2+ai**2)*hfzz)/hbw4
632 IF(isde.EQ.1.AND.kfac(1,
i)*kfac(2,21).EQ.0) goto 330
633 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,
i).EQ.0) goto 330
642 ELSEIF(isub.EQ.31)
THEN
644 facwq=comfac*faca*as*aem/xw*1d0/12d0*
645 & (sh2+uh2+2d0*sqm4*th)/(-sh*uh)
647 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
648 CALL
pywidt(24,sqm4,wdtp,wdte)
649 gmmwc=sqrt(sqm4)*wdtp(0)
650 hbw4c=gmmwc/((sqm4-sqmw)**2+gmmwc**2)
651 facwq=facwq*hbw4c/hbw4
653 IF(
i.EQ.0.OR.iabs(
i).GT.
mstp(58)) goto 360
655 kchw=isign(1,kchg(ia,1)*isign(1,
i))
656 widsc=(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))/wdtp(0)
658 IF(isde.EQ.1.AND.kfac(1,
i)*kfac(2,21).EQ.0) goto 350
659 IF(isde.EQ.2.AND.kfac(1,21)*kfac(2,
i).EQ.0) goto 350
664 sigh(nchn)=facwq*
vint(180+
i)*widsc
668 ELSEIF(isub.EQ.35)
THEN
670 IF(
mint(15).EQ.22.AND.
vint(3).LT.0d0)
THEN
671 fzqn=sh2+uh2+2d0*(sqm4-
vint(3)**2)*th
672 fzqdtm=
vint(3)**2*sqm4-sh*(uh-
vint(4)**2)
673 ELSEIF(
mint(16).EQ.22.AND.
vint(4).LT.0d0)
THEN
674 fzqn=sh2+uh2+2d0*(sqm4-
vint(4)**2)*th
675 fzqdtm=
vint(4)**2*sqm4-sh*(uh-
vint(3)**2)
677 fzqn=sh2+uh2+2d0*sqm4*th
680 fzqn=comfac*2d0*aem**2*
max(0d0,fzqn)
685 radc4=1d0+
pyalps(sqm4)/paru(1)
686 DO 370
i=1,min(16,mdcy(23,3))
688 IF(mdme(idc,1).LT.0) goto 370
690 IF(mdme(idc,1).EQ.1.OR.mdme(idc,1).EQ.2.OR.mdme(idc,1).EQ.4)
694 af=
sign(1d0,ef+0.1d0)
698 af=
sign(1d0,ef+0.1d0)
701 rm1=pmas(iabs(kfdp(idc,1)),1)**2/sqm4
702 IF(4d0*rm1.LT.1d0)
THEN
704 IF(
i.LE.8) fcof=3d0*radc4
705 be34=sqrt(
max(0d0,1d0-4d0*rm1))
707 hfgg=hfgg+fcof*ef**2*(1d0+2d0*rm1)*be34
708 hfgz=hfgz+fcof*ef*vf*(1d0+2d0*rm1)*be34
709 hfzz=hfzz+fcof*(vf**2*(1d0+2d0*rm1)+
710 & af**2*(1d0-4d0*rm1))*be34
715 hbw4=(1d0/paru(1))*gmmz/((sqm4-sqmz)**2+gmmz**2)
719 CALL
pywidt(23,sqm4,wdtp,wdte)
721 hfaem=(paru(108)/paru(2))*(2d0/3d0)
722 hfgg=hfgg*hfaem*
vint(111)/sqm4
723 hfgz=hfgz*hfaem*
vint(112)/sqm4
724 hfzz=hfzz*hfaem*
vint(114)/sqm4
728 ei=kchg(iabs(
i),1)/3d0
731 faczq=
ei**2*(
ei**2*hfgg+
ei*vi*hfgz+
732 & (vi**2+ai**2)*hfzz)/hbw4
733 fzqd=
max(pmas(iabs(
i),1)**2*sqm4,fzqdtm)
735 IF(isde.EQ.1.AND.kfac(1,
i)*kfac(2,22).EQ.0) goto 380
736 IF(isde.EQ.2.AND.kfac(1,22)*kfac(2,
i).EQ.0) goto 380
741 sigh(nchn)=faczq*fzqn/fzqd
745 ELSEIF(isub.EQ.36)
THEN
747 fwq=comfac*aem**2/(2d0*xw)*
748 & (sh2+uh2+2d0*sqm4*th)/(sqpth*sqm4-sh*uh)
750 hbw4=gmmw/((sqm4-sqmw)**2+gmmw**2)
751 CALL
pywidt(24,sqm4,wdtp,wdte)
752 gmmwc=sqrt(sqm4)*wdtp(0)
753 hbw4c=gmmwc/((sqm4-sqmw)**2+gmmwc**2)
758 eia=abs(kchg(iabs(
i),1)/3d0)
759 facwq=fwq*(eia-sh/(sh+uh))**2
760 kchw=isign(1,kchg(ia,1)*isign(1,
i))
761 widsc=(wdte(0,1)+wdte(0,(5-kchw)/2)+wdte(0,4))/wdtp(0)
763 IF(isde.EQ.1.AND.kfac(1,
i)*kfac(2,22).EQ.0) goto 400
764 IF(isde.EQ.2.AND.kfac(1,22)*kfac(2,
i).EQ.0) goto 400
769 sigh(nchn)=facwq*
vint(180+
i)*widsc
774 ELSEIF(isub.LE.100)
THEN
777 sqmwe=
max(0.5d0*sqmw,sqrt(sqm3*sqm4))
778 fprop=sh2/((sqmwe-th)*(sqmwe-uh))
779 facww=comfac*6d0*aem**2*(1d0-fprop*(4d0/3d0+2d0*sqmwe/sh)+
780 & fprop**2*(2d0/3d0+2d0*(sqmwe/sh)**2))*wids(24,1)
781 IF(kfac(1,22)*kfac(2,22).EQ.0) goto 420
789 ELSEIF(isub.EQ.70)
THEN
791 sqmwe=
max(0.5d0*sqmw,sqrt(sqm3*sqm4))
792 fprop=(th-sqmwe)**2/(-sh*(sqmwe-uh))
793 faczw=comfac*6d0*aem**2*(xw1/xw)*
794 & (1d0-fprop*(4d0/3d0+2d0*sqmwe/(th-sqmwe))+
795 & fprop**2*(2d0/3d0+2d0*(sqmwe/(th-sqmwe))**2))*wids(23,2)
798 IF(kfac(isde,22)*kfac(3-isde,24*kchw).EQ.0) goto 430
801 isig(nchn,3-isde)=24*kchw
803 sigh(nchn)=faczw*wids(24,(5-kchw)/2)