12 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
16 parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
17 &kexcit=4000000,kdimen=5000000)
19 parameter(maxnur=1000)
21 common/pypart/
npart,npartd,ipart(maxnur),ptpart(maxnur)
23 common/pyctag/nct,mct(4000,2)
24 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
25 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
26 common/
pydat3/mdcy(500,3),mdme(8000,2),brat(8000),kfdp(8000,5)
27 common/
pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
30 common/
pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
31 common/
pyint4/mwid(500),wids(500,5)
35 dimension iref(50,8),kdcy(3),kfl1(3),kfl2(3),kfl3(3),keql(3),
36 &kcqm(3),kcq1(3),kcq2(3),kcq3(3),nsd(3),pmmn(3),ilin(6),
37 &
hgz(3,3),coup(6,4),corl(2,2,2),pk(6,4),pkk(6,6),cthe(3),
38 &
phi(3),wdtp(0:400),wdte(0:400,0:5),dpmo(5),xm(5),vdcy(4),
40 COMPLEX fgk,ha(6,6),hc(6,6)
42 CHARACTER code*9,
mass*9
48 digk(
dt,du)=-4d0*d34*d56+
dt*(3d0*
dt+4d0*du)+
dt**2*(
dt*du/
49 &(d34*d56)-2d0*(1d0/d34+1d0/d56)*(
dt+du)+2d0*(d34/d56+d56/d34))
50 djgk(
dt,du)=8d0*(d34+d56)**2-8d0*(d34+d56)*(
dt+du)-6d0*
dt*du-
51 &2d0*
dt*du*(
dt*du/(d34*d56)-2d0*(1d0/d34+1d0/d56)*(
dt+du)+
52 &2d0*(d34/d56+d56/d34))
57 IF(
mstp(8).GE.2) xw=1d0-(pmas(24,1)/pmas(23,1))**2
61 gmmz=pmas(23,1)*pmas(23,2)
63 gmmw=pmas(24,1)*pmas(24,2)
75 CALL
pyrobo(
mint(83)+7,
n,0d0,0d0,-bexin,-beyin,-bezin)
91 IF(iset(isub).EQ.1.OR.iset(isub).EQ.3)
THEN
92 iref(1,1)=
mint(84)+2+iset(isub)
93 iref(1,4)=
mint(83)+6+iset(isub)
95 ELSEIF(iset(isub).EQ.2.OR.iset(isub).EQ.4)
THEN
96 iref(1,1)=
mint(84)+1+iset(isub)
97 iref(1,2)=
mint(84)+2+iset(isub)
98 iref(1,4)=
mint(83)+5+iset(isub)
99 iref(1,5)=
mint(83)+6+iset(isub)
101 ELSEIF(iset(isub).EQ.5)
THEN
114 IF(
k(ires,2).EQ.25.OR.
k(ires,2).EQ.35.OR.
k(ires,2).EQ.36)
116 IF(ihdec.EQ.1) isub=3
120 IF(iref(1,4).GT.
mint(84))
THEN
122 IF(
k(itmpmo,2).EQ.94)
THEN
123 iref(1,4)=
k(itmpmo,3)+(irestm-itmpmo-1)
124 IF(
k(iref(1,4),3).LE.
mint(84)) iref(1,4)=
k(iref(1,4),3)
125 ELSEIF(
k(itmpmo,2).EQ.
k(ires,2))
THEN
128 IF(itmpmo.GT.0.AND.
k(itmpmo,3).GT.0)
THEN
129 iref(1,4)=
k(itmpmo,3)
134 IF(iref(1,4).GT.
mint(84))
THEN
138 IF(
k(ii,2).EQ.
k(ires,2).AND.abs(
p(ii,4)-
p(iref14,4)).LT.
141 ematch=abs(
p(ii,4)-
p(iref14,4))
150 IF(iref(1,jt).GT.0)
THEN
151 IF(
k(iref(1,jt),1).GT.10)
THEN
152 kfa=iabs(
k(iref(1,jt),2))
153 IF(kfa.GE.6.AND.kchg(
pycomp(kfa),2).NE.0)
THEN
154 kda1=mod(
k(iref(1,jt),4),mstu(5))
155 kda2=mod(
k(iref(1,jt),5),mstu(5))
156 IF(kda1.GT.iref(1,jt).AND.kda1.LE.
n)
THEN
157 IF(
k(kda1,2).EQ.21) kda1=
k(kda1,5)/mstu(5)
159 IF(kda2.GT.iref(1,jt).AND.kda2.LE.
n)
THEN
160 IF(
k(kda2,2).EQ.21) kda2=
k(kda2,4)/mstu(5)
162 DO 130
i=iref(1,jt)+1,
n
163 IF(
k(
i,2).EQ.
k(iref(1,jt),2).AND.(
i.EQ.kda1.OR.
166 kda1=mod(
k(iref(1,jt),4),mstu(5))
167 kda2=mod(
k(iref(1,jt),5),mstu(5))
168 IF(kda1.GT.iref(1,jt).AND.kda1.LE.
n)
THEN
169 IF(
k(kda1,2).EQ.21) kda1=
k(kda1,5)/mstu(5)
171 IF(kda2.GT.iref(1,jt).AND.kda2.LE.
n)
THEN
172 IF(
k(kda2,2).EQ.21) kda2=
k(kda2,4)/mstu(5)
177 kda=mod(
k(iref(1,jt),4),mstu(5))
178 IF(mwid(
pycomp(kfa)).NE.0.AND.kda.GT.1) iref(1,jt)=kda
197 IF(iref(ip,2).EQ.0) jtmax=1
198 IF(iref(ip,3).NE.0) jtmax=3
205 IF(iref(ip,7).EQ.25.OR.iref(ip,7).EQ.35.OR.iref(ip,7)
207 IF(ihdec.EQ.1) isub=3
226 IF(mwid(kca).EQ.0) goto 330
227 IF(
k(
id,1).GT.10.OR.mdcy(kca,1).EQ.0) goto 330
228 IF(kfa.EQ.6.OR.kfa.EQ.7.OR.kfa.EQ.8.OR.kfa.EQ.17.OR.
229 & kfa.EQ.18) it4=it4+1
230 k(
id,4)=mstu(5)*(
k(
id,4)/mstu(5))
231 k(
id,5)=mstu(5)*(
k(
id,5)/mstu(5))
234 IF(
k(
id,1).EQ.5)
THEN
236 ELSEIF(
k(
id,1).NE.4)
THEN
245 IF(mstj(22).EQ.2)
THEN
246 IF(pmas(kca,4).GT.parj(71)) mout=1
247 ELSEIF(mstj(22).EQ.3)
THEN
248 IF(vdcy(1)**2+vdcy(2)**2+vdcy(3)**2.GT.parj(72)**2) mout=1
249 ELSEIF(mstj(22).EQ.4)
THEN
250 IF(vdcy(1)**2+vdcy(2)**2.GT.parj(73)**2) mout=1
251 IF(abs(vdcy(3)).GT.parj(74)) mout=1
253 IF(mout.EQ.1.AND.
k(
id,1).NE.5)
THEN
259 IF(kchg(kca,3).EQ.0)
THEN
262 ipm=(5-isign(1,
k(
id,2)))/2
266 kfb=iabs(
k(iref(ip,3-jt),2))
267 ELSEIF(jtmax.EQ.3)
THEN
269 kfb=iabs(
k(iref(ip,jt2),2))
271 jt2=jt+2-3*((jt+1)/3)
272 kfb=iabs(
k(iref(ip,jt2),2))
277 IF(isub.EQ.1.OR.isub.EQ.15.OR.isub.EQ.19.OR.isub.EQ.22.OR.
278 & isub.EQ.30.OR.isub.EQ.35.OR.isub.EQ.141)
mint(61)=1
280 wdte0s=wdte(0,1)+wdte(0,ipm)+wdte(0,4)
281 IF(kfb.EQ.kfa) wdte0s=wdte0s+wdte(0,5)
282 IF(wdte0s.LE.0d0) goto 330
286 idc=idl+mdcy(kca,2)-1
287 rkfl=rkfl-(wdte(idl,1)+wdte(idl,ipm)+wdte(idl,4))
288 IF(kfb.EQ.kfa) rkfl=rkfl-wdte(idl,5)
289 IF(idl.LT.mdcy(kca,3).AND.rkfl.GT.0d0) goto 200
292 kcqm(jt)=kchg(kca,2)*isign(1,
k(
id,2))
293 IF(kcqm(jt).EQ.-2) kcqm(jt)=2
294 kfl1(jt)=kfdp(idc,1)*isign(1,
k(
id,2))
295 kfc1a=
pycomp(iabs(kfl1(jt)))
296 IF(kchg(kfc1a,3).EQ.0) kfl1(jt)=iabs(kfl1(jt))
297 kcq1(jt)=kchg(kfc1a,2)*isign(1,kfl1(jt))
298 IF(kcq1(jt).EQ.-2) kcq1(jt)=2
299 kfl2(jt)=kfdp(idc,2)*isign(1,
k(
id,2))
300 kfc2a=
pycomp(iabs(kfl2(jt)))
301 IF(kchg(kfc2a,3).EQ.0) kfl2(jt)=iabs(kfl2(jt))
302 kcq2(jt)=kchg(kfc2a,2)*isign(1,kfl2(jt))
303 IF(kcq2(jt).EQ.-2) kcq2(jt)=2
304 kfl3(jt)=kfdp(idc,3)*isign(1,
k(
id,2))
306 IF(kfl3(jt).NE.0)
THEN
307 kfc3a=
pycomp(iabs(kfl3(jt)))
308 IF(kchg(kfc3a,3).EQ.0) kfl3(jt)=iabs(kfl3(jt))
309 kcq3(jt)=kchg(kfc3a,2)*isign(1,kfl3(jt))
310 IF(kcq3(jt).EQ.-2) kcq3(jt)=2
315 IF(kfb.EQ.kfa) keql(jt)=mdme(idc,1)
333 IF(kfl3(jt).EQ.0) goto 220
340 IF(kflw/ksusy1.EQ.1.OR.kflw/ksusy1.EQ.2)
THEN
342 DO 210 idc=mdcy(kcw,2),mdcy(kcw,2)+mdcy(kcw,3)-1
343 IF(mdme(idc,1).GT.0.AND.brat(idc).GT.1
e-4)
THEN
344 pmsum=pmas(
pycomp(kfdp(idc,1)),1)+
345 & pmas(
pycomp(kfdp(idc,2)),1)
346 IF(kfdp(idc,3).NE.0) pmsum=pmsum+
347 & pmas(
pycomp(kfdp(idc,3)),1)
348 pmmn(
i)=min(pmmn(
i),pmsum)
352 ELSEIF(kflw.EQ.6)
THEN
353 pmmn(
i)=pmas(24,1)+pmas(5,1)
364 IF(kfl3(jt).NE.0)
THEN
366 IF(pwid3.GT.pwid1.AND.pwid2.GE.pwid1)
THEN
370 ELSEIF(pwid3.GT.pwid2)
THEN
378 IF(
mstp(42).LE.0.OR.(pwid1.LT.
parp(41).AND.
379 & pwid2.LT.
parp(41)))
THEN
382 IF(kfa/ksusy1.EQ.1.OR.kfa/ksusy1.EQ.2)
THEN
383 IF(
p(
n+1,5)+
p(
n+2,5)+
p(
n+3,5).GT.
p(
id,5))
THEN
384 p(
n+1,5)=
p(
id,5)-
p(
n+2,5)-0.5d0
385 IF(
p(
n+1,5).LT.0d0)
p(
n+1,5)=0d0
389 IF(
p(
n+1,5)+
p(
n+2,5)+
p(
n+3,5).GT.
p(
id,5))
THEN
390 CALL
pyerrm(13,
'(PYRESD:) daughter masses too large')
393 ELSEIF(
p(
n+1,5)+
p(
n+2,5)+
p(
n+3,5)+parj(64).GT.
p(
id,5))
THEN
394 CALL
pyerrm(3,
'(PYRESD:) daughter masses too large')
403 IF(kfl3(jt).NE.0)
THEN
405 kflw3=iabs(kfl1(jt))+iabs(kfl2(jt))+iabs(kfl3(jt))-
410 IF(loop.LE.10.AND.
p(
n+iwid3,5).LE.pmmn(iwid3)) goto 230
411 pmtot=pmtot-
p(
n+iwid3,5)
417 ckin(45)=
max(pmmn(iwid1),ckin(45))
418 ckin(47)=
max(pmmn(iwid2),ckin(47))
419 CALL
pyofsh(2,kfa,kflw1,kflw2,pmtot,
p(
n+iwid1,5),
426 CALL
pyofsh(5,kfa,kflw1,kflw2,pmtot,
p(
n+iwid1,5),
431 IF(
mint(51).EQ.1) goto 720
441 IF(kfl3(jt).NE.0)
THEN
463 IF(kcqm(jt).EQ.-1) isid=5
465 k(
id,isid)=
k(
id,isid)+idau
466 k(idau,isid)=mstu(5)*
id
470 ELSEIF(kfc2a.LE.6)
THEN
474 IF(kfl2(jt).LT.0) isid=5
475 k(
n+2,isid)=mstu(5)*(
n+3)
476 k(
n+3,9-isid)=mstu(5)*(
n+2)
478 ELSEIF(kfa.GT.ksusy1.AND.mod(kfa,ksusy1).LT.10
479 & .AND.kfl3(jt).NE.0)
THEN
480 kqsuma=iabs(kcq1(jt))+iabs(kcq2(jt))+iabs(kcq3(jt))
482 IF (kqsuma.EQ.1)
THEN
485 IF (kcq1(jt).NE.0) iq=1
486 IF (kcq2(jt).NE.0) iq=2
487 IF (kcq3(jt).NE.0) iq=3
489 IF (
k(
n+iq,2).LT.0) isid=5
492 k(
n+iq,isid)=mstu(5)*
id
496 IF(kfl1(jt).EQ.ksusy1+21)
THEN
501 IF(kfl2(jt).LT.0) isid=5
502 k(
n+1,isid)=mstu(5)*(
n+2)
503 k(
n+1,9-isid)=mstu(5)*(
n+3)
504 k(
n+2,isid)=mstu(5)*(
n+1)
505 k(
n+3,9-isid)=mstu(5)*(
n+1)
507 IF(kfa.EQ.ksusy1+21)
THEN
511 IF(kfl2(jt).LT.0) isid=5
513 k(
id,9-isid)=
k(
id,9-isid)+(
n+3)
514 k(
n+2,isid)=mstu(5)*
id
515 k(
n+3,9-isid)=mstu(5)*
id
522 IF(kfa.GE.ksusy1+22.AND.kfa.LE.ksusy1+37.AND.
523 & iabs(kcq2(jt)).EQ.1)
THEN
527 IF(kfl2(jt).LT.0) isid=5
528 k(
n+2,isid)=mstu(5)*(
n+3)
529 k(
n+3,9-isid)=mstu(5)*(
n+2)
534 kcqsum=kcq1(jt)+kcq2(jt)+kcq3(jt)
535 IF(kcqm(jt).EQ.0.AND.iabs(kcqsum).EQ.3)
THEN
536 itjunc(jt)=(1+(1-kcq1(jt))/2)
537 k(
n+4,4)=itjunc(jt)*mstu(5)
539 IF(kcq1(jt).NE.0)
k(
n+1,1)=3
540 IF(kcq2(jt).NE.0)
k(
n+2,1)=3
541 IF(kcq3(jt).NE.0)
k(
n+3,1)=3
547 pm12=
p(
n+1,4)*
p(
n+2,4)-
p(
n+1,1)*
p(
n+2,1)-
p(
n+1,2)*
p(
n+2,2)-
549 pm13=
p(
n+1,4)*
p(
n+3,4)-
p(
n+1,1)*
p(
n+3,1)-
p(
n+1,2)*
p(
n+3,2)-
551 pm23=
p(
n+2,4)*
p(
n+3,4)-
p(
n+2,1)*
p(
n+3,1)-
p(
n+2,2)*
p(
n+3,2)-
553 IF(pm12.LT.pm13.AND.pm12.LT.pm23)
THEN
554 k(
n+4,4)=
n+3+
k(
n+4,4)
555 k(
n+4,5)=
n+1+mstu(5)*(
n+2)
556 ELSEIF(pm13.LT.pm23)
THEN
557 k(
n+4,4)=
n+2+
k(
n+4,4)
558 k(
n+4,5)=
n+1+mstu(5)*(
n+3)
560 k(
n+4,4)=
n+1+
k(
n+4,4)
561 k(
n+4,5)=
n+2+mstu(5)*(
n+3)
571 k(ii,itjunc(jt)+3)=mstu(5)*(
n+4)
577 ELSEIF (kcqm(jt).EQ.2.AND.iabs(kcqsum).EQ.3)
THEN
578 itjunc(jt)=(5+(1-kcq1(jt))/2)
579 k(
n+4,4)=itjunc(jt)*mstu(5)
581 IF(kcq1(jt).NE.0)
k(
n+1,1)=3
582 IF(kcq2(jt).NE.0)
k(
n+2,1)=3
583 IF(kcq3(jt).NE.0)
k(
n+3,1)=3
595 k(ii,itjunc(jt)-1)=mstu(5)*(
n+4)
598 rmres=pmas(
pycomp(ksusy1+iabs(
k(ii,2))),1)
599 rmglu=pmas(
pycomp(ksusy1+21),1)
600 IF (rmglu-rmq1.LT.rmres)
THEN
602 rm2q23=rmglu**2+rmq1**2-2d0*(
p(ii,4)*
p(
id,4)+
p(ii,1)
604 ctm2(ii-
n)=1d0/(rm2q23-rmres**2)**2
608 ctmsum=ctmsum+ctm2(ii-
n)
614 ctmsum=ctmsum-ctm2(
j)
615 IF (ctmsum.GT.0d0) goto 300
617 k(
n+
j,itjunc(jt)-1)=mstu(5)*
id
618 k(
id,itjunc(jt)-1)=
n+
j+(
k(
id,itjunc(jt)-1)/mstu(5))*mstu(5)
620 k(
id,10-itjunc(jt))=
n+4+(
k(
id,10-itjunc(jt))/mstu(5))*
624 k(
n+4,5)=
n+1+mod(
j,3)+mstu(5)*(
n+1+mod(
j+1,3))
640 IF(kcq1(jt).NE.0)
THEN
642 IF(kcq1(jt).NE.-1)
k(
n-1,4)=mstu(5)*
n
643 IF(kcq1(jt).NE.1)
k(
n-1,5)=mstu(5)*
n
645 IF(kcq2(jt).NE.0)
THEN
647 IF(kcq2(jt).NE.-1)
k(
n,4)=mstu(5)*(
n-1)
648 IF(kcq2(jt).NE.1)
k(
n,5)=mstu(5)*(
n-1)
651 IF(kcqm(jt).EQ.0)
THEN
652 ELSEIF(kcqm(jt).NE.2)
THEN
654 IF(kcqm(jt).EQ.-1) isid=5
656 IF(kcq1(jt).EQ.0.OR.kcq2(jt).EQ.2) idau=
n
657 k(
id,isid)=
k(
id,isid)+idau
658 k(idau,isid)=mstu(5)*
id
660 ELSEIF(kcq1(jt).EQ.0.OR.kcq2(jt).EQ.0)
THEN
662 IF(kcq1(jt).EQ.0) idau=
n
669 IF(kcq1(jt).EQ.-1) isid=5
670 IF(kcq1(jt).EQ.2) isid=int(4.5d0+
pyr(0))
673 k(
n-1,isid)=mstu(5)*
id
674 k(
n,9-isid)=mstu(5)*
id
678 IF(iabs(kcq1(jt)+kcq2(jt)-kcqm(jt)).EQ.3)
THEN
681 itjunc(jt)=(7+kcqm(jt))/2
687 k(
n,4)=
id+itjunc(jt)*mstu(5)
688 k(
n,5)=
n-1+mstu(5)*(
n-2)
695 k(
id,8-itjunc(jt))=
n + mstu(5)*(
k(
id,8-itjunc(jt))/mstu(5))
701 k(ii,1+itjunc(jt)) = mstu(5)*(
n)
708 330
IF(mwid(kca).NE.0.AND.(kfl1(jt).EQ.0.OR.kfl3(jt).NE.0))
710 IF(ires.GT.0.AND.mwid(kca).NE.0.AND.mdcy(kca,1).NE.0.AND.
711 & kfl1(jt).EQ.0)
THEN
712 WRITE(code,
'(I9)')
k(
id,2)
714 CALL
pyerrm(3,
'(PYRESD:) Failed to decay particle'//
715 & code//
' with mass'//
mass)
723 IF(kdcy(1).EQ.0) goto 710
724 ELSEIF(jtmax.EQ.2)
THEN
725 IF(kdcy(1).EQ.0.AND.kdcy(2).EQ.0) goto 710
726 IF(keql(1).EQ.4.AND.keql(2).EQ.4) goto 180
727 IF(keql(1).EQ.5.AND.keql(2).EQ.5) goto 180
728 ELSEIF(jtmax.EQ.3)
THEN
729 IF(kdcy(1).EQ.0.AND.kdcy(2).EQ.0.AND.kdcy(3).EQ.0) goto 710
730 IF(keql(1).EQ.4.AND.keql(2).EQ.4) goto 180
731 IF(keql(1).EQ.4.AND.keql(3).EQ.4) goto 180
732 IF(keql(2).EQ.4.AND.keql(3).EQ.4) goto 180
733 IF(keql(1).EQ.5.AND.keql(2).EQ.5) goto 180
734 IF(keql(1).EQ.5.AND.keql(3).EQ.5) goto 180
735 IF(keql(2).EQ.5.AND.keql(3).EQ.5) goto 180
739 IF(
mstp(48).EQ.1.AND.isub.EQ.1.AND.jtmax.EQ.1.AND.
740 &iabs(
mint(11)).EQ.11.AND.iabs(kfl1(1)).LE.5)
THEN
743 IF(mstj(109).EQ.2.AND.mstj(110).NE.1)
THEN
745 &
'(PYRESD:) MSTJ(109) value requires MSTJ(110) = 1')
748 IF(mstj(109).EQ.2.AND.mstj(111).NE.0)
THEN
750 &
'(PYRESD:) MSTJ(109) value requires MSTJ(111) = 0')
759 IF(mstj(108).EQ.2.AND.(mstj(101).EQ.0.OR.mstj(101).EQ.1))
762 IF(mstu(111).EQ.2) paru(112)=parj(122)
766 IF((iabs(mstj(101)).EQ.1.AND.mstj(109).EQ.1).OR.
767 & (mstj(101).EQ.5.AND.mstj(49).EQ.1))
THEN
768 poll=1d0-parj(131)*parj(132)
769 sff=1d0/(16d0*xw*xw1)
770 sfw=
p(
id,5)**4/((
p(
id,5)**2-parj(123)**2)**2+
771 & (parj(123)*parj(124))**2)
772 sfi=sfw*(1d0-(parj(123)/
p(
id,5))**2)
774 hf1i=sfi*sff*(ve*poll+parj(132)-parj(131))
775 hf1w=sfw*sff**2*((ve**2+1d0)*poll+2d0*ve*
776 & (parj(132)-parj(131)))
781 IF(mod(mstj(103),2).EQ.1) vq=sqrt(
max(0d0,
782 & 1d0-(2d0*pmq/
p(
id,5))**2))
783 vf=
sign(1d0,qf)-4d0*qf*xw
784 rfv=0.5d0*vq*(3d0-vq**2)*(qf**2*poll-2d0*qf*vf*hf1i+
785 & vf**2*hf1w)+vq**3*hf1w
786 IF(rfv.GT.0d0) parj(171)=min(1d0,vq**3*hf1w/rfv)
794 CALL
pyx4jt(njet,cut,kflc,
p(
id,5),kfln,x1,x2,x4,x12,x14)
795 ELSEIF(njet.EQ.3)
THEN
803 IF(njet.EQ.2.AND.mstj(101).NE.5)
THEN
805 ELSEIF(njet.EQ.2)
THEN
807 ELSEIF(njet.EQ.3)
THEN
808 CALL
py3ent(nc+1,kflc,21,-kflc,
p(
id,5),x1,x3)
809 ELSEIF(kfln.EQ.21)
THEN
810 CALL
py4ent(nc+1,kflc,kfln,kfln,-kflc,
p(
id,5),x1,x2,x4,
813 CALL
py4ent(nc+1,kflc,-kfln,kfln,-kflc,
p(
id,5),x1,x2,x4,
816 IF(mstu(24).NE.0)
THEN
824 IF(mstj(106).EQ.1)
THEN
825 CALL
pyxdif(nc,njet,kflc,
p(
id,5),chiz,thez,phiz)
826 IF(
mint(11).LT.0) thez=paru(1)-thez
828 CALL
pyrobo(nc+1,
n,0d0,chiz,0d0,0d0,0d0)
829 CALL
pyrobo(nc+1,
n,thez,phiz,0d0,0d0,0d0)
855 IF(mstj(101).EQ.5.AND.
mint(35).LE.1)
THEN
857 ELSEIF(mstj(101).EQ.5.AND.
mint(35).GE.2)
THEN
861 ptpart(1)=0.5d0*
p(
id,5)
864 IF(
k(
n-1,2).GT.0)
THEN
881 IF(jtmax.EQ.2.AND.isub.NE.0.AND.
mstp(47).GE.1.AND.
884 IF(
k(
mint(84)+1,2).GT.0) ilin(1)=
mint(84)+2
885 IF(
k(ilin(1),2).EQ.21.OR.
k(ilin(1),2).EQ.22)
886 & ilin(1)=2*
mint(84)+3-ilin(1)
887 ilin(2)=2*
mint(84)+3-ilin(1)
889 IF(iref(ip,7).EQ.25.OR.iref(ip,7).EQ.35.OR.iref(ip,7)
893 IF(
k(iref(ip,1),2).EQ.23) iord=2
894 IF(
k(iref(ip,1),2).EQ.24.AND.
k(iref(ip,2),2).EQ.-24) iord=2
895 iakipd=iabs(
k(iref(ip,iord),2))
896 IF(iakipd.EQ.25.OR.iakipd.EQ.35.OR.iakipd.EQ.36) iord=3-iord
897 IF(kdcy(iord).EQ.0) iord=3-iord
900 DO 370 jt=iord,3-iord,3-2*iord
901 IF(kdcy(jt).EQ.0)
THEN
904 ELSEIF(
k(nsd(jt)+1,2).GT.0)
THEN
905 ilin(imax+1)=
n+2*jt-1
908 k(
n+2*jt-1,2)=
k(nsd(jt)+1,2)
909 k(
n+2*jt,2)=
k(nsd(jt)+2,2)
913 ilin(imax+2)=
n+2*jt-1
915 k(
n+2*jt-1,2)=
k(nsd(jt)+1,2)
916 k(
n+2*jt,2)=
k(nsd(jt)+2,2)
925 kfa=iabs(
k(ilin(
i),2))
926 IF(kfa.EQ.0.OR.kfa.GT.20) goto 390
927 coup(
i,1)=kchg(kfa,1)/3d0
928 coup(
i,2)=(-1)**mod(kfa,2)
929 coup(
i,4)=-2d0*coup(
i,1)*xwv
930 coup(
i,3)=coup(
i,2)+coup(
i,4)
940 corl(
i/2,j1,j2)=coup(1,1)**2*
hgz(
i1,1)*coup(
i,1)**2/
941 & 16d0+coup(1,1)*coup(1,j1+2)*
hgz(
i1,2)*coup(
i,1)*
942 & coup(
i,j2+2)/4d0+coup(1,j1+2)**2*
hgz(
i1,3)*
947 cowt12=(corl(1,1,1)+corl(1,1,2))*(corl(2,1,1)+corl(2,1,2))+
948 & (corl(1,2,1)+corl(1,2,2))*(corl(2,2,1)+corl(2,2,2))
949 comx12=(corl(1,1,1)+corl(1,1,2)+corl(1,2,1)+corl(1,2,2))*
950 & (corl(2,1,1)+corl(2,1,2)+corl(2,2,1)+corl(2,2,2))
952 IF(cowt12.LT.
pyr(0)*comx12) goto 180
959 IF(
pyr(0).LT.paru(130)) mzpwp=1
961 IF(iabs(
k(iref(2,1),2)).EQ.37) mzpwp=2
962 iakir=iabs(
k(iref(2,2),2))
963 IF(iakir.EQ.25.OR.iakir.EQ.35.OR.iakir.EQ.36) mzpwp=2
964 IF(iakir.LE.20) mzpwp=2
967 ELSEIF(isub.EQ.142)
THEN
968 IF(
pyr(0).LT.paru(136)) mzpwp=1
970 iakir=iabs(
k(iref(2,2),2))
971 IF(iakir.EQ.25.OR.iakir.EQ.35.OR.iakir.EQ.36) mzpwp=2
972 IF(iakir.LE.20) mzpwp=2
978 430
DO 440 jt=1,jtmax
979 IF(kdcy(jt).EQ.0) goto 440
980 IF(jtmax.EQ.1.AND.isub.NE.0.AND.ihdec.EQ.0)
THEN
982 IF(cthe(jt).GT.
vint(33)) cthe(jt)=cthe(jt)+
vint(14)-
vint(33)
985 cthe(jt)=2d0*
pyr(0)-1d0
990 IF(jtmax.EQ.2.AND.
mstp(47).GE.1.AND.ninh.EQ.0)
THEN
1000 IF(kdcy(jt).EQ.0) goto 470
1002 p(
n+2*jt-1,3)=0.5d0*
p(
id,5)
1003 p(
n+2*jt-1,4)=0.5d0*
p(
id,5)
1004 p(
n+2*jt,3)=-0.5d0*
p(
id,5)
1005 p(
n+2*jt,4)=0.5d0*
p(
id,5)
1006 CALL
pyrobo(
n+2*jt-1,
n+2*jt,acos(cthe(jt)),
phi(jt),
1015 p(
n+4+
i,4)=sqrt(
p(ilin(
i),1)**2+
p(ilin(
i),2)**2+
1016 &
p(ilin(
i),3)**2+
p(ilin(
i),5)**2)
1017 p(
n+4+
i,5)=
p(ilin(
i),5)
1022 500 therr=acos(2d0*
pyr(0)-1d0)
1023 phirr=paru(2)*
pyr(0)
1024 CALL
pyrobo(
n+4+imin,
n+4+imax,therr,phirr,0d0,0d0,0d0)
1026 IF(
p(
n+4+
i,1)**2+
p(
n+4+
i,2)**2.LT.1d-4*(
p(
n+4+
i,1)**2+
1027 &
p(
n+4+
i,2)**2+
p(
n+4+
i,3)**2)) goto 500
1035 IF(isub.EQ.22.OR.isub.EQ.23.OR.isub.EQ.25.OR.isub.EQ.141.OR.
1037 DO 540
i1=imin,imax-1
1040 & pk(
i2,3))/(1d-20+pk(
i1,1)**2+pk(
i1,2)**2)))*
1043 & (1d-20+pk(
i2,1)**2+pk(
i2,2)**2)))*
1061 DO 580
i1=imin,imax-1
1064 & pk(
i1,2)*pk(
i2,2)-pk(
i1,3)*pk(
i2,3))
1071 kfagm=iabs(iref(ip,7))
1072 IF(
mstp(47).LE.0.OR.ninh.NE.0)
THEN
1077 ELSEIF(jtmax.EQ.3)
THEN
1082 ELSEIF(it4.GE.1)
THEN
1087 ELSEIF(iref(ip,7).EQ.25.OR.iref(ip,7).EQ.35.OR.
1088 & iref(ip,7).EQ.36)
THEN
1093 IF(ip.EQ.1) wtmax=sh**2
1094 IF(ip.GE.2) wtmax=
p(iref(ip,8),5)**4
1095 kfa=iabs(
k(iref(ip,1),2))
1096 kft=iabs(
k(iref(ip,2),2))
1098 IF((kfa.EQ.kft).AND.(kfa.EQ.23.OR.kfa.EQ.24).AND.
1099 &
mstp(25).GE.3)
THEN
1117 epsi=p10*p21*p32*p43-p10*p21*p33*p42-p10*p22*p31*p43+p10*p22*
1118 & p33*p41+p10*p23*p31*p42-p10*p23*p32*p41-p11*p20*p32*p43+p11*
1119 & p20*p33*p42+p11*p22*p30*p43-p11*p22*p33*p40-p11*p23*p30*p42+
1120 & p11*p23*p32*p40+p12*p20*p31*p43-p12*p20*p33*p41-p12*p21*p30*
1121 & p43+p12*p21*p33*p40+p12*p23*p30*p41-p12*p23*p31*p40-p13*p20*
1122 & p31*p42+p13*p20*p32*p41+p13*p21*p30*p42-p13*p21*p32*p40-p13*
1123 & p22*p30*p41+p13*p22*p31*p40
1125 xma=sqrt(
max(0d0,(pk(3,4)+pk(4,4))**2-(pk(3,1)+pk(4,1))**2-
1126 & (pk(3,2)+pk(4,2))**2-(pk(3,3)+pk(4,3))**2))
1127 xmb=sqrt(
max(0d0,(pk(5,4)+pk(6,4))**2-(pk(5,1)+pk(6,1))**2-
1128 & (pk(5,2)+pk(6,2))**2-(pk(5,3)+pk(6,3))**2))
1133 IF(kfa.EQ.23.AND.(kfa.EQ.kft))
THEN
1134 kflf1a=iabs(kfl1(1))
1135 ef1=kchg(kflf1a,1)/3d0
1136 af1=
sign(1d0,ef1+0.1d0)
1138 kflf2a=iabs(kfl1(2))
1139 ef2=kchg(kflf2a,1)/3d0
1140 af2=
sign(1d0,ef2+0.1d0)
1142 va12as=4d0*vf1*af1*vf2*af2/((vf1**2+af1**2)*(vf2**2+af2**2))
1143 IF((
mstp(25).EQ.0.AND.iref(ip,7).NE.36).OR.
mstp(25).EQ.1)
1146 wt=8d0*(1d0+va12as)*pkk(3,5)*pkk(4,6)+
1147 & 8d0*(1d0-va12as)*pkk(3,6)*pkk(4,5)
1148 ELSEIF(
mstp(25).LE.2)
THEN
1150 wt=((pkk(3,5)+pkk(4,6))**2 +(pkk(3,6)+pkk(4,5))**2
1151 & -2*pkk(3,4)*pkk(5,6)
1152 & -2*(pkk(3,5)*pkk(4,6)-pkk(3,6)*pkk(4,5))**2/
1153 & (pkk(3,4)*pkk(5,6))
1154 & +va12as*(pkk(3,5)+pkk(3,6)-pkk(4,5)-pkk(4,6))*
1155 & (pkk(3,5)+pkk(4,5)-pkk(3,6)-pkk(4,6)))/(1+va12as)
1158 wt=32d0*(0.25d0*((1d0+va12as)*pkk(3,5)*pkk(4,6)
1159 & +(1d0-va12as)*pkk(3,6)*pkk(4,5))
1160 & -0.5d0*
eta/xmv**2*epsi*((1d0+va12as)*(pkk(3,5)+pkk(4,6))
1161 & -(1d0-va12as)*(pkk(3,6)+pkk(4,5)))
1162 & +6.25d-2*
eta**2/xmv**4*(-2d0*pkk(3,4)**2*pkk(5,6)**2
1163 & -2d0*(pkk(3,5)*pkk(4,6)-pkk(3,6)*pkk(4,5))**2
1164 & +pkk(3,4)*pkk(5,6)
1165 & *((pkk(3,5)+pkk(4,6))**2+(pkk(3,6)+pkk(4,5))**2)
1166 & +va12as*pkk(3,4)*pkk(5,6)
1167 & *(pkk(3,5)+pkk(3,6)-pkk(4,5)-pkk(4,6))
1168 & *(pkk(3,5)-pkk(3,6)+pkk(4,5)-pkk(4,6))))
1169 & /(1d0 +2d0*
eta*xma*xmb/xmv**2
1170 & +2d0*(
eta*xma*xmb/xmv**2)**2*(1d0+va12as))
1174 ELSEIF(kfa.EQ.24.AND.(kfa.EQ.kft))
THEN
1175 IF((
mstp(25).EQ.0.AND.iref(ip,7).NE.36).OR.
mstp(25).EQ.1)
1178 wt=16d0*pkk(3,5)*pkk(4,6)
1179 ELSEIF(
mstp(25).LE.2)
THEN
1181 wt=0.5d0*((pkk(3,5)+pkk(4,6))**2 +(pkk(3,6)+pkk(4,5))**2
1182 & -2*pkk(3,4)*pkk(5,6)
1183 & -2*(pkk(3,5)*pkk(4,6)-pkk(3,6)*pkk(4,5))**2/
1184 & (pkk(3,4)*pkk(5,6))
1185 & +(pkk(3,5)+pkk(3,6)-pkk(4,5)-pkk(4,6))*
1186 & (pkk(3,5)+pkk(4,5)-pkk(3,6)-pkk(4,6)))
1189 wt=32d0*(0.25d0*2d0*pkk(3,5)*pkk(4,6)
1190 & -0.5d0*
eta/xmv**2*epsi*2d0*(pkk(3,5)+pkk(4,6))
1191 & +6.25d-2*
eta**2/xmv**4*(-2d0*pkk(3,4)**2*pkk(5,6)**2
1192 & -2d0*(pkk(3,5)*pkk(4,6)-pkk(3,6)*pkk(4,5))**2
1193 & +pkk(3,4)*pkk(5,6)
1194 & *((pkk(3,5)+pkk(4,6))**2+(pkk(3,6)+pkk(4,5))**2)
1195 & +pkk(3,4)*pkk(5,6)
1196 & *(pkk(3,5)+pkk(3,6)-pkk(4,5)-pkk(4,6))
1197 & *(pkk(3,5)-pkk(3,6)+pkk(4,5)-pkk(4,6))))
1198 & /(1d0 +2d0*
eta*xma*xmb/xmv**2
1199 & +(2d0*
eta*xma*xmb/xmv**2)**2)
1207 ELSEIF((kfagm.EQ.6.OR.kfagm.EQ.7.OR.kfagm.EQ.8.OR.
1208 & kfagm.EQ.17.OR.kfagm.EQ.18).AND.iabs(
k(iref(ip,1),2)).EQ.24)
1212 IF(mod(kfagm,2).EQ.0)
THEN
1223 wtmax=(
p(
i1,5)**4-
p(iref(ip,1),5)**4)/8d0
1225 ELSEIF(isub.EQ.1)
THEN
1227 ei=kchg(iabs(
mint(15)),1)/3d0
1230 ef=kchg(iabs(kfl1(1)),1)/3d0
1231 af=
sign(1d0,ef+0.1d0)
1234 rmf=min(1d0,4d0*pmas(iabs(kfl1(1)),1)**2/sh)
1236 & (vi**2+ai**2)*
vint(114)*(vf**2+(1d0-rmf)*af**2)
1238 & (vi**2+ai**2)*
vint(114)*vf**2)
1239 wt3=sqrt(1d0-rmf)*(
ei*ai*
vint(112)*ef*af+
1240 & 4d0*vi*ai*
vint(114)*vf*af)
1241 wt=wt1*(1d0+cthe(1)**2)+wt2*(1d0-cthe(1)**2)+
1242 & 2d0*wt3*cthe(1)*isign(1,
mint(15)*kfl1(1))
1243 wtmax=2d0*(wt1+abs(wt3))
1245 ELSEIF(isub.EQ.2)
THEN
1247 rm3=pmas(iabs(kfl1(1)),1)**2/sh
1248 rm4=pmas(iabs(kfl2(1)),1)**2/sh
1249 be34=sqrt(
max(0d0,(1d0-rm3-rm4)**2-4d0*rm3*rm4))
1250 wt=(1d0+be34*cthe(1)*isign(1,
mint(15)*kfl1(1)))**2-(rm3-rm4)**2
1253 ELSEIF(isub.EQ.15.OR.isub.EQ.19)
THEN
1256 clilf=coup(1,1)**2*
hgz(jtz,1)*coup(3,1)**2/16d0+
1257 & coup(1,1)*coup(1,3)*
hgz(jtz,2)*coup(3,1)*coup(3,3)/4d0+
1258 & coup(1,3)**2*
hgz(jtz,3)*coup(3,3)**2
1259 clirf=coup(1,1)**2*
hgz(jtz,1)*coup(3,1)**2/16d0+
1260 & coup(1,1)*coup(1,3)*
hgz(jtz,2)*coup(3,1)*coup(3,4)/4d0+
1261 & coup(1,3)**2*
hgz(jtz,3)*coup(3,4)**2
1262 crilf=coup(1,1)**2*
hgz(jtz,1)*coup(3,1)**2/16d0+
1263 & coup(1,1)*coup(1,4)*
hgz(jtz,2)*coup(3,1)*coup(3,3)/4d0+
1264 & coup(1,4)**2*
hgz(jtz,3)*coup(3,3)**2
1265 crirf=coup(1,1)**2*
hgz(jtz,1)*coup(3,1)**2/16d0+
1266 & coup(1,1)*coup(1,4)*
hgz(jtz,2)*coup(3,1)*coup(3,4)/4d0+
1267 & coup(1,4)**2*
hgz(jtz,3)*coup(3,4)**2
1268 wt=(clilf+crirf)*(pkk(1,3)**2+pkk(2,4)**2)+
1269 & (clirf+crilf)*(pkk(1,4)**2+pkk(2,3)**2)
1270 wtmax=(clilf+clirf+crilf+crirf)*
1271 & ((pkk(1,3)+pkk(1,4))**2+(pkk(2,3)+pkk(2,4))**2)
1273 ELSEIF(isub.EQ.16.OR.isub.EQ.20)
THEN
1276 wt=pkk(1,3)**2+pkk(2,4)**2
1277 wtmax=(pkk(1,3)+pkk(1,4))**2+(pkk(2,3)+pkk(2,4))**2
1279 ELSEIF(isub.EQ.22)
THEN
1281 s34=
p(iref(ip,iord),5)**2
1282 s56=
p(iref(ip,3-iord),5)**2
1283 ti=pkk(1,3)+pkk(1,4)+s34
1284 ui=pkk(1,5)+pkk(1,6)+s56
1287 fgk135=abs(fgk(1,2,3,4,5,6)/tir+fgk(1,2,5,6,3,4)/uir)**2
1288 fgk145=abs(fgk(1,2,4,3,5,6)/tir+fgk(1,2,5,6,4,3)/uir)**2
1289 fgk136=abs(fgk(1,2,3,4,6,5)/tir+fgk(1,2,6,5,3,4)/uir)**2
1290 fgk146=abs(fgk(1,2,4,3,6,5)/tir+fgk(1,2,6,5,4,3)/uir)**2
1291 fgk253=abs(fgk(2,1,5,6,3,4)/tir+fgk(2,1,3,4,5,6)/uir)**2
1292 fgk263=abs(fgk(2,1,6,5,3,4)/tir+fgk(2,1,3,4,6,5)/uir)**2
1293 fgk254=abs(fgk(2,1,5,6,4,3)/tir+fgk(2,1,4,3,5,6)/uir)**2
1294 fgk264=abs(fgk(2,1,6,5,4,3)/tir+fgk(2,1,4,3,6,5)/uir)**2
1297 & corl(1,1,1)*corl(2,1,1)*fgk135+corl(1,1,2)*corl(2,1,1)*fgk145+
1298 & corl(1,1,1)*corl(2,1,2)*fgk136+corl(1,1,2)*corl(2,1,2)*fgk146+
1299 & corl(1,2,1)*corl(2,2,1)*fgk253+corl(1,2,2)*corl(2,2,1)*fgk263+
1300 & corl(1,2,1)*corl(2,2,2)*fgk254+corl(1,2,2)*corl(2,2,2)*fgk264
1301 wtmax=16d0*((corl(1,1,1)+corl(1,1,2))*(corl(2,1,1)+corl(2,1,2))+
1302 & (corl(1,2,1)+corl(1,2,2))*(corl(2,2,1)+corl(2,2,2)))*s34*s56*
1303 & ((ti**2+ui**2+2d0*sh*(s34+s56))/(ti*ui)-s34*s56*(1d0/ti**2+
1306 ELSEIF(isub.EQ.23)
THEN
1308 d34=
p(iref(ip,iord),5)**2
1309 d56=
p(iref(ip,3-iord),5)**2
1310 dt=pkk(1,3)+pkk(1,4)+d34
1311 du=pkk(1,5)+pkk(1,6)+d56
1312 facbw=1d0/((sh-sqmw)**2+gmmw**2)
1313 cawz=coup(2,3)/
dt-2d0*xw1*coup(1,2)*(sh-sqmw)*facbw
1314 cbwz=coup(1,3)/du+2d0*xw1*coup(1,2)*(sh-sqmw)*facbw
1315 fgk135=abs(
REAL(cawz)*fgk(1,2,3,4,5,6)+
1317 &
REAL(cbwz)*fgk(1,2,5,6,3,4))
1318 fgk136=abs(
REAL(cawz)*fgk(1,2,3,4,6,5)+
1319 &
REAL(cbwz)*fgk(1,2,6,5,3,4))
1320 wt=(coup(5,3)*fgk135)**2+(coup(5,4)*fgk136)**2
1321 wtmax=4d0*d34*d56*(coup(5,3)**2+coup(5,4)**2)*(cawz**2*
1322 & digk(
dt,du)+cbwz**2*digk(du,
dt)+cawz*cbwz*djgk(
dt,du))
1324 ELSEIF(isub.EQ.24.OR.isub.EQ.171.OR.isub.EQ.176)
THEN
1327 wt=((coup(1,3)*coup(3,3))**2+(coup(1,4)*coup(3,4))**2)*
1328 & pkk(1,3)*pkk(2,4)+((coup(1,3)*coup(3,4))**2+(coup(1,4)*
1329 & coup(3,3))**2)*pkk(1,4)*pkk(2,3)
1330 wtmax=(coup(1,3)**2+coup(1,4)**2)*(coup(3,3)**2+coup(3,4)**2)*
1331 & (pkk(1,3)+pkk(1,4))*(pkk(2,3)+pkk(2,4))
1333 ELSEIF(isub.EQ.25)
THEN
1335 polr=(1d0+parj(132))*(1d0-parj(131))
1336 poll=(1d0-parj(132))*(1d0+parj(131))
1337 d34=
p(iref(ip,iord),5)**2
1338 d56=
p(iref(ip,3-iord),5)**2
1339 dt=pkk(1,3)+pkk(1,4)+d34
1340 du=pkk(1,5)+pkk(1,6)+d56
1341 facbw=1d0/((sh-sqmz)**2+sqmz*pmas(23,2)**2)
1342 cdww=(coup(1,3)*sqmz*(sh-sqmz)*facbw+coup(1,2))/sh
1343 caww=cdww+0.5d0*(coup(1,2)+1d0)/
dt
1344 cbww=cdww+0.5d0*(coup(1,2)-1d0)/du
1345 ccww=coup(1,4)*sqmz*(sh-sqmz)*facbw/sh
1346 fgk135=abs(
REAL(caww)*fgk(1,2,3,4,5,6)-
1347 &
REAL(cbww)*fgk(1,2,5,6,3,4))
1348 fgk253=abs(fgk(2,1,5,6,3,4)-fgk(2,1,3,4,5,6))
1349 IF(
mstp(50).LE.0)
THEN
1350 wt=fgk135**2+(ccww*fgk253)**2
1351 wtmax=4d0*d34*d56*(caww**2*digk(
dt,du)+cbww**2*digk(du,
dt)-
1352 & caww*cbww*djgk(
dt,du)+ccww**2*(digk(
dt,du)+digk(du,
dt)-
1355 wt=poll*fgk135**2+polr*(ccww*fgk253)**2
1356 wtmax=4d0*d34*d56*(poll*(caww**2*digk(
dt,du)+
1357 & cbww**2*digk(du,
dt)-caww*cbww*djgk(
dt,du))+
1358 & polr*ccww**2*(digk(
dt,du)+digk(du,
dt)-djgk(
dt,du)))
1361 ELSEIF(isub.EQ.26.OR.isub.EQ.172.OR.isub.EQ.177)
THEN
1364 wt=pkk(1,3)*pkk(2,4)
1365 wtmax=(pkk(1,3)+pkk(1,4))*(pkk(2,3)+pkk(2,4))
1367 ELSEIF(isub.EQ.30.OR.isub.EQ.35)
THEN
1370 clilf=coup(1,1)**2*
hgz(jtz,1)*coup(3,1)**2/16d0+
1371 & coup(1,1)*coup(1,3)*
hgz(jtz,2)*coup(3,1)*coup(3,3)/4d0+
1372 & coup(1,3)**2*
hgz(jtz,3)*coup(3,3)**2
1373 clirf=coup(1,1)**2*
hgz(jtz,1)*coup(3,1)**2/16d0+
1374 & coup(1,1)*coup(1,3)*
hgz(jtz,2)*coup(3,1)*coup(3,4)/4d0+
1375 & coup(1,3)**2*
hgz(jtz,3)*coup(3,4)**2
1376 crilf=coup(1,1)**2*
hgz(jtz,1)*coup(3,1)**2/16d0+
1377 & coup(1,1)*coup(1,4)*
hgz(jtz,2)*coup(3,1)*coup(3,3)/4d0+
1378 & coup(1,4)**2*
hgz(jtz,3)*coup(3,3)**2
1379 crirf=coup(1,1)**2*
hgz(jtz,1)*coup(3,1)**2/16d0+
1380 & coup(1,1)*coup(1,4)*
hgz(jtz,2)*coup(3,1)*coup(3,4)/4d0+
1381 & coup(1,4)**2*
hgz(jtz,3)*coup(3,4)**2
1382 IF(
k(ilin(1),2).GT.0) wt=(clilf+crirf)*(pkk(1,4)**2+
1383 & pkk(3,5)**2)+(clirf+crilf)*(pkk(1,3)**2+pkk(4,5)**2)
1384 IF(
k(ilin(1),2).LT.0) wt=(clilf+crirf)*(pkk(1,3)**2+
1385 & pkk(4,5)**2)+(clirf+crilf)*(pkk(1,4)**2+pkk(3,5)**2)
1386 wtmax=(clilf+clirf+crilf+crirf)*
1387 & ((pkk(1,3)+pkk(1,4))**2+(pkk(3,5)+pkk(4,5))**2)
1389 ELSEIF(isub.EQ.31.OR.isub.EQ.36)
THEN
1391 IF(
k(ilin(1),2).GT.0) wt=pkk(1,4)**2+pkk(3,5)**2
1392 IF(
k(ilin(1),2).LT.0) wt=pkk(1,3)**2+pkk(4,5)**2
1393 wtmax=(pkk(1,3)+pkk(1,4))**2+(pkk(3,5)+pkk(4,5))**2
1395 ELSEIF(isub.EQ.71.OR.isub.EQ.72.OR.isub.EQ.73.OR.isub.EQ.76.OR.
1398 wt=16d0*pkk(3,5)*pkk(4,6)
1401 ELSEIF(isub.EQ.110)
THEN
1406 ELSEIF(isub.EQ.141)
THEN
1407 IF(ip.EQ.1.AND.iabs(kfl1(1)).LT.20)
THEN
1415 IF(kfai.LE.10.AND.mod(kfai,2).EQ.0) kfaic=2
1416 IF(kfai.GT.10.AND.mod(kfai,2).NE.0) kfaic=3
1417 IF(kfai.GT.10.AND.mod(kfai,2).EQ.0) kfaic=4
1418 IF(kfai.LE.2.OR.kfai.EQ.11.OR.kfai.EQ.12)
THEN
1419 vpi=paru(119+2*kfaic)
1420 api=paru(120+2*kfaic)
1421 ELSEIF(kfai.LE.4.OR.kfai.EQ.13.OR.kfai.EQ.14)
THEN
1422 vpi=parj(178+2*kfaic)
1423 api=parj(179+2*kfaic)
1425 vpi=parj(186+2*kfaic)
1426 api=parj(187+2*kfaic)
1431 af=
sign(1d0,ef+0.1d0)
1434 IF(kfaf.LE.10.AND.mod(kfaf,2).EQ.0) kfafc=2
1435 IF(kfaf.GT.10.AND.mod(kfaf,2).NE.0) kfafc=3
1436 IF(kfaf.GT.10.AND.mod(kfaf,2).EQ.0) kfafc=4
1437 IF(kfaf.LE.2.OR.kfaf.EQ.11.OR.kfaf.EQ.12)
THEN
1438 vpf=paru(119+2*kfafc)
1439 apf=paru(120+2*kfafc)
1440 ELSEIF(kfaf.LE.4.OR.kfaf.EQ.13.OR.kfaf.EQ.14)
THEN
1441 vpf=parj(178+2*kfafc)
1442 apf=parj(179+2*kfafc)
1444 vpf=parj(186+2*kfafc)
1445 apf=parj(187+2*kfafc)
1448 asym=2d0*(
ei*ai*
vint(112)*ef*af+
ei*api*
vint(113)*ef*apf+
1449 & 4d0*vi*ai*
vint(114)*vf*af+(vi*api+vpi*ai)*
vint(115)*
1450 & (vf*apf+vpf*af)+4d0*vpi*api*
vint(116)*vpf*apf)/
1452 &
ei*vpi*
vint(113)*ef*vpf+(vi**2+ai**2)*
vint(114)*
1453 & (vf**2+af**2)+(vi*vpi+ai*api)*
vint(115)*(vf*vpf+af*apf)+
1454 & (vpi**2+api**2)*
vint(116)*(vpf**2+apf**2))
1455 wt=1d0+asym*cthe(1)*isign(1,
mint(15)*kfl1(1))+cthe(1)**2
1457 ELSEIF(ip.EQ.1.AND.iabs(kfl1(1)).EQ.24)
THEN
1459 rm1=
p(nsd(1)+1,5)**2/sh
1460 rm2=
p(nsd(1)+2,5)**2/sh
1461 ccos2=-(1d0/16d0)*((1d0-rm1-rm2)**2-4d0*rm1*rm2)*
1462 & (1d0-2d0*rm1-2d0*rm2+rm1**2+rm2**2+10d0*rm1*rm2)
1463 cflat=-ccos2+0.5d0*(rm1+rm2)*(1d0-2d0*rm1-2d0*rm2+
1465 wt=cflat+ccos2*cthe(1)**2
1466 wtmax=cflat+
max(0d0,ccos2)
1467 ELSEIF(ip.EQ.1.AND.(kfl1(1).EQ.25.OR.kfl1(1).EQ.35.OR.
1468 & iabs(kfl1(1)).EQ.37))
THEN
1472 ELSEIF(ip.EQ.1.AND.kfl2(1).EQ.25)
THEN
1474 rm1=
p(nsd(1)+1,5)**2/sh
1475 rm2=
p(nsd(1)+2,5)**2/sh
1476 flam2=
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2)
1477 wt=1d0+flam2*(1d0-cthe(1)**2)/(8d0*rm1)
1478 wtmax=1d0+flam2/(8d0*rm1)
1479 ELSEIF(mzpwp.EQ.0)
THEN
1482 d34=
p(iref(ip,iord),5)**2
1483 d56=
p(iref(ip,3-iord),5)**2
1484 dt=pkk(1,3)+pkk(1,4)+d34
1485 du=pkk(1,5)+pkk(1,6)+d56
1486 fgk135=abs(fgk(1,2,3,4,5,6)-fgk(1,2,5,6,3,4))
1487 fgk253=abs(fgk(2,1,5,6,3,4)-fgk(2,1,3,4,5,6))
1488 wt=(coup(1,3)*fgk135)**2+(coup(1,4)*fgk253)**2
1489 wtmax=4d0*d34*d56*(coup(1,3)**2+coup(1,4)**2)*
1490 & (digk(
dt,du)+digk(du,
dt)-djgk(
dt,du))
1491 ELSEIF(mzpwp.EQ.1)
THEN
1494 wt=16d0*pkk(3,5)*pkk(4,6)
1503 ELSEIF(isub.EQ.142)
THEN
1504 IF(ip.EQ.1.AND.iabs(kfl1(1)).LT.20)
THEN
1508 IF(kfai.GT.10) kfaic=2
1509 vi=paru(129+2*kfaic)
1510 ai=paru(130+2*kfaic)
1513 IF(kfaf.GT.10) kfafc=2
1514 vf=paru(129+2*kfafc)
1515 af=paru(130+2*kfafc)
1516 asym=8d0*vi*ai*vf*af/((vi**2+ai**2)*(vf**2+af**2))
1517 wt=1d0+asym*cthe(1)*isign(1,
mint(15)*kfl1(1))+cthe(1)**2
1519 ELSEIF(ip.EQ.1.AND.iabs(kfl2(1)).EQ.23)
THEN
1521 rm1=
p(nsd(1)+1,5)**2/sh
1522 rm2=
p(nsd(1)+2,5)**2/sh
1523 ccos2=-(1d0/16d0)*((1d0-rm1-rm2)**2-4d0*rm1*rm2)*
1524 & (1d0-2d0*rm1-2d0*rm2+rm1**2+rm2**2+10d0*rm1*rm2)
1525 cflat=-ccos2+0.5d0*(rm1+rm2)*(1d0-2d0*rm1-2d0*rm2+
1527 wt=cflat+ccos2*cthe(1)**2
1528 wtmax=cflat+
max(0d0,ccos2)
1529 ELSEIF(ip.EQ.1.AND.kfl2(1).EQ.25)
THEN
1531 rm1=
p(nsd(1)+1,5)**2/sh
1532 rm2=
p(nsd(1)+2,5)**2/sh
1533 flam2=
max(0d0,(1d0-rm1-rm2)**2-4d0*rm1*rm2)
1534 wt=1d0+flam2*(1d0-cthe(1)**2)/(8d0*rm1)
1535 wtmax=1d0+flam2/(8d0*rm1)
1536 ELSEIF(mzpwp.EQ.0)
THEN
1539 d34=
p(iref(ip,iord),5)**2
1540 d56=
p(iref(ip,3-iord),5)**2
1541 dt=pkk(1,3)+pkk(1,4)+d34
1542 du=pkk(1,5)+pkk(1,6)+d56
1543 fgk135=abs(fgk(1,2,3,4,5,6)-fgk(1,2,5,6,3,4))
1544 fgk136=abs(fgk(1,2,3,4,6,5)-fgk(1,2,6,5,3,4))
1545 wt=(coup(5,3)*fgk135)**2+(coup(5,4)*fgk136)**2
1546 wtmax=4d0*d34*d56*(coup(5,3)**2+coup(5,4)**2)*
1547 & (digk(
dt,du)+digk(du,
dt)-djgk(
dt,du))
1548 ELSEIF(mzpwp.EQ.1)
THEN
1551 wt=16d0*pkk(3,5)*pkk(4,6)
1560 ELSEIF(isub.EQ.145.OR.isub.EQ.162.OR.isub.EQ.163.OR.isub.EQ.164)
1566 ELSEIF(isub.GE.146.AND.isub.LE.148)
THEN
1570 IF(ip.EQ.1.AND.(kfl1(1).EQ.21.OR.kfl1(1).EQ.22))
THEN
1573 ELSEIF(ip.EQ.1)
THEN
1575 rm1=
p(nsd(1)+1,5)**2/sh
1576 wt=1d0+
side*cthe(1)*(1d0-0.5d0*rm1)/(1d0+0.5d0*rm1)
1577 wtmax=1d0+(1d0-0.5d0*rm1)/(1d0+0.5d0*rm1)
1584 ELSEIF(isub.EQ.149)
THEN
1589 ELSEIF(isub.EQ.191)
THEN
1590 IF(ip.EQ.1.AND.iabs(kfl1(1)).GT.21)
THEN
1595 ELSEIF(ip.EQ.1)
THEN
1597 cthesg=cthe(1)*isign(1,
mint(15))
1598 xwrht=(1d0-2d0*xw)/(4d0*xw*(1d0-xw))
1599 bwzr=xwrht*sh*(sh-sqmz)/((sh-sqmz)**2+gmmz**2)
1600 bwzi=xwrht*sh*gmmz/((sh-sqmz)**2+gmmz**2)
1607 alefti=(
ei+vali*bwzr)**2+(vali*bwzi)**2
1608 arighi=(
ei+vari*bwzr)**2+(vari*bwzi)**2
1611 af=
sign(1d0,ef+0.1d0)
1615 aleftf=(ef+valf*bwzr)**2+(valf*bwzi)**2
1616 arighf=(ef+varf*bwzr)**2+(varf*bwzi)**2
1617 asame=alefti*aleftf+arighi*arighf
1618 aflip=alefti*arighf+arighi*aleftf
1619 wt=asame*(1d0+cthesg)**2+aflip*(1d0-cthesg)**2
1620 wtmax=4d0*
max(asame,aflip)
1627 ELSEIF(isub.EQ.192)
THEN
1628 IF(ip.EQ.1.AND.iabs(kfl1(1)).GT.21)
THEN
1633 ELSEIF(ip.EQ.1)
THEN
1635 cthesg=cthe(1)*isign(1,
mint(15))
1644 ELSEIF(isub.EQ.193)
THEN
1645 IF(ip.EQ.1.AND.iabs(kfl1(1)).GT.21)
THEN
1650 ELSEIF(ip.EQ.1)
THEN
1652 cthesg=cthe(1)*isign(1,
mint(15))
1653 bwzr=(0.5d0/(1d0-xw))*sh*(sh-sqmz)/((sh-sqmz)**2+gmmz**2)
1654 bwzi=(0.5d0/(1d0-xw))*sh*gmmz/((sh-sqmz)**2+gmmz**2)
1661 blefti=(
ei-vali*bwzr)**2+(vali*bwzi)**2
1662 brighi=(
ei-vari*bwzr)**2+(vari*bwzi)**2
1665 af=
sign(1d0,ef+0.1d0)
1669 bleftf=(ef-valf*bwzr)**2+(valf*bwzi)**2
1670 brighf=(ef-varf*bwzr)**2+(varf*bwzi)**2
1671 bsame=blefti*bleftf+brighi*brighf
1672 bflip=blefti*brighf+brighi*bleftf
1673 wt=bsame*(1d0+cthesg)**2+bflip*(1d0-cthesg)**2
1674 wtmax=4d0*
max(bsame,bflip)
1681 ELSEIF(isub.EQ.353)
THEN
1683 ei=kchg(iabs(
mint(15)),1)/3d0
1686 ef=kchg(
pycomp(kfl1(1)),1)/3d0
1687 af=
sign(1d0,ef+0.1d0)
1689 rmf=min(1d0,4d0*pmas(
pycomp(kfl1(1)),1)**2/sh)
1690 wt1=(vi**2+ai**2)*(vf**2+(1d0-rmf)*af**2)
1691 wt2=rmf*(vi**2+ai**2)*vf**2
1692 wt3=sqrt(1d0-rmf)*4d0*vi*ai*vf*af
1693 wt=wt1*(1d0+cthe(1)**2)+wt2*(1d0-cthe(1)**2)+
1694 & 2d0*wt3*cthe(1)*isign(1,
mint(15)*kfl1(1))
1695 wtmax=2d0*(wt1+abs(wt3))
1697 ELSEIF(isub.EQ.354)
THEN
1699 rm3=pmas(
pycomp(kfl1(1)),1)**2/sh
1700 rm4=pmas(
pycomp(kfl2(1)),1)**2/sh
1701 be34=sqrt(
max(0d0,(1d0-rm3-rm4)**2-4d0*rm3*rm4))
1702 wt=(1d0+be34*cthe(1)*isign(1,
mint(15)*kfl1(1)))**2-(rm3-rm4)**2
1705 ELSEIF(isub.EQ.391)
THEN
1707 IF(ip.EQ.1.AND.iabs(kfl1(1)).LE.18)
THEN
1708 wt=1d0-3d0*cthe(1)**2+4d0*cthe(1)**4
1712 ELSEIF(ip.EQ.1.AND.(iabs(kfl1(1)).EQ.21.OR.
1713 & iabs(kfl1(1)).EQ.22))
THEN
1722 ELSEIF(isub.EQ.392)
THEN
1724 IF(ip.EQ.1.AND.iabs(kfl1(1)).LE.18)
THEN
1729 ELSEIF(ip.EQ.1.AND.(iabs(kfl1(1)).EQ.21.OR.
1730 & iabs(kfl1(1)).EQ.22))
THEN
1731 wt=1d0+6d0*cthe(1)**2+cthe(1)**4
1744 IF(wt.LT.
pyr(0)*wtmax) goto 430
1747 590
DO 690 jt=1,jtmax
1748 IF(kdcy(jt).EQ.0) goto 690
1753 dpmo(4)=sqrt(dpmo(1)**2+dpmo(2)**2+dpmo(3)**2+dpmo(5)**2)
1755 IF(kfl3(jt).EQ.0)
THEN
1756 CALL
pyrobo(nsd(jt)+1,nsd(jt)+2,acos(cthe(jt)),
phi(jt),
1757 & dpmo(1)/dpmo(4),dpmo(2)/dpmo(4),dpmo(3)/dpmo(4))
1760 CALL
pyrobo(nsd(jt)+1,nsd(jt)+3,acos(cthe(jt)),
phi(jt),
1761 & dpmo(1)/dpmo(4),dpmo(2)/dpmo(4),dpmo(3)/dpmo(4))
1769 DO 630
i=nsd(jt)+1,
n0
1782 IF(kcqm(jt).NE.0)
THEN
1788 IF(kfl3(jt).NE.0.OR.itjunc(jt).NE.0)
k(
id,5)=nsd(jt)+3
1790 IF(itjunc(jt).NE.0.AND.kfl3(jt).NE.0)
k(
id,5)=nsd(jt)+4
1794 isubrg=
max(1,min(500,
mint(1)))
1795 IF(ires.EQ.0.OR.iset(isubrg).EQ.11)
THEN
1799 IF(kfl3(jt).NE.0) ihi=ihi+1
1800 DO 650
i=nsd(jt)+1,ihi
1809 k(
i1,3)=iref(ip,jt+3)
1819 IF(kfl3(jt).NE.0.OR.itjunc(jt).GT.0)
k(nsd(jt)+3,3)=
id
1821 IF(kfl3(jt).NE.0.AND.itjunc(jt).GT.0)
k(nsd(jt)+4,3)=
id
1826 IF(
mstp(71).GE.1.AND.
mint(35).LE.1)
THEN
1827 IF(kfl3(jt).EQ.0)
THEN
1828 CALL
pyshow(nsd(jt)+1,nsd(jt)+2,
p(
id,5))
1835 ELSEIF(
mint(35).GE.2)
THEN
1837 IF(kfl3(jt).NE.0)
npart=3
1841 ptpart(1)=0.5d0*
p(
id,5)
1844 IF(kcq1(jt).EQ.1.OR.kcq1(jt).EQ.2)
THEN
1845 mother=
k(nsd(jt)+1,4)/mstu(5)
1846 IF(mother.LE.nsd(jt))
THEN
1847 mct(nsd(jt)+1,1)=mct(mother,1)
1850 mct(nsd(jt)+1,1)=nct
1854 IF(kcq1(jt).EQ.-1.OR.kcq1(jt).EQ.2)
THEN
1855 mother=
k(nsd(jt)+1,5)/mstu(5)
1856 IF(mother.LE.nsd(jt))
THEN
1857 mct(nsd(jt)+1,2)=mct(mother,2)
1860 mct(nsd(jt)+1,2)=nct
1864 IF(mct(nsd(jt)+2,1).EQ.0.AND.(kcq2(jt).EQ.1.OR.
1865 & kcq2(jt).EQ.2))
THEN
1866 mother=
k(nsd(jt)+2,4)/mstu(5)
1867 IF(mother.LE.nsd(jt))
THEN
1868 mct(nsd(jt)+2,1)=mct(mother,1)
1871 mct(nsd(jt)+2,1)=nct
1875 IF(mct(nsd(jt)+2,2).EQ.0.AND.(kcq2(jt).EQ.-1.OR.
1876 & kcq2(jt).EQ.2))
THEN
1877 mother=
k(nsd(jt)+2,5)/mstu(5)
1878 IF(mother.LE.nsd(jt))
THEN
1879 mct(nsd(jt)+2,2)=mct(mother,2)
1882 mct(nsd(jt)+2,2)=nct
1886 IF(
npart.EQ.3.AND.mct(nsd(jt)+3,1).EQ.0.AND.
1887 & (kcq3(jt).EQ.1.OR. kcq3(jt).EQ.2))
THEN
1888 mother=
k(nsd(jt)+3,4)/mstu(5)
1889 mct(nsd(jt)+3,1)=mct(mother,1)
1891 IF(
npart.EQ.3.AND.mct(nsd(jt)+3,2).EQ.0.AND.
1892 & (kcq3(jt).EQ.-1.OR.kcq3(jt).EQ.2))
THEN
1893 mother=
k(nsd(jt)+3,5)/mstu(5)
1894 mct(nsd(jt)+2,2)=mct(mother,2)
1905 IF(nshaft.GT.nshbef)
THEN
1906 IF(
k(nsd1,1).GT.10)
THEN
1907 DO 660
i=nshbef+1,nshaft
1908 IF(
k(
i,1).LT.10.AND.
k(
i,2).EQ.
k(nsd1,2)) nsd1=
i
1911 IF(
k(nsd2,1).GT.10)
THEN
1912 DO 670
i=nshbef+1,nshaft
1913 IF(
k(
i,1).LT.10.AND.
k(
i,2).EQ.
k(nsd2,2).AND.
1917 IF(kfl3(jt).NE.0.AND.
k(nsd3,1).GT.10)
THEN
1918 DO 680
i=nshbef+1,nshaft
1919 IF(
k(
i,1).LT.10.AND.
k(
i,2).EQ.
k(nsd3,2).AND.
1920 &
i.NE.nsd1.AND.
i.NE.nsd2) nsd3=
i
1930 IF(kfl3(jt).NE.0) iref(
np,3)=nsd3
1934 IF(kfl3(jt).NE.0) iref(
np,6)=idoc+3
1935 iref(
np,7)=
k(iref(ip,jt),2)
1936 iref(
np,8)=iref(ip,jt)
1941 700
IF(jtmax.EQ.1.AND.kdcy(1).NE.0.AND.isub.NE.0)
THEN
1949 be34=sqrt(
max(0d0,(1d0-rm3-rm4)**2-4d0*rm3*rm4))
1950 vint(45)=-0.5d0*sh*(1d0-rm3-rm4-be34*cthe(1))
1951 vint(46)=-0.5d0*sh*(1d0-rm3-rm4+be34*cthe(1))
1952 vint(48)=0.25d0*sh*be34**2*
max(0d0,1d0-cthe(1)**2)
1957 IF((isub.EQ.25.OR.isub.EQ.22).AND.
mstp(115).GE.1)
THEN
1962 IF(min(iakf1,iakf2,iakf3,iakf4).GE.1.AND.
1963 &
max(iakf1,iakf2,iakf3,iakf4).LE.5) CALL
1964 &
pyreco(iref(1,1),iref(1,2),nsd(1),naft1)
1965 IF(
mint(51).NE.0)
RETURN
1969 710
IF(ip.LT.
np) goto 170
1972 720
IF(ibst.EQ.1) CALL
pyrobo(
mint(83)+7,
n,thein,phiin,bexin,beyin,