7 common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
9 common/ludat2/kchg(500,3),pmas(500,4),parf(2000),vckm(4,4)
11 common/ludat3/mdcy(500,3),mdme(2000,2),brat(2000),kfdp(2000,5)
13 common/pyhipars/mstp(200),parp(200),msti(200),pari(200)
15 common/pyhiint1/mint(400),vint(400)
17 common/pyhiint4/widp(21:40,0:40),wide(21:40,0:40),wids(21:40,3)
19 dimension wdtp(0:40),wdte(0:40,0:5)
39 rm1=(pmas(iabs(kfdp(idc,1)),1)/rmas)**2
40 rm2=(pmas(iabs(kfdp(idc,2)),1)/rmas)**2
41 IF(
sqrt(rm1)+
sqrt(rm2).GT.1..OR.mdme(idc,1).LT.0) goto 110
44 wdtp(i)=(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
47 wdtp(0)=wdtp(0)+wdtp(i)
48 IF(mdme(idc,1).GT.0)
THEN
49 wdte(i,mdme(idc,1))=wdtp(i)*wid2
50 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
51 wdte(i,0)=wdte(i,mdme(idc,1))
52 wdte(0,0)=wdte(0,0)+wdte(i,0)
56 ELSEIF(kfla.EQ.23)
THEN
58 IF(mint(61).EQ.1)
THEN
59 ei=kchg(iabs(mint(15)),1)/3.
63 gzmz=pmas(23,2)*pmas(23,1)
65 gzi=
ei*vi/(8.*xw*(1.-xw))*sqm*(sqm-sqmz)/
66 & ((sqm-sqmz)**2+gzmz**2)
67 zzi=(vi**2+ai**2)/(16.*xw*(1.-xw))**2*sqm**2/
68 & ((sqm-sqmz)**2+gzmz**2)
69 IF(mstp(43).EQ.1)
THEN
73 ELSEIF(mstp(43).EQ.2)
THEN
78 ELSEIF(mint(61).EQ.2)
THEN
85 rm1=(pmas(iabs(kfdp(idc,1)),1)/rmas)**2
86 rm2=(pmas(iabs(kfdp(idc,2)),1)/rmas)**2
87 IF(
sqrt(rm1)+
sqrt(rm2).GT.1..OR.mdme(idc,1).LT.0) goto 120
93 IF(mint(61).EQ.0)
THEN
94 wdtp(i)=3.*(vf**2*(1.+2.*rm1)+af**2*(1.-4.*rm1))*
96 ELSEIF(mint(61).EQ.1)
THEN
97 wdtp(i)=3.*((ggi*ef**2+gzi*ef*vf+zzi*vf**2)*
98 & (1.+2.*rm1)+zzi*af**2*(1.-4.*rm1))*
100 ELSEIF(mint(61).EQ.2)
THEN
101 ggf=3.*ef**2*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))*radc
102 gzf=3.*ef*vf*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))*radc
103 zzf=3.*(vf**2*(1.+2.*rm1)+af**2*(1.-4.*rm1))*
112 wdtp(i)=(vf**2*(1.+2.*rm1)+af**2*(1.-4.*rm1))*
114 IF(mint(61).EQ.0)
THEN
115 wdtp(i)=(vf**2*(1.+2.*rm1)+af**2*(1.-4.*rm1))*
117 ELSEIF(mint(61).EQ.1)
THEN
118 wdtp(i)=((ggi*ef**2+gzi*ef*vf+zzi*vf**2)*
119 & (1.+2.*rm1)+zzi*af**2*(1.-4.*rm1))*
121 ELSEIF(mint(61).EQ.2)
THEN
122 ggf=ef**2*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
123 gzf=ef*vf*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
124 zzf=(vf**2*(1.+2.*rm1)+af**2*(1.-4.*rm1))*
131 IF(mint(61).EQ.0)
THEN
132 wdtp(i)=0.25*cf**2*(1.-4.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
133 ELSEIF(mint(61).EQ.1)
THEN
134 wdtp(i)=0.25*(ggi+gzi*cf+zzi*cf**2)*(1.-4.*rm1)*
136 ELSEIF(mint(61).EQ.2)
THEN
137 ggf=0.25*(1.-4.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
138 gzf=0.25*cf*(1.-4.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
139 zzf=0.25*cf**2*(1.-4.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
143 wdtp(0)=wdtp(0)+wdtp(i)
144 IF(mdme(idc,1).GT.0)
THEN
145 wdte(i,mdme(idc,1))=wdtp(i)*wid2
146 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
147 wdte(i,0)=wdte(i,mdme(idc,1))
148 wdte(0,0)=wdte(0,0)+wdte(i,0)
149 vint(111)=vint(111)+ggf*wid2
150 vint(112)=vint(112)+gzf*wid2
151 vint(114)=vint(114)+zzf*wid2
154 IF(mstp(43).EQ.1)
THEN
158 ELSEIF(mstp(43).EQ.2)
THEN
164 ELSEIF(kfla.EQ.24)
THEN
166 DO 130 i=1,mdcy(24,3)
168 rm1=(pmas(iabs(kfdp(idc,1)),1)/rmas)**2
169 rm2=(pmas(iabs(kfdp(idc,2)),1)/rmas)**2
170 IF(
sqrt(rm1)+
sqrt(rm2).GT.1..OR.mdme(idc,1).LT.0) goto 130
173 wdtp(i)=3.*(2.-rm1-rm2-(rm1-rm2)**2)*
174 &
sqrt(
max(0.,(1.-rm1-rm2)**2-4.*rm1*rm2))*
175 & vckm((i-1)/4+1,
mod(i-1,4)+1)*radc
179 wdtp(i)=(2.-rm1-rm2-(rm1-rm2)**2)*
180 &
sqrt(
max(0.,(1.-rm1-rm2)**2-4.*rm1*rm2))
183 wdtp(0)=wdtp(0)+wdtp(i)
184 IF(mdme(idc,1).GT.0)
THEN
185 wdte(i,mdme(idc,1))=wdtp(i)*wid2
186 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
187 wdte(i,0)=wdte(i,mdme(idc,1))
188 wdte(0,0)=wdte(0,0)+wdte(i,0)
192 ELSEIF(kfla.EQ.25)
THEN
194 DO 170 i=1,mdcy(25,3)
196 rm1=(pmas(iabs(kfdp(idc,1)),1)/rmas)**2
197 rm2=(pmas(iabs(kfdp(idc,2)),1)/rmas)**2
198 IF(
sqrt(rm1)+
sqrt(rm2).GT.1..OR.mdme(idc,1).LT.0) goto 170
201 wdtp(i)=3.*rm1*(1.-4.*rm1)*
sqrt(
max(0.,1.-4.*rm1))*radc
205 wdtp(i)=rm1*(1.-4.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
212 eps=(2.*pmas(j,1)/rmas)**2
214 IF(
eps.GT.1.
e-4)
THEN
216 rln=
log((1.+root)/(1.-root))
220 phire=0.25*(rln**2-paru(1)**2)
221 phiim=0.5*paru(1)*rln
226 etare=etare+0.5*
eps*(1.+(
eps-1.)*phire)
227 etaim=etaim+0.5*
eps*(
eps-1.)*phiim
229 eta2=etare**2+etaim**2
230 wdtp(i)=(
as/paru(1))**2*eta2
236 DO 150 j=1,3*mstp(1)+1
237 IF(j.LE.2*mstp(1))
THEN
239 eps=(2.*pmas(j,1)/rmas)**2
240 ELSEIF(j.LE.3*mstp(1))
THEN
243 eps=(2.*pmas(10+jl,1)/rmas)**2
245 eps=(2.*pmas(24,1)/rmas)**2
248 IF(
eps.GT.1.
e-4)
THEN
250 rln=
log((1.+root)/(1.-root))
254 phire=0.25*(rln**2-paru(1)**2)
255 phiim=0.5*paru(1)*rln
260 IF(j.LE.2*mstp(1))
THEN
261 etare=etare+0.5*3.*ej**2*
eps*(1.+(
eps-1.)*phire)
262 etaim=etaim+0.5*3.*ej**2*
eps*(
eps-1.)*phiim
263 ELSEIF(j.LE.3*mstp(1))
THEN
264 etare=etare+0.5*ej**2*
eps*(1.+(
eps-1.)*phire)
265 etaim=etaim+0.5*ej**2*
eps*(
eps-1.)*phiim
267 etare=etare-0.5-0.75*
eps*(1.+(
eps-2.)*phire)
268 etaim=etaim+0.75*
eps*(
eps-2.)*phiim
271 eta2=etare**2+etaim**2
272 wdtp(i)=(aem/paru(1))**2*0.5*eta2
278 DO 160 j=1,3*mstp(1)+1
279 IF(j.LE.2*mstp(1))
THEN
283 eps=(2.*pmas(j,1)/rmas)**2
284 epsp=(2.*pmas(j,1)/pmas(23,1))**2
285 ELSEIF(j.LE.3*mstp(1))
THEN
290 eps=(2.*pmas(10+jl,1)/rmas)**2
291 epsp=(2.*pmas(10+jl,1)/pmas(23,1))**2
293 eps=(2.*pmas(24,1)/rmas)**2
294 epsp=(2.*pmas(24,1)/pmas(23,1))**2
298 IF(
eps.GT.1.
e-4)
THEN
299 rln=
log((1.+root)/(1.-root))
303 phire=0.25*(rln**2-paru(1)**2)
304 phiim=0.5*paru(1)*rln
305 psire=-(1.+0.5*root*rln)
306 psiim=0.5*paru(1)*root
315 IF(epsp.GT.1.
e-4)
THEN
316 rln=
log((1.+root)/(1.-root))
320 phirep=0.25*(rln**2-paru(1)**2)
321 phiimp=0.5*paru(1)*rln
322 psirep=-(1.+0.5*root*rln)
323 psiimp=0.5*paru(1)*root
325 phirep=-(asin(1./
sqrt(epsp)))**2
327 psirep=-(1.+
sqrt(epsp-1.)*asin(1./
sqrt(epsp)))
330 fxyre=
eps*epsp/(8.*(
eps-epsp))*(1.-
eps*epsp/(
eps-epsp)*(phire-
331 & phirep)+2.*
eps/(
eps-epsp)*(psire-psirep))
332 fxyim=
eps*epsp/(8.*(
eps-epsp))*(-
eps*epsp/(
eps-epsp)*(phiim-
333 & phiimp)+2.*
eps/(
eps-epsp)*(psiim-psiimp))
334 f1re=
eps*epsp/(2.*(
eps-epsp))*(phire-phirep)
335 f1im=
eps*epsp/(2.*(
eps-epsp))*(phiim-phiimp)
336 IF(j.LE.2*mstp(1))
THEN
337 etare=etare-3.*ej*vj*(fxyre-0.25*f1re)
338 etaim=etaim-3.*ej*vj*(fxyim-0.25*f1im)
339 ELSEIF(j.LE.3*mstp(1))
THEN
340 etare=etare-ej*vj*(fxyre-0.25*f1re)
341 etaim=etaim-ej*vj*(fxyim-0.25*f1im)
343 etare=etare-
sqrt(1.-xw)*(((1.+2./
eps)*xw/
sqrt(1.-xw)-
344 & (5.+2./
eps))*fxyre+(3.-xw/
sqrt(1.-xw))*f1re)
345 etaim=etaim-
sqrt(1.-xw)*(((1.+2./
eps)*xw/
sqrt(1.-xw)-
346 & (5.+2./
eps))*fxyim+(3.-xw/
sqrt(1.-xw))*f1im)
349 eta2=etare**2+etaim**2
350 wdtp(i)=(aem/paru(1))**2*(1.-(pmas(23,1)/rmas)**2)**3/xw*eta2
354 wdtp(i)=(1.-4.*rm1+12.*rm1**2)*
sqrt(
max(0.,1.-4.*rm1))/
358 wdtp(0)=wdtp(0)+wdtp(i)
359 IF(mdme(idc,1).GT.0)
THEN
360 wdte(i,mdme(idc,1))=wdtp(i)*wid2
361 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
362 wdte(i,0)=wdte(i,mdme(idc,1))
363 wdte(0,0)=wdte(0,0)+wdte(i,0)
367 ELSEIF(kfla.EQ.32)
THEN
369 IF(mint(61).EQ.1)
THEN
370 ei=kchg(iabs(mint(15)),1)/3.
374 gzmz=pmas(23,2)*pmas(23,1)
378 gzpmzp=pmas(32,2)*pmas(32,1)
380 gzi=
ei*vi/(8.*xw*(1.-xw))*sqm*(sqm-sqmz)/
381 & ((sqm-sqmz)**2+gzmz**2)
382 gzpi=
ei*vpi/(8.*xw*(1.-xw))*sqm*(sqm-sqmzp)/
383 & ((sqm-sqmzp)**2+gzpmzp**2)
384 zzi=(vi**2+ai**2)/(16.*xw*(1.-xw))**2*sqm**2/
385 & ((sqm-sqmz)**2+gzmz**2)
386 zzpi=2.*(vi*vpi+ai*api)/(16.*xw*(1.-xw))**2*
387 & sqm**2*((sqm-sqmz)*(sqm-sqmzp)+gzmz*gzpmzp)/
388 & (((sqm-sqmz)**2+gzmz**2)*((sqm-sqmzp)**2+gzpmzp**2))
389 zpzpi=(vpi**2+api**2)/(16.*xw*(1.-xw))**2*sqm**2/
390 & ((sqm-sqmzp)**2+gzpmzp**2)
391 IF(mstp(44).EQ.1)
THEN
398 ELSEIF(mstp(44).EQ.2)
THEN
405 ELSEIF(mstp(44).EQ.3)
THEN
412 ELSEIF(mstp(44).EQ.4)
THEN
417 ELSEIF(mstp(44).EQ.5)
THEN
422 ELSEIF(mstp(44).EQ.6)
THEN
428 ELSEIF(mint(61).EQ.2)
THEN
436 DO 180 i=1,mdcy(32,3)
438 rm1=(pmas(iabs(kfdp(idc,1)),1)/rmas)**2
439 rm2=(pmas(iabs(kfdp(idc,2)),1)/rmas)**2
440 IF(
sqrt(rm1)+
sqrt(rm2).GT.1..OR.mdme(idc,1).LT.0) goto 180
448 IF(mint(61).EQ.0)
THEN
449 wdtp(i)=3.*(vpf**2*(1.+2.*rm1)+apf**2*(1.-4.*rm1))*
451 ELSEIF(mint(61).EQ.1)
THEN
452 wdtp(i)=3.*((ggi*ef**2+gzi*ef*vf+gzpi*ef*vpf+zzi*vf**2+
453 & zzpi*vf*vpf+zpzpi*vpf**2)*(1.+2.*rm1)+(zzi*af**2+
454 & zzpi*af*apf+zpzpi*apf**2)*(1.-4.*rm1))*
456 ELSEIF(mint(61).EQ.2)
THEN
457 ggf=3.*ef**2*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))*radc
458 gzf=3.*ef*vf*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))*radc
459 gzpf=3.*ef*vpf*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))*radc
460 zzf=3.*(vf**2*(1.+2.*rm1)+af**2*(1.-4.*rm1))*
462 zzpf=3.*(vf*vpf*(1.+2.*rm1)+af*apf*(1.-4.*rm1))*
464 zpzpf=3.*(vpf**2*(1.+2.*rm1)+apf**2*(1.-4.*rm1))*
475 IF(mint(61).EQ.0)
THEN
476 wdtp(i)=(vpf**2*(1.+2.*rm1)+apf**2*(1.-4.*rm1))*
478 ELSEIF(mint(61).EQ.1)
THEN
479 wdtp(i)=((ggi*ef**2+gzi*ef*vf+gzpi*ef*vpf+zzi*vf**2+
480 & zzpi*vf*vpf+zpzpi*vpf**2)*(1.+2.*rm1)+(zzi*af**2+
481 & zzpi*af*apf+zpzpi*apf**2)*(1.-4.*rm1))*
483 ELSEIF(mint(61).EQ.2)
THEN
484 ggf=ef**2*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
485 gzf=ef*vf*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
486 gzpf=ef*vpf*(1.+2.*rm1)*
sqrt(
max(0.,1.-4.*rm1))
487 zzf=(vf**2*(1.+2.*rm1)+af**2*(1.-4.*rm1))*
489 zzpf=(vf*vpf*(1.+2.*rm1)+af*apf*(1.-4.*rm1))*
491 zpzpf=(vpf**2*(1.+2.*rm1)+apf**2*(1.-4.*rm1))*
496 wdtp(0)=wdtp(0)+wdtp(i)
497 IF(mdme(idc,1).GT.0)
THEN
498 wdte(i,mdme(idc,1))=wdtp(i)*wid2
499 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
500 wdte(i,0)=wdte(i,mdme(idc,1))
501 wdte(0,0)=wdte(0,0)+wdte(i,0)
502 vint(111)=vint(111)+ggf
503 vint(112)=vint(112)+gzf
504 vint(113)=vint(113)+gzpf
505 vint(114)=vint(114)+zzf
506 vint(115)=vint(115)+zzpf
507 vint(116)=vint(116)+zpzpf
510 IF(mstp(44).EQ.1)
THEN
517 ELSEIF(mstp(44).EQ.2)
THEN
524 ELSEIF(mstp(44).EQ.3)
THEN
531 ELSEIF(mstp(44).EQ.4)
THEN
536 ELSEIF(mstp(44).EQ.5)
THEN
541 ELSEIF(mstp(44).EQ.6)
THEN
548 ELSEIF(kfla.EQ.37)
THEN
550 DO 190 i=1,mdcy(37,3)
552 rm1=(pmas(iabs(kfdp(idc,1)),1)/rmas)**2
553 rm2=(pmas(iabs(kfdp(idc,2)),1)/rmas)**2
554 IF(
sqrt(rm1)+
sqrt(rm2).GT.1..OR.mdme(idc,1).LT.0) goto 190
557 wdtp(i)=3.*((rm1*paru(121)+rm2/paru(121))*
558 & (1.-rm1-rm2)-4.*rm1*rm2)*
559 &
sqrt(
max(0.,(1.-rm1-rm2)**2-4.*rm1*rm2))*radc
563 wdtp(i)=((rm1*paru(121)+rm2/paru(121))*
564 & (1.-rm1-rm2)-4.*rm1*rm2)*
565 &
sqrt(
max(0.,(1.-rm1-rm2)**2-4.*rm1*rm2))
568 wdtp(0)=wdtp(0)+wdtp(i)
569 IF(mdme(idc,1).GT.0)
THEN
570 wdte(i,mdme(idc,1))=wdtp(i)*wid2
571 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
572 wdte(i,0)=wdte(i,mdme(idc,1))
573 wdte(0,0)=wdte(0,0)+wdte(i,0)
577 ELSEIF(kfla.EQ.40)
THEN
579 DO 200 i=1,mdcy(40,3)
581 rm1=(pmas(iabs(kfdp(idc,1)),1)/rmas)**2
582 rm2=(pmas(iabs(kfdp(idc,2)),1)/rmas)**2
583 IF(
sqrt(rm1)+
sqrt(rm2).GT.1..OR.mdme(idc,1).LT.0) goto 200
593 wdtp(0)=wdtp(0)+wdtp(i)
594 IF(mdme(idc,1).GT.0)
THEN
595 wdte(i,mdme(idc,1))=wdtp(i)*wid2
596 wdte(0,mdme(idc,1))=wdte(0,mdme(idc,1))+wdte(i,mdme(idc,1))
597 wdte(i,0)=wdte(i,mdme(idc,1))
598 wdte(0,0)=wdte(0,0)+wdte(i,0)