File indexing completed on 2025-08-05 08:21:15
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 SUBROUTINE PYRECO(IW1,IW2,NSD1,NAFT1)
0013
0014
0015 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0016 IMPLICIT INTEGER(I-N)
0017 INTEGER PYK,PYCHGE,PYCOMP
0018
0019 PARAMETER (NPT=100)
0020
0021 COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5)
0022 COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0023 COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0024 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
0025 COMMON/PYINT1/MINT(400),VINT(400)
0026 SAVE /PYJETS/,/PYDAT1/,/PYDAT2/,/PYPARS/,/PYINT1/
0027
0028 DIMENSION NBEG(2),NEND(2),INP(50),INM(50),BEWW(3),XP(3),XM(3),
0029 &V1(3),V2(3),BETP(50,4),DIRP(50,3),BETM(50,4),DIRM(50,3),
0030 &XD(4),XB(4),IAP(NPT),IAM(NPT),WTA(NPT),V1P(3),V2P(3),V1M(3),
0031 &V2M(3),Q(4,3),XPP(3),XMM(3),IPC(20),IMC(20),TC(0:20),TPC(20),
0032 &TMC(20),IJOIN(100)
0033
0034
0035 FOUR(I,J)=P(I,4)*P(J,4)-P(I,1)*P(J,1)-P(I,2)*P(J,2)-P(I,3)*P(J,3)
0036 DETER(I,J,L)=Q(I,1)*Q(J,2)*Q(L,3)-Q(I,1)*Q(L,2)*Q(J,3)+
0037 &Q(J,1)*Q(L,2)*Q(I,3)-Q(J,1)*Q(I,2)*Q(L,3)+
0038 &Q(L,1)*Q(I,2)*Q(J,3)-Q(L,1)*Q(J,2)*Q(I,3)
0039
0040
0041
0042 IF(MSTP(115).EQ.5.OR.MSTP(115).EQ.11.OR.MSTP(115).EQ.12) THEN
0043 IF(PYR(0).GT.PARP(120)) RETURN
0044 ENDIF
0045 ISUB=MINT(1)
0046
0047
0048 IF(MSTP(115).EQ.1.OR.MSTP(115).EQ.2.OR.MSTP(115).EQ.3.OR.
0049 &MSTP(115).EQ.5) THEN
0050
0051
0052 PI=PARU(1)
0053 HBAR=PARU(3)
0054 PMW=PMAS(24,1)
0055 IF(ISUB.EQ.22) PMW=PMAS(23,1)
0056 PGW=PMAS(24,2)
0057 IF(ISUB.EQ.22) PGW=PMAS(23,2)
0058 TFRAG=PARP(115)
0059 RHAD=PARP(116)
0060 FACT=PARP(117)
0061 BLOWR=PARP(118)
0062 BLOWT=PARP(119)
0063
0064
0065
0066
0067
0068
0069 IF(NAFT1.GT.NSD1+4) THEN
0070 NBEG(1)=NSD1+5
0071 NEND(1)=NAFT1
0072 ELSE
0073 NBEG(1)=NSD1+1
0074 NEND(1)=NSD1+2
0075 ENDIF
0076 IF(N.GT.NAFT1) THEN
0077 NBEG(2)=NAFT1+1
0078 NEND(2)=N
0079 ELSE
0080 NBEG(2)=NSD1+3
0081 NEND(2)=NSD1+4
0082 ENDIF
0083
0084
0085 NOLD=N
0086 CALL PYPREP(NSD1+1)
0087 IF(MINT(51).NE.0) RETURN
0088
0089
0090
0091 NNP=0
0092 NNM=0
0093 ISGP=0
0094 ISGM=0
0095 DO 120 I=NOLD+1,N
0096 IF(K(I,1).NE.1.AND.K(I,1).NE.2) GOTO 120
0097 IF(IABS(K(I,2)).GE.22) GOTO 120
0098 IF(K(I,3).GE.NBEG(1).AND.K(I,3).LE.NEND(1)) THEN
0099 IF(ISGP.EQ.0) ISGP=ISIGN(1,K(I,2))
0100 NNP=NNP+1
0101 IF(ISGP.EQ.1) THEN
0102 INP(NNP)=I
0103 ELSE
0104 DO 100 I1=NNP,2,-1
0105 INP(I1)=INP(I1-1)
0106 100 CONTINUE
0107 INP(1)=I
0108 ENDIF
0109 IF(K(I,1).EQ.1) ISGP=0
0110 ELSEIF(K(I,3).GE.NBEG(2).AND.K(I,3).LE.NEND(2)) THEN
0111 IF(ISGM.EQ.0) ISGM=ISIGN(1,K(I,2))
0112 NNM=NNM+1
0113 IF(ISGM.EQ.1) THEN
0114 INM(NNM)=I
0115 ELSE
0116 DO 110 I1=NNM,2,-1
0117 INM(I1)=INM(I1-1)
0118 110 CONTINUE
0119 INM(1)=I
0120 ENDIF
0121 IF(K(I,1).EQ.1) ISGM=0
0122 ENDIF
0123 120 CONTINUE
0124
0125
0126 DO 130 J=1,3
0127 BEWW(J)=(P(IW1,J)+P(IW2,J))/(P(IW1,4)+P(IW2,4))
0128 130 CONTINUE
0129 CALL PYROBO(IW1,IW1,0D0,0D0,-BEWW(1),-BEWW(2),-BEWW(3))
0130 CALL PYROBO(IW2,IW2,0D0,0D0,-BEWW(1),-BEWW(2),-BEWW(3))
0131 CALL PYROBO(NOLD+1,N,0D0,0D0,-BEWW(1),-BEWW(2),-BEWW(3))
0132
0133
0134 TP=HBAR*(-LOG(PYR(0)))*P(IW1,4)/
0135 & SQRT((P(IW1,5)**2-PMW**2)**2+(P(IW1,5)**2*PGW/PMW)**2)
0136 TM=HBAR*(-LOG(PYR(0)))*P(IW2,4)/
0137 & SQRT((P(IW2,5)**2-PMW**2)**2+(P(IW2,5)**2*PGW/PMW)**2)
0138 GTMAX=MAX(TP,TM)
0139 DO 140 J=1,3
0140 XP(J)=TP*P(IW1,J)/P(IW1,4)
0141 XM(J)=TM*P(IW2,J)/P(IW2,4)
0142 140 CONTINUE
0143
0144
0145 IF(MSTP(115).EQ.1) THEN
0146
0147
0148 DO 170 IIP=1,NNP-1
0149 IF(K(INP(IIP),2).LT.0) GOTO 170
0150 I1=INP(IIP)
0151 I2=INP(IIP+1)
0152 P1A=SQRT(P(I1,1)**2+P(I1,2)**2+P(I1,3)**2)
0153 P2A=SQRT(P(I2,1)**2+P(I2,2)**2+P(I2,3)**2)
0154 DO 150 J=1,3
0155 V1(J)=P(I1,J)/P1A
0156 V2(J)=P(I2,J)/P2A
0157 BETP(IIP,J)=0.5D0*(V1(J)+V2(J))
0158 DIRP(IIP,J)=V1(J)-V2(J)
0159 150 CONTINUE
0160 BETP(IIP,4)=1D0/SQRT(1D0-BETP(IIP,1)**2-BETP(IIP,2)**2-
0161 & BETP(IIP,3)**2)
0162 DIRL=SQRT(DIRP(IIP,1)**2+DIRP(IIP,2)**2+DIRP(IIP,3)**2)
0163 DO 160 J=1,3
0164 DIRP(IIP,J)=DIRP(IIP,J)/DIRL
0165 160 CONTINUE
0166 170 CONTINUE
0167
0168
0169 DO 200 IIM=1,NNM-1
0170 IF(K(INM(IIM),2).LT.0) GOTO 200
0171 I1=INM(IIM)
0172 I2=INM(IIM+1)
0173 P1A=SQRT(P(I1,1)**2+P(I1,2)**2+P(I1,3)**2)
0174 P2A=SQRT(P(I2,1)**2+P(I2,2)**2+P(I2,3)**2)
0175 DO 180 J=1,3
0176 V1(J)=P(I1,J)/P1A
0177 V2(J)=P(I2,J)/P2A
0178 BETM(IIM,J)=0.5D0*(V1(J)+V2(J))
0179 DIRM(IIM,J)=V1(J)-V2(J)
0180 180 CONTINUE
0181 BETM(IIM,4)=1D0/SQRT(1D0-BETM(IIM,1)**2-BETM(IIM,2)**2-
0182 & BETM(IIM,3)**2)
0183 DIRL=SQRT(DIRM(IIM,1)**2+DIRM(IIM,2)**2+DIRM(IIM,3)**2)
0184 DO 190 J=1,3
0185 DIRM(IIM,J)=DIRM(IIM,J)/DIRL
0186 190 CONTINUE
0187 200 CONTINUE
0188
0189
0190 NACC=0
0191 SUM=0D0
0192 DO 250 IPT=1,NPT
0193
0194
0195 R=SQRT(-LOG(PYR(0)))
0196 PHI=2D0*PI*PYR(0)
0197 X=BLOWR*RHAD*R*COS(PHI)
0198 Y=BLOWR*RHAD*R*SIN(PHI)
0199 R=SQRT(-LOG(PYR(0)))
0200 PHI=2D0*PI*PYR(0)
0201 Z=BLOWR*RHAD*R*COS(PHI)
0202 T=GTMAX+BLOWT*SQRT(0.5D0)*TFRAG*R*ABS(SIN(PHI))
0203
0204
0205 IF(T**2-X**2-Y**2-Z**2.LT.0D0) GOTO 250
0206 WTSMP=EXP(-(X**2+Y**2+Z**2)/(BLOWR*RHAD)**2)*
0207 & EXP(-2D0*(T-GTMAX)**2/(BLOWT*TFRAG)**2)
0208
0209
0210 IMAXP=0
0211 WTMAXP=1D-10
0212 XD(1)=X-XP(1)
0213 XD(2)=Y-XP(2)
0214 XD(3)=Z-XP(3)
0215 XD(4)=T-TP
0216 DO 220 IIP=1,NNP-1
0217 IF(K(INP(IIP),2).LT.0) GOTO 220
0218 BED=BETP(IIP,1)*XD(1)+BETP(IIP,2)*XD(2)+BETP(IIP,3)*XD(3)
0219 BEDG=BETP(IIP,4)*(BETP(IIP,4)*BED/(1D0+BETP(IIP,4))-XD(4))
0220 DO 210 J=1,3
0221 XB(J)=XD(J)+BEDG*BETP(IIP,J)
0222 210 CONTINUE
0223 XB(4)=BETP(IIP,4)*(XD(4)-BED)
0224 SR2=XB(1)**2+XB(2)**2+XB(3)**2
0225 SZ2=(DIRP(IIP,1)*XB(1)+DIRP(IIP,2)*XB(2)+
0226 & DIRP(IIP,3)*XB(3))**2
0227 WTP=EXP(-(SR2-SZ2)/(2D0*RHAD**2))*EXP(-(XB(4)**2-SZ2)/
0228 & TFRAG**2)
0229 IF(XB(4)-SQRT(SR2).LT.0D0) WTP=0D0
0230 IF(WTP.GT.WTMAXP) THEN
0231 IMAXP=IIP
0232 WTMAXP=WTP
0233 ENDIF
0234 220 CONTINUE
0235
0236
0237 IMAXM=0
0238 WTMAXM=1D-10
0239 XD(1)=X-XM(1)
0240 XD(2)=Y-XM(2)
0241 XD(3)=Z-XM(3)
0242 XD(4)=T-TM
0243 DO 240 IIM=1,NNM-1
0244 IF(K(INM(IIM),2).LT.0) GOTO 240
0245 BED=BETM(IIM,1)*XD(1)+BETM(IIM,2)*XD(2)+BETM(IIM,3)*XD(3)
0246 BEDG=BETM(IIM,4)*(BETM(IIM,4)*BED/(1D0+BETM(IIM,4))-XD(4))
0247 DO 230 J=1,3
0248 XB(J)=XD(J)+BEDG*BETM(IIM,J)
0249 230 CONTINUE
0250 XB(4)=BETM(IIM,4)*(XD(4)-BED)
0251 SR2=XB(1)**2+XB(2)**2+XB(3)**2
0252 SZ2=(DIRM(IIM,1)*XB(1)+DIRM(IIM,2)*XB(2)+
0253 & DIRM(IIM,3)*XB(3))**2
0254 WTM=EXP(-(SR2-SZ2)/(2D0*RHAD**2))*EXP(-(XB(4)**2-SZ2)/
0255 & TFRAG**2)
0256 IF(XB(4)-SQRT(SR2).LT.0D0) WTM=0D0
0257 IF(WTM.GT.WTMAXM) THEN
0258 IMAXM=IIM
0259 WTMAXM=WTM
0260 ENDIF
0261 240 CONTINUE
0262
0263
0264 WT=0D0
0265 IF(IMAXP.NE.0.AND.IMAXM.NE.0) THEN
0266 WT=WTMAXP*WTMAXM/WTSMP
0267 SUM=SUM+WT
0268 NACC=NACC+1
0269 IAP(NACC)=IMAXP
0270 IAM(NACC)=IMAXM
0271 WTA(NACC)=WT
0272 ENDIF
0273 250 CONTINUE
0274 RES=BLOWR**3*BLOWT*SUM/NPT
0275
0276
0277 IACC=0
0278 PREC=1D0-EXP(-FACT*RES)
0279 IF(PREC.GT.PYR(0)) THEN
0280 RSUM=PYR(0)*SUM
0281 DO 260 IA=1,NACC
0282 IACC=IA
0283 RSUM=RSUM-WTA(IA)
0284 IF(RSUM.LE.0D0) GOTO 270
0285 260 CONTINUE
0286 270 IIP=IAP(IACC)
0287 IIM=IAM(IACC)
0288 ENDIF
0289
0290
0291 ELSEIF(MSTP(115).EQ.2.OR.MSTP(115).EQ.3) THEN
0292
0293
0294 NCROSS=0
0295 TC(0)=0D0
0296 DO 340 IIP=1,NNP-1
0297 IF(K(INP(IIP),2).LT.0) GOTO 340
0298 I1P=INP(IIP)
0299 I2P=INP(IIP+1)
0300 DO 330 IIM=1,NNM-1
0301 IF(K(INM(IIM),2).LT.0) GOTO 330
0302 I1M=INM(IIM)
0303 I2M=INM(IIM+1)
0304
0305
0306 DO 280 J=1,3
0307 V1P(J)=P(I1P,J)/P(I1P,4)
0308 V2P(J)=P(I2P,J)/P(I2P,4)
0309 V1M(J)=P(I1M,J)/P(I1M,4)
0310 V2M(J)=P(I2M,J)/P(I2M,4)
0311 280 CONTINUE
0312
0313
0314 DO 290 J=1,3
0315 Q(1,J)=V2P(J)-V1P(J)
0316 Q(2,J)=-(V2M(J)-V1M(J))
0317 Q(3,J)=XP(J)-XM(J)-TP*V1P(J)+TM*V1M(J)
0318 Q(4,J)=V1P(J)-V1M(J)
0319 290 CONTINUE
0320 T=-DETER(1,2,3)/DETER(1,2,4)
0321
0322
0323 S11=Q(1,1)*(T-TP)
0324 S12=Q(2,1)*(T-TM)
0325 S13=Q(3,1)+Q(4,1)*T
0326 S21=Q(1,2)*(T-TP)
0327 S22=Q(2,2)*(T-TM)
0328 S23=Q(3,2)+Q(4,2)*T
0329 DEN=S11*S22-S12*S21
0330 ALP=(S12*S23-S22*S13)/DEN
0331 BET=(S21*S13-S11*S23)/DEN
0332
0333
0334 IANSW=1
0335 IF(T.LT.GTMAX) IANSW=0
0336 IF(ALP.LT.0D0.OR.ALP.GT.1D0) IANSW=0
0337 IF(BET.LT.0D0.OR.BET.GT.1D0) IANSW=0
0338
0339
0340 DO 300 J=1,3
0341 XPP(J)=XP(J)+(V1P(J)+ALP*(V2P(J)-V1P(J)))*(T-TP)
0342 XMM(J)=XM(J)+(V1M(J)+BET*(V2M(J)-V1M(J)))*(T-TM)
0343 300 CONTINUE
0344 D2PM=(XPP(1)-XMM(1))**2+(XPP(2)-XMM(2))**2+
0345 & (XPP(3)-XMM(3))**2
0346 D2P=XPP(1)**2+XPP(2)**2+XPP(3)**2
0347 D2M=XMM(1)**2+XMM(2)**2+XMM(3)**2
0348 IF(D2PM.GT.1D-4*(D2P+D2M)) IANSW=-1
0349
0350
0351 IF(IANSW.EQ.1) THEN
0352 TAUP=SQRT(MAX(0D0,(T-TP)**2-(XPP(1)-XP(1))**2-
0353 & (XPP(2)-XP(2))**2-(XPP(3)-XP(3))**2))
0354 TAUM=SQRT(MAX(0D0,(T-TM)**2-(XMM(1)-XM(1))**2-
0355 & (XMM(2)-XM(2))**2-(XMM(3)-XM(3))**2))
0356 ELSE
0357 TAUP=0D0
0358 TAUM=0D0
0359 ENDIF
0360
0361
0362 IF(IANSW.EQ.1.AND.NCROSS.LT.20) THEN
0363 NCROSS=NCROSS+1
0364 DO 310 I1=NCROSS,1,-1
0365 IF(T.GT.TC(I1-1).OR.I1.EQ.1) THEN
0366 IPC(I1)=IIP
0367 IMC(I1)=IIM
0368 TC(I1)=T
0369 TPC(I1)=TAUP
0370 TMC(I1)=TAUM
0371 GOTO 320
0372 ELSE
0373 IPC(I1)=IPC(I1-1)
0374 IMC(I1)=IMC(I1-1)
0375 TC(I1)=TC(I1-1)
0376 TPC(I1)=TPC(I1-1)
0377 TMC(I1)=TMC(I1-1)
0378 ENDIF
0379 310 CONTINUE
0380 320 CONTINUE
0381 ENDIF
0382 330 CONTINUE
0383 340 CONTINUE
0384
0385
0386 IACC=0
0387 IF(NCROSS.GE.1) THEN
0388 DO 350 IC=1,NCROSS
0389 PNFRAG=EXP(-(TPC(IC)**2+TMC(IC)**2)/TFRAG**2)
0390 IF(PNFRAG.GT.PYR(0)) THEN
0391
0392 IF(MSTP(115).EQ.2) THEN
0393 IACC=IC
0394 IIP=IPC(IACC)
0395 IIM=IMC(IACC)
0396 GOTO 360
0397
0398 ELSE
0399 IIP=IPC(IC)
0400 IIM=IMC(IC)
0401 I1P=INP(IIP)
0402 I2P=INP(IIP+1)
0403 I1M=INM(IIM)
0404 I2M=INM(IIM+1)
0405 ELOLD=FOUR(I1P,I2P)*FOUR(I1M,I2M)
0406 ELNEW=FOUR(I1P,I2M)*FOUR(I1M,I2P)
0407 IF(ELNEW.LT.ELOLD) THEN
0408 IACC=IC
0409 IIP=IPC(IACC)
0410 IIM=IMC(IACC)
0411 GOTO 360
0412 ENDIF
0413 ENDIF
0414 ENDIF
0415 350 CONTINUE
0416 360 CONTINUE
0417 ENDIF
0418
0419
0420 ELSEIF(MSTP(115).EQ.5) THEN
0421
0422
0423 IACC=0
0424 ELMIN=1D0
0425 DO 380 IIP=1,NNP-1
0426 IF(K(INP(IIP),2).LT.0) GOTO 380
0427 I1P=INP(IIP)
0428 I2P=INP(IIP+1)
0429 DO 370 IIM=1,NNM-1
0430 IF(K(INM(IIM),2).LT.0) GOTO 370
0431 I1M=INM(IIM)
0432 I2M=INM(IIM+1)
0433
0434
0435 ELOLD=FOUR(I1P,I2P)*FOUR(I1M,I2M)
0436 ELNEW=FOUR(I1P,I2M)*FOUR(I1M,I2P)
0437 ELDIF=ELNEW/MAX(1D-10,ELOLD)
0438 IF(ELDIF.LT.ELMIN) THEN
0439 IACC=IIP+IIM
0440 ELMIN=ELDIF
0441 IPC(1)=IIP
0442 IMC(1)=IIM
0443 ENDIF
0444 370 CONTINUE
0445 380 CONTINUE
0446 IIP=IPC(1)
0447 IIM=IMC(1)
0448 ENDIF
0449
0450
0451 IF(IACC.NE.0) THEN
0452 MINT(32)=1
0453 NJOIN=0
0454 DO 390 IS=1,NNP+NNM
0455 NJOIN=NJOIN+1
0456 IF(IS.LE.IIP) THEN
0457 I=INP(IS)
0458 ELSEIF(IS.LE.IIP+NNM-IIM) THEN
0459 I=INM(IS-IIP+IIM)
0460 ELSEIF(IS.LE.IIP+NNM) THEN
0461 I=INM(IS-IIP-NNM+IIM)
0462 ELSE
0463 I=INP(IS-NNM)
0464 ENDIF
0465 IJOIN(NJOIN)=I
0466 IF(K(I,2).LT.0) THEN
0467 CALL PYJOIN(NJOIN,IJOIN)
0468 NJOIN=0
0469 ENDIF
0470 390 CONTINUE
0471
0472
0473 ELSE
0474 DO 400 I=NSD1+1,NOLD
0475 IF(K(I,1).EQ.13.OR.K(I,1).EQ.14) THEN
0476 K(I,4)=MOD(K(I,4),MSTU(5)**2)
0477 K(I,5)=MOD(K(I,5),MSTU(5)**2)
0478 ENDIF
0479 400 CONTINUE
0480 DO 410 I=NOLD+1,N
0481 K(K(I,3),1)=3
0482 410 CONTINUE
0483 N=NOLD
0484 ENDIF
0485
0486
0487 CALL PYROBO(IW1,IW1,0D0,0D0,BEWW(1),BEWW(2),BEWW(3))
0488 CALL PYROBO(IW2,IW2,0D0,0D0,BEWW(1),BEWW(2),BEWW(3))
0489 IF(N.GT.NOLD) CALL PYROBO(NOLD+1,N,0D0,0D0,
0490 & BEWW(1),BEWW(2),BEWW(3))
0491
0492
0493 ELSEIF(MSTP(115).EQ.11.OR.MSTP(115).EQ.12) THEN
0494 MINT(32)=1
0495
0496
0497 N=NSD1+4
0498 DO 420 I=NSD1+1,NSD1+4
0499 K(I,1)=3
0500 K(I,4)=MOD(K(I,4),MSTU(5)**2)
0501 K(I,5)=MOD(K(I,5),MSTU(5)**2)
0502 420 CONTINUE
0503
0504
0505 IQ1=NSD1+1
0506 IQ2=NSD1+2
0507 IQ3=NSD1+3
0508 IF(K(IQ1,2)*K(IQ3,2).LT.0) IQ3=NSD1+4
0509 IQ4=2*NSD1+7-IQ3
0510
0511
0512 IJOIN(1)=IQ1
0513 IJOIN(2)=IQ4
0514 CALL PYJOIN(2,IJOIN)
0515 IJOIN(1)=IQ3
0516 IJOIN(2)=IQ2
0517 CALL PYJOIN(2,IJOIN)
0518
0519
0520 IF(MSTP(71).GE.1.AND.MSTP(115).EQ.11) THEN
0521 MSTJ50=MSTJ(50)
0522 MSTJ(50)=0
0523 CALL PYSHOW(IQ1,IQ2,P(IW1,5))
0524 CALL PYSHOW(IQ3,IQ4,P(IW2,5))
0525 MSTJ(50)=MSTJ50
0526
0527
0528 ELSEIF(MSTP(71).GE.1.AND.MSTP(115).EQ.12) THEN
0529 PPM2=(P(IQ1,4)+P(IQ4,4))**2-(P(IQ1,1)+P(IQ4,1))**2-
0530 & (P(IQ1,2)+P(IQ4,2))**2-(P(IQ1,3)+P(IQ4,3))**2
0531 PPM=SQRT(MAX(0D0,PPM2))
0532 CALL PYSHOW(IQ1,IQ4,PPM)
0533 PPM2=(P(IQ3,4)+P(IQ2,4))**2-(P(IQ3,1)+P(IQ2,1))**2-
0534 & (P(IQ3,2)+P(IQ2,2))**2-(P(IQ3,3)+P(IQ2,3))**2
0535 PPM=SQRT(MAX(0D0,PPM2))
0536 CALL PYSHOW(IQ3,IQ2,PPM)
0537 ENDIF
0538 ENDIF
0539
0540 RETURN
0541 END