12 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
16 parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
17 &kexcit=4000000,kdimen=5000000)
20 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
21 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
22 common/
pysubs/msel,mselpd,msub(500),kfin(2,-40:40),ckin(200)
37 IF(
mint(107).EQ.4) iside=2
40 DO 110 jt=1,
mstp(126)+20
65 IF(
mint(15).EQ.22)
THEN
82 sidesg=(-1d0)**(iside-1)
119 p(ipu3,3)=
p(ipu1,3)+
p(ipu2,3)
120 p(ipu3,4)=
p(ipu1,4)+
p(ipu2,4)
134 190
IF(
mint(40+iside).EQ.2.AND.
mint(10+iside).NE.22)
THEN
135 IF(
mstp(91).LE.0)
THEN
137 ELSEIF(
mstp(91).EQ.1)
THEN
144 IF(
pt.GT.
parp(93)) goto 190
145 ELSEIF(
mint(106+iside).EQ.3)
THEN
146 pta=sqrt(
vint(282+iside))
148 IF(
mstp(66).EQ.5.AND.
mstp(93).EQ.1)
THEN
150 ELSEIF(
mstp(66).EQ.5.AND.
mstp(93).EQ.2)
THEN
155 IF(ptb.GT.
parp(100)) goto 190
156 pt=sqrt(pta**2+ptb**2+2d0*pta*ptb*cos(paru(2)*
pyr(0)))
158 ELSEIF(iabs(
mint(14+iside)).LE.8.OR.
mint(14+iside).EQ.21)
THEN
159 IF(
mstp(93).LE.0)
THEN
161 ELSEIF(
mstp(93).EQ.1)
THEN
163 ELSEIF(
mstp(93).EQ.2)
THEN
167 ELSEIF(
mstp(93).EQ.3)
THEN
170 pt=sqrt(
max(0d0,ha*(ha+hb)/(ha+hb-
pyr(0)*hb)-ha))
175 pt=sqrt(
max(0d0,ha*((ha+hb)/ha)**
pyr(0)-ha))
177 IF(
pt.GT.
parp(100)) goto 190
185 p(ipu3,4)=sqrt(
p(ipu3,5)**2+
pt**2+
p(ipu3,3)**2)
186 pms(3-iside)=
p(ipu3,5)**2+
p(ipu3,1)**2+
p(ipu3,2)**2
187 pcp=
p(ipu3,4)+abs(
p(ipu3,3))
193 IF(
mint(51).NE.0)
THEN
204 kcol=kchg(
pycomp(kflsp),2)
207 kfls=(3-kcol*isign(1,kflsp))/2
208 k(
i,kfls+3)=mstu(5)*ipu3
209 k(ipu3,6-kfls)=mstu(5)*
i
215 pms(iside)=
p(
i,5)**2+
p(
i,1)**2+
p(
i,2)**2
217 p(
i,4)=sqrt(pms(iside)+
p(
i,3)**2)
218 prp=
p(
i,4)+abs(
p(
i,3))
227 kcol=kchg(
pycomp(kflch),2)
230 kfls=(3-kcol*isign(1,kflch))/2
231 k(
i,kfls+3)=mstu(5)*ipu3
232 k(ipu3,6-kfls)=mstu(5)*
i
240 p(
i-1,1)=
p(
i-1,1)-0.5d0*
p(ipu3,1)
241 p(
i-1,2)=
p(
i-1,2)-0.5d0*
p(ipu3,2)
242 pms(3)=
p(
i-1,5)**2+
p(
i-1,1)**2+
p(
i-1,2)**2
243 p(
i,1)=-
p(ipu3,1)-
p(
i-1,1)
244 p(
i,2)=-
p(ipu3,2)-
p(
i-1,2)
245 pms(4)=
p(
i,5)**2+
p(
i,1)**2+
p(
i,2)**2
249 IF(mod(
mint(10+iside)/1000,10).NE.0) imb=2
250 IF(
mstp(94).LE.1)
THEN
251 IF(imb.EQ.1) chi=
pyr(0)
252 IF(imb.EQ.2) chi=1d0-sqrt(
pyr(0))
253 IF(mod(kflch/1000,10).NE.0) chi=1d0-chi
254 ELSEIF(
mstp(94).EQ.2)
THEN
255 chi=1d0-
pyr(0)**(1d0/(1d0+
parp(93+2*imb)))
256 IF(mod(kflch/1000,10).NE.0) chi=1d0-chi
257 ELSEIF(
mstp(94).EQ.3)
THEN
258 CALL
pyzdis(1,0,pms(4),zz)
261 CALL
pyzdis(1000,0,pms(4),zz)
266 chi=
max(1d-8,min(1d0-1d-8,chi))
267 pms(iside)=pms(4)/chi+pms(3)/(1d0-chi)
268 IF(pms(iside).GT.
p(ipu3,4)**2)
THEN
269 IF(loop.LT.10) goto 200
275 prp=sqrt(pms(iside)+
p(ipu3,3)**2)+abs(
p(ipu3,3))
277 p(
i-1,4)=0.5d0*(pw1+pms(3)/pw1)
278 p(
i-1,3)=0.5d0*(pw1-pms(3)/pw1)*sidesg
280 p(
i,4)=0.5d0*(pw2+pms(4)/pw2)
281 p(
i,3)=0.5d0*(pw2-pms(4)/pw2)*sidesg
286 IF(sqrt(pms(1))+sqrt(pms(2)).GT.0.99d0*
vint(1)) goto 180
287 dsqlam=sqrt(
max(0d0,(
vint(2)-pms(1)-pms(2))**2-4d0*pms(1)*pms(2)))
288 drkc=(
vint(2)+pms(3-iside)-pms(iside)+dsqlam)/
290 drkr=(
vint(2)+pms(iside)-pms(3-iside)+dsqlam)/
292 dbec=-sidesg*(drkc**2-1d0)/(drkc**2+1d0)
293 dber=sidesg*(drkr**2-1d0)/(drkr**2+1d0)
294 CALL
pyrobo(ipu3,ipu3,0d0,0d0,0d0,0d0,dbec)
295 CALL
pyrobo(ipu3+1,
n,0d0,0d0,0d0,0d0,dber)
298 qmax=2d0*sqrt(
vint(309-iside))
303 IF(
mstp(71).EQ.1) CALL
pyshow(ipu3,icolr,qmax)