10 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
15 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
16 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
17 common/
pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
20 common/
pyint2/iset(500),kfpr(500,2),coef(500,20),icol(40,4,2)
21 common/
pyint3/xsfx(2,-40:40),isig(1000,3),sigh(1000)
25 dimension kfls(4),is(2),xs(2),zs(2),q2s(2),tevcsv(2),tevesv(2),
26 &xfs(2,-25:25),xfa(-25:25),xfb(-25:25),xfn(-25:25),wtapc(-25:25),
27 &wtape(-25:25),wtsf(-25:25),the2(2),alam(2),dq2(3),dpc(3),dpd(4),
28 &dpb(4),robo(5),more(2),kfbeam(2),q2mncs(2),kcfi(2),nfis(2),
29 &thefis(2,2),isfi(2),dphi(2),mcesv(2)
38 IF(iset(isub).EQ.2.OR.iset(isub).EQ.9.OR.iset(isub).EQ.11) q2mx=
44 IF(
mstp(68).EQ.1.OR.
mstp(68).EQ.3)
THEN
45 IF(isub.EQ.1.OR.isub.EQ.2.OR.isub.EQ.141.OR.isub.EQ.142.OR.
46 & isub.EQ.144) mecor=1
47 IF(isub.EQ.102.OR.isub.EQ.152.OR.isub.EQ.157) mecor=2
48 IF(isub.EQ.3.OR.isub.EQ.151.OR.isub.EQ.156) mecor=3
55 IF(
mint(107).EQ.2.AND.
mstp(66).EQ.2)
THEN
61 q2mncs(1)=
max(q2mnc,q2int)
62 ELSEIF(
mint(107).EQ.3.AND.
mstp(66).GE.1)
THEN
65 IF(
mint(108).EQ.2.AND.
mstp(66).EQ.2)
THEN
71 q2mncs(2)=
max(q2mnc,q2int)
72 ELSEIF(
mint(108).EQ.3.AND.
mstp(66).GE.1)
THEN
80 IF(
mint(47).GE.2.AND.(
mint(47).LT.5.OR.
mstp(12).GE.1))
THEN
85 IF(q2mx.LT.
max(q2mnc,2d0*
parp(61)**2).OR.tcmx.LT.0.2d0)
93 IF(iabs(
mint(11)).EQ.13.OR.iabs(
mint(12)).EQ.13)
95 IF(iabs(
mint(11)).EQ.15.OR.iabs(
mint(12)).EQ.15)
100 IF(
mint(45).EQ.3.OR.
mint(46).EQ.3)
THEN
103 IF(q2mx.LE.q2mne.OR.temx.LT.0.2d0) meev=0
105 IF(
mstp(61).GE.2.AND.mcev.EQ.1.AND.meev.EQ.0)
THEN
110 IF(mcev.EQ.0.AND.meev.EQ.0)
RETURN
133 kfbeam(jt)=
mint(10+jt)
134 IF(
mint(18+jt).EQ.1)kfbeam(jt)=22
139 IF(
mint(31).GE.2) xs(jt)=xs(jt)/
vint(142+jt)
152 IF(xs(jt).LT.1d0-xee)
THEN
154 IF(
mstp(57).LE.1)
THEN
155 CALL
pypdfu(kfbeam(jt),xs(jt),q2s(jt),xfb)
157 CALL
pypdfl(kfbeam(jt),xs(jt),q2s(jt),xfb)
166 IF(kfbeam(jt).NE.22.AND.(kflcb.EQ.4.OR.kflcb.EQ.5))
THEN
167 IF(xs(jt).GT.0.9d0*q2s(jt)/(pmas(kflcb,1)**2+q2s(jt)))
THEN
174 IF(iset(isub).GE.3.AND.iset(isub).LE.5) dsh=
vint(26)*
vint(2)
183 IF(kca.NE.0) kcfi(
i)=kchg(kca,2)*isign(1,kfls(
i))
185 IF(kcfi(
i).NE.0)
THEN
186 IF(
i.EQ.1) ipfs=ipus1
187 IF(
i.EQ.2) ipfs=ipus2
189 icsi=mod(
k(ipfs,3+
j),mstu(5))
190 IF(icsi.GT.0.AND.icsi.NE.ipus1.AND.icsi.NE.ipus2.AND.
191 & (kcfi(
i).EQ.(-1)**(
j+1).OR.kcfi(
i).EQ.2))
THEN
193 thefis(
i,nfis(
i))=
pyangl(
p(icsi,3),sqrt(
p(icsi,1)**2+
195 IF(
i.EQ.2) thefis(
i,nfis(
i))=paru(1)-thefis(
i,nfis(
i))
200 IF(nfis(1)+nfis(2).EQ.0) mfis=0
207 IF(
n.GT.ns+1.AND.q2s(2).GT.q2s(1)) jt=2
208 IF(
n.EQ.ns+2.AND.jt.EQ.jtold) jt=3-jt
209 IF(more(jt).EQ.0) jt=3-jt
221 IF(iabs(kflb).LE.10.OR.kflb.EQ.21)
THEN
224 IF(
xb.GE.1d0-2d0*xec) mcev=0
227 IF(
mint(44+jt).EQ.3)
THEN
229 IF(
xb.GE.1d0-2d0*xee) meev=0
230 IF((iabs(kflb).LE.10.OR.kflb.EQ.21).AND.
xb.GE.1d0-2d0*xec)
233 IF(
mint(18+jt).EQ.1) meev=0
235 IF(iabs(kflb).EQ.24)
THEN
240 IF(
mstp(61).GE.2.AND.mcev.EQ.1.AND.meev.EQ.0.AND.iabs(kflb).LE.10)
242 IF(mcev.EQ.0.AND.meev.EQ.0)
THEN
251 IF(
mstp(62).LE.1)
THEN
252 IF(zs(jt).GT.0.99999d0)
THEN
255 q2b=0.5d0*(1d0/zs(jt)+1d0)*q2s(jt)+0.5d0*(1d0/zs(jt)-1d0)*
256 & (q2s(3-jt)-dsh+sqrt((dsh+q2s(1)+q2s(2))**2+
257 & 8d0*q2s(1)*q2s(2)*zs(jt)/(1d0-zs(jt))))
259 IF(mcev.EQ.1) tevcb=
log(fq2c*q2b/alam(jt)**2)
260 IF(meev.EQ.1) teveb=
log(q2b/spme)
264 tevcb=tevcb+2d0*
log(alam(jt)/paru(117))
266 b0=(33d0-2d0*mstu(118))/6d0
268 IF(meev.EQ.2) teveb=tevcb
273 IF(mfis.GE.1.AND.
n.LE.ns+2)
THEN
276 IF(iabs(kcfi(ifi)).EQ.1.AND.nfis(ifi).EQ.1)
THEN
278 ELSEIF(kcfi(ifi).EQ.2.AND.nfis(ifi).EQ.1)
THEN
279 IF(
pyr(0).GT.0.5d0) isfi(ifi)=1
280 ELSEIF(kcfi(ifi).EQ.2.AND.nfis(ifi).EQ.2)
THEN
282 IF(
pyr(0).GT.0.5d0) isfi(ifi)=2
287 IF(mecor.GE.1) CALL
pymemx(mecor,wtff,wtgf,wtfg,wtgg)
296 IF(iabs(kflb).LE.10)
THEN
297 wtapc(kflb)=(8d0/3d0)*
log((1d0-xec-
xb)*(
xb+xec)/(xec*(1d0-xec)))
298 wtapc(21)=0.5d0*(
xb/(
xb+xec)-
xb/(1d0-xec))
300 IF(mod(iabs(kflb),2).EQ.0) eq2=4d0*eq2
301 IF(meev.EQ.2) wtape(kflb)=2.*eq2*
log((1d0-xec-
xb)*(
xb+xec)/
303 IF(mecor.GE.1.AND.(
n.EQ.ns+1.OR.
n.EQ.ns+2))
THEN
304 wtapc(kflb)=wtff*wtapc(kflb)
305 wtapc(21)=wtgf*wtapc(21)
306 wtape(kflb)=wtff*wtape(kflb)
309 ELSEIF(iabs(kflb).LE.20)
THEN
310 wtapf1=
log((1d0-xee-
xb)*(
xb+xee)/(xee*(1d0-xee)))
311 wtapf2=
log((1d0-xee-
xb)*(1d0-xee)/(xee*(
xb+xee)))
312 wtape(kflb)=2d0*(wtapf1+wtapf2)
313 IF(
mstp(12).GE.1) wtape(22)=
xb/(
xb+xee)-
xb/(1d0-xee)
314 IF(mecor.GE.1.AND.(
n.EQ.ns+1.OR.
n.EQ.ns+2))
THEN
315 wtape(kflb)=wtff*wtape(kflb)
316 wtape(22)=wtgf*wtape(22)
319 ELSEIF(kflb.EQ.21)
THEN
320 wtapq=(16d0/3d0)*(sqrt((1d0-xec)/
xb)-sqrt((
xb+xec)/
xb))
321 DO 180 kfl=1,
mstp(58)
325 wtapc(21)=6d0*
log((1d0-xec-
xb)/xec)
326 IF(mecor.GE.1.AND.(
n.EQ.ns+1.OR.
n.EQ.ns+2))
THEN
327 DO 190 kfl=1,
mstp(58)
328 wtapc(kfl)=wtfg*wtapc(kfl)
329 wtapc(-kfl)=wtfg*wtapc(-kfl)
331 wtapc(21)=wtgg*wtapc(21)
334 ELSEIF(kflb.EQ.22)
THEN
335 wtapf=
log((1d0-xee-
xb)*(1d0-xee)/(xee*(
xb+xee)))/
xb
338 IF(mecor.GE.1.AND.(
n.EQ.ns+1.OR.
n.EQ.ns+2))
THEN
339 wtape(11)=wtfg*wtape(11)
340 wtape(-11)=wtfg*wtape(-11)
342 ELSEIF(kflb.EQ.24)
THEN
343 wtape(-11)=1d0/(4d0*paru(102))*
log((1d0-xee-
xb)*(1d0-xee)/
345 ELSEIF(kflb.EQ.-24)
THEN
346 wtape(11)=1d0/(4d0*paru(102))*
log((1d0-xee-
xb)*(1d0-xee)/
359 xfbo=
max(1d-10,xfb(kflb))
361 wtsf(kfl)=xfb(kfl)/xfbo
362 wtsumc=wtsumc+wtapc(kfl)*wtsf(kfl)
363 wtsume=wtsume+wtape(kfl)*wtsf(kfl)
365 wtsumc=
max(0.0001d0,wtsumc)
366 wtsume=
max(0.0001d0/fwte,wtsume)
371 IF(ntry2.GT.500)
THEN
376 IF(
mstp(64).LE.0)
THEN
377 tevcb=tevcb+
log(
pyr(0))*paru(2)/(paru(111)*wtsumc)
378 ELSEIF(
mstp(64).EQ.1)
THEN
379 tevcb=tevcb*exp(
max(-50d0,
log(
pyr(0))*b0/wtsumc))
381 tevcb=tevcb*exp(
max(-50d0,
log(
pyr(0))*b0/(5d0*wtsumc)))
385 teveb=teveb*exp(
max(-50d0,
log(
pyr(0))*paru(2)/
386 & (paru(101)*fwte*wtsume*temx)))
387 ELSEIF(meev.EQ.2)
THEN
388 teveb=teveb+
log(
pyr(0))*paru(2)/(paru(101)*wtsume)
392 230
IF(mcev.EQ.1) q2cb=alam(jt)**2*exp(
max(-50d0,tevcb))/fq2c
393 IF(meev.EQ.1) q2eb=spme*exp(
max(-50d0,teveb))
394 IF(meev.EQ.2) q2eb=alam(jt)**2*exp(
max(-50d0,teveb))/fq2c
397 IF(kfbeam(jt).NE.22.AND.(kflcb.EQ.4.OR.kflcb.EQ.5).AND.
399 IF(q2cb.LT.pmas(kflcb,1)**2)
THEN
400 q2cb=1.1d0*pmas(kflcb,1)**2
401 tevcb=
log(fq2c*q2b/alam(jt)**2)
402 fcq2mx=min(2d0,1.05d0*fcq2mx)
405 IF(kfbeam(jt).NE.22.AND.(kflcb.EQ.4.OR.kflcb.EQ.5).AND.
407 IF(q2eb.LT.pmas(kflcb,1)**2) meev=0
410 IF(mcev.EQ.0.AND.meev.EQ.0)
THEN
411 ELSEIF(mcev.EQ.1.AND.meev.EQ.0)
THEN
412 IF(q2cb.GT.q2mncs(jt)) mce=1
413 ELSEIF(mcev.EQ.0.AND.meev.EQ.1)
THEN
414 IF(q2eb.GT.q2mne) mce=2
415 ELSEIF(mcev.EQ.0.AND.meev.EQ.2)
THEN
416 IF(q2eb.GT.q2mncs(jt)) mce=2
417 ELSEIF(mcev.EQ.1.AND.meev.EQ.2)
THEN
418 IF(q2cb.GT.q2eb.AND.q2cb.GT.q2mncs(jt)) mce=1
419 IF(q2eb.GT.q2cb.AND.q2eb.GT.q2mncs(jt)) mce=2
420 ELSEIF(q2mncs(jt).GT.q2mne)
THEN
422 IF(q2eb.GT.q2cb.OR.q2cb.LE.q2mncs(jt)) mce=2
423 IF(mce.EQ.2.AND.q2eb.LE.q2mne) mce=0
426 IF(q2cb.GT.q2eb.OR.q2eb.LE.q2mne) mce=1
427 IF(mce.EQ.1.AND.q2cb.LE.q2mncs(jt)) mce=0
434 ELSEIF(mce.EQ.1)
THEN
437 IF(meev.EQ.1) teveb=
log(q2b/spme)
438 IF(meev.EQ.2) teveb=
log(fq2c*q2b/alam(jt)**2)
442 IF(mcev.EQ.1) tevcb=
log(fq2c*q2b/alam(jt)**2)
446 IF(mce.EQ.1) wtran=
pyr(0)*wtsumc
447 IF(mce.EQ.2) wtran=
pyr(0)*wtsume
450 IF(mce.EQ.1) wtran=wtran-wtapc(kfla)*wtsf(kfla)
451 IF(mce.EQ.2) wtran=wtran-wtape(kfla)*wtsf(kfla)
452 IF(kfla.LE.24.AND.wtran.GT.0d0) goto 240
461 IF(iabs(kfla).LE.10.AND.iabs(kflb).LE.10)
THEN
462 z=1d0-((1d0-
xb-xec)/(1d0-xec))*
463 & (xec*(1d0-xec)/((
xb+xec)*(1d0-
xb-xec)))**
pyr(0)
466 ELSEIF(iabs(kfla).LE.10.AND.kflb.EQ.21)
THEN
467 z=
xb/(sqrt(
xb+xec)+
pyr(0)*(sqrt(1d0-xec)-sqrt(
xb+xec)))**2
468 wtz=0.5d0*(1d0+(1d0-
z)**2)*sqrt(
z)
470 ELSEIF(iabs(kfla).LE.20.AND.iabs(kflb).LE.20)
THEN
471 IF(wtapf1.GT.
pyr(0)*(wtapf1+wtapf2))
THEN
472 z=1d0-((1d0-
xb-xee)/(1d0-xee))*
473 & (xee*(1d0-xee)/((
xb+xee)*(1d0-
xb-xee)))**
pyr(0)
475 z=
xb+
xb*(xee/(1d0-xee))*
476 & ((1d0-
xb-xee)*(1d0-xee)/(xee*(
xb+xee)))**
pyr(0)
478 wtz=0.5d0*(1d0+
z**2)*(
z-
xb)/(1d0-
xb)
480 ELSEIF(iabs(kfla).LE.20.AND.kflb.EQ.22)
THEN
481 z=
xb+
xb*(xee/(1d0-xee))*
482 & ((1d0-
xb-xee)*(1d0-xee)/(xee*(
xb+xee)))**
pyr(0)
483 wtz=0.5d0*(1d0+(1d0-
z)**2)*
xb*(
z-
xb)/
z
485 ELSEIF(iabs(kfla).LE.20.AND.iabs(kflb).EQ.24)
THEN
486 z=
xb+
xb*(xee/(1d0-xee))*
487 & ((1d0-
xb-xee)*(1d0-xee)/(xee*(
xb+xee)))**
pyr(0)
488 wtz=0.5d0*(1d0+(1d0-
z)**2)*(
xb*(
z-
xb)/
z)*
489 & (q2b/(q2b+pmas(24,1)**2))
491 ELSEIF(kfla.EQ.21.AND.iabs(kflb).LE.10)
THEN
493 wtz=1d0-2d0*
z*(1d0-
z)
495 ELSEIF(kfla.EQ.21.AND.kflb.EQ.21)
THEN
496 z=1d0/(1d0+((1d0-xec-
xb)/
xb)*(xec/(1d0-xec-
xb))**
pyr(0))
497 wtz=(1d0-
z*(1d0-
z))**2
499 ELSEIF(kfla.EQ.22.AND.iabs(kflb).LE.20)
THEN
501 wtz=1d0-2d0*
z*(1d0-
z)
503 IF(mce.EQ.2.AND.meev.EQ.1) wtz=(wtz/fwte)*(teveb/temx)
507 IF(
mstp(65).GE.1)
THEN
509 IF(kflb.NE.21) rsoft=8d0/3d0
510 z=
z*(tevcb/tevcsv(jt))**(rsoft*xec/((
xb+xec)*b0))
515 IF(
mstp(64).GE.2)
THEN
516 IF((1d0-
z)*q2b.LT.q2mncs(jt)) goto 220
517 alprat=tevcb/(tevcb+
log(1d0-
z))
518 IF(alprat.LT.5d0*
pyr(0)) goto 220
519 IF(alprat.GT.5d0) wtz=wtz*alprat/5d0
524 uhat=q2b-dsh*(1d0-
z)/
z
525 IF(
mstp(68).GE.0.AND.uhat.GT.0d0) goto 220
531 IF(mecor.GE.1.AND.(
n.EQ.ns+1.OR.
n.EQ.ns+2))
THEN
532 IF(iabs(kfla).LE.20.AND.iabs(kflb).LE.20)
THEN
533 CALL
pymewt(mecor,1,q2b,
z,phibr,wtme)
535 ELSEIF((kfla.EQ.21.OR.kfla.EQ.22).AND.iabs(kflb).LE.20)
THEN
536 CALL
pymewt(mecor,2,q2b,
z,phibr,wtme)
538 ELSEIF(iabs(kfla).LE.20.AND.(kflb.EQ.21.OR.kflb.EQ.22))
THEN
539 CALL
pymewt(mecor,3,q2b,
z,phibr,wtme)
541 ELSEIF(kfla.EQ.21.AND.kflb.EQ.21)
THEN
542 CALL
pymewt(mecor,4,q2b,
z,phibr,wtme)
550 IF(mfis.GE.1.AND.
n.LE.ns+2.AND.ntry2.LT.200)
THEN
551 the2d=(4d0*q2b)/(dsh*(1d0-
z))
552 IF(
n.EQ.ns+1.AND.isfi(1).GE.1)
THEN
553 IF(the2d.GT.thefis(1,isfi(1))**2) goto 220
554 ELSEIF(
n.EQ.ns+2.AND.isfi(2).GE.1)
THEN
555 IF(the2d.GT.thefis(2,isfi(2))**2) goto 220
560 IF(
mstp(62).GE.3.AND.ntry2.LT.200)
THEN
561 the2t=(4d0*
z**2*q2b)/(4d0*
z**2*q2b+(1d0-
z)*
xb**2*vint2r)
562 IF(the2t.GT.the2(jt)) goto 220
571 IF(
mstp(57).LE.1)
THEN
572 CALL
pypdfu(kfbeam(jt),
xb,q2ref,xfn)
574 CALL
pypdfl(kfbeam(jt),
xb,q2ref,xfn)
577 IF(xfbn.LT.1d-20)
THEN
578 IF(kfla.EQ.kflb)
THEN
584 ELSEIF(mce.EQ.1.AND.tevcbs-tevcb.GT.0.2d0)
THEN
585 tevcb=0.5d0*(tevcbs+tevcb)
587 ELSEIF(mce.EQ.2.AND.tevebs-teveb.GT.0.2d0)
THEN
588 teveb=0.5d0*(tevebs+teveb)
600 IF(
mstp(57).LE.1)
THEN
601 CALL
pypdfu(kfbeam(jt),xa,q2ref,xfa)
603 CALL
pypdfl(kfbeam(jt),xa,q2ref,xfa)
606 IF(xfan.LT.1d-20) goto 200
608 IF(wtz*xfan/xfbn.LT.
pyr(0)*wtsfa) goto 200
611 260
IF(
n.EQ.ns+2)
THEN
613 dplcm=sqrt((dsh+dq2(1)+dq2(2))**2-4d0*dq2(1)*dq2(2))/dshr
616 IF(jr.EQ.1) ipo=ipus1
617 IF(jr.EQ.2) ipo=ipus2
627 p(
i,3)=dplcm*(-1)**(jr+1)
628 p(
i,4)=(dsh+dq2(3-jr)-dq2(jr))/dshr
629 p(
i,5)=-sqrt(dq2(jr))
632 k(ipo,4)=mod(
k(ipo,4),mstu(5))+mstu(5)*
i
633 k(ipo,5)=mod(
k(ipo,5),mstu(5))+mstu(5)*
i
637 ELSEIF(
n.GT.ns+2)
THEN
642 dpc(3)=0.5d0*(abs(
p(is(1),3))+abs(
p(is(2),3)))
643 dpd(1)=dsh+dq2(jr)+dq2(jt)
644 dpd(2)=dshz+dq2(jr)+dq2(3)
645 dpd(3)=sqrt(dpd(1)**2-4d0*dq2(jr)*dq2(jt))
646 dpd(4)=sqrt(dpd(2)**2-4d0*dq2(jr)*dq2(3))
648 IF(q2s(jr).GE.0.25d0*q2mnc.AND.dpd(1)-dpd(3).GE.
649 & 1d-10*dpd(1)) ikin=1
650 IF(ikin.EQ.0) dmsma=(dq2(jt)/zs(jt)-dq2(3))*
651 & (dsh/(dsh+dq2(jt))-dsh/(dshz+dq2(3)))
652 IF(ikin.EQ.1) dmsma=(dpd(1)*dpd(2)-dpd(3)*dpd(4))/
653 & (2d0*dq2(jr))-dq2(jt)-dq2(3)
663 IF(iabs(kflb).LE.20.AND.iabs(kfls(jt+2)).LE.20)
THEN
665 IF(mcesv(jt).EQ.2.OR.iabs(kflb).GE.11)
k(
it,2)=22
667 ELSEIF(iabs(kflb).LE.20.AND.iabs(kfls(jt+2)).GT.20)
THEN
669 IF(kfls(jt+2).EQ.24)
THEN
671 ELSEIF(kfls(jt+2).EQ.-24)
THEN
677 IF(kfls(jt+2).GT.20)
k(
it,2)=kfls(jt+2)
680 IF((iabs(
k(
it,2)).GE.11.AND.iabs(
k(
it,2)).LE.18).OR.
681 & iabs(
k(
it,2)).EQ.22)
k(
it,1)=1
683 IF(dmsma.LE.
p(
it,5)**2) goto 100
684 IF(
mstp(63).GE.1.AND.mcesv(jt).EQ.1)
THEN
687 p(
it,4)=(dshz-dsh-
p(
it,5)**2)/dshr
689 IF(
mstp(63).EQ.1)
THEN
691 ELSEIF(
mstp(63).EQ.2)
THEN
692 q2tim=min(dmsma,
parp(71)*q2s(jt))
696 IF(ikin.EQ.0) dpt2=dmsma*(dshz+dq2(3))/(dsh+dq2(jt))
697 IF(ikin.EQ.1) dpt2=dmsma*(0.5d0*dpd(1)*dpd(2)+0.5d0*dpd(3)*
698 & dpd(4)-dq2(jr)*(dq2(jt)+dq2(3)))/(4d0*dsh*dpc(3)**2)
699 parj(85)=sqrt(
max(0d0,dpt2))*
700 & (1d0/
p(
it,4)+1d0/
p(is(jt),4))
710 IF(ikin.EQ.0) dpt2=(dmsma-dms)*(dshz+dq2(3))/(dsh+dq2(jt))
711 IF(ikin.EQ.1) dpt2=(dmsma-dms)*(0.5d0*dpd(1)*dpd(2)+
712 & 0.5d0*dpd(3)*dpd(4)-dq2(jr)*(dq2(jt)+dq2(3)+dms))/
713 & (4d0*dsh*dpc(3)**2)
714 IF(dpt2.LT.0d0) goto 100
715 dpb(1)=(0.5d0*dpd(2)-dpc(jr)*(dshz+dq2(jr)-dq2(jt)-dms)/
716 & dshr)/dpc(3)-dpc(3)
718 p(
it,3)=dpb(1)*(-1)**(jt+1)
719 p(
it,4)=sqrt(dpt2+dpb(1)**2+dms)
721 dpb(1)=sqrt(dpb(1)**2+dpt2)
722 dpb(2)=sqrt(dpb(1)**2+dms)
724 dpb(4)=sqrt(dpb(3)**2+dms)
725 dbez=(dpb(4)*dpb(1)-dpb(3)*dpb(2))/(dpb(4)*dpb(2)-dpb(3)*
741 p(
n+1,3)=
p(
it,3)+
p(is(jt),3)
742 p(
n+1,4)=
p(
it,4)+
p(is(jt),4)
743 p(
n+1,5)=-sqrt(dq2(3))
751 IF(iabs(
k(
it,2)).GE.22)
THEN
756 ELSEIF(iabs(
k(is(jt),2)).GE.22)
THEN
760 ELSEIF(
k(
n+1,2).EQ.22)
THEN
766 ELSEIF(
k(
n+1,2).GT.0.AND.
k(
n+1,2).NE.21.AND.
k(
it,2).EQ.21)
THEN
770 ELSEIF(
k(
n+1,2).GT.0.AND.
k(
n+1,2).NE.21)
THEN
774 ELSEIF(
k(
n+1,2).LT.0.AND.
k(
it,2).EQ.21)
THEN
778 ELSEIF(
k(
n+1,2).LT.0)
THEN
782 ELSEIF((
k(
it,2).EQ.21.AND.
pyr(0).GT.0.5d0).OR.
k(
it,2).LT.0)
THEN
789 IF(im1.EQ.
n+1)
k(im1,4)=
k(im1,4)+id1
790 IF(im2.EQ.
n+1)
k(im2,5)=
k(im2,5)+id2
791 k(id1,4)=
k(id1,4)+mstu(5)*im1
792 k(id2,5)=
k(id2,5)+mstu(5)*im2
794 k(id1,5)=
k(id1,5)+mstu(5)*id2
795 k(id2,4)=
k(id2,4)+mstu(5)*id1
798 IF(
k(
it,1).EQ.1)
THEN
804 dbsvx=(
p(
n,1)+
p(is(jr),1))/(
p(
n,4)+
p(is(jr),4))
805 dbsvz=(
p(
n,3)+
p(is(jr),3))/(
p(
n,4)+
p(is(jr),4))
806 IF(dbsvx**2+dbsvz**2.GE.1d0) goto 100
807 CALL
pyrobo(ns+1,
n,0d0,0d0,-dbsvx,0d0,-dbsvz)
808 ir=
n+(jt-1)*(is(1)-
n)
821 IF(
mstp(62).GE.3.AND.ntry2.LT.200) the2(jt)=the2t
828 IF((mcev.EQ.1.AND.q2b.GE.0.25d0*q2mnc).OR.
829 &(meev.EQ.1.AND.q2b.GE.q2mne))
THEN
844 IF(
n.GT.mstu(4)-mstu(32)-10)
THEN
845 CALL
pyerrm(11,
'(PYSSPA:) no more memory left in PYJETS')
846 IF(mstu(21).GE.1)
n=ns
847 IF(mstu(21).GE.1)
RETURN
849 IF(more(1).EQ.1.OR.more(2).EQ.1) goto 150
853 robo(
j+2)=(
p(ns+1,
j)+
p(ns+2,
j))/(
p(ns+1,4)+
p(ns+2,4))
859 CALL
pyrobo(
n+2,
n+2,0d0,0d0,-robo(3),-robo(4),-robo(5))
863 IF(
mint(31).GE.2) imin=min(ipus1,ipus2)
864 CALL
pyrobo(imin,ns,0d0,-robo(2),0d0,0d0,0d0)
865 CALL
pyrobo(imin,ns,robo(1),robo(2),robo(3),robo(4),robo(5))
868 IF(
mint(31).LE.1)
THEN