File indexing completed on 2025-08-05 08:21:14
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047 SUBROUTINE PYPOLE(IHIGGS,XMC,XMA,TANB,XMQ,XMUR,XMDR,XMT,AT,AB,XMU,
0048 &XMH,XMHP,HM,HMP,AMP,SA,CA,STOP1,STOP2,SBOT1,SBOT2,TANBA,XMG,DT,DB)
0049
0050
0051 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0052 IMPLICIT INTEGER(I-N)
0053
0054
0055 COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0056 SAVE /PYDAT1/
0057 INTEGER PYK,PYCHGE,PYCOMP
0058
0059
0060 DIMENSION DELTA(2,2),COUPT(2,2),T(2,2),SSTOP2(2),
0061 &SSBOT2(2),B(2,2),COUPB(2,2),
0062 &HCOUPT(2,2),HCOUPB(2,2),
0063 &ACOUPT(2,2),ACOUPB(2,2),PR(3), POLAR(3)
0064
0065 DELTA(1,1) = 1D0
0066 DELTA(2,2) = 1D0
0067 DELTA(1,2) = 0D0
0068 DELTA(2,1) = 0D0
0069 V = 174.1D0
0070 XMZ=91.18D0
0071 PI=PARU(1)
0072 RXMT=PYMRUN(6,XMT**2)
0073 CALL PYRGHM(XMC,XMA,TANB,XMQ,XMUR,XMDR,XMT,AT,AB,
0074 &XMU,XMH,HM,XMCH,SA,CA,SAB,CAB,TANBA,XMG,DT,DB)
0075
0076 SINB = TANB/(TANB**2+1D0)**0.5D0
0077 COSB = 1D0/(TANB**2+1D0)**0.5D0
0078 COS2B = SINB**2 - COSB**2
0079 SINBPA = SINB*CA + COSB*SA
0080 COSBPA = COSB*CA - SINB*SA
0081 RMBOT = PYMRUN(5,XMT**2)
0082 XMQ2 = XMQ**2
0083 XMUR2 = XMUR**2
0084 IF(XMUR.LT.0D0) XMUR2=-XMUR2
0085 XMDR2 = XMDR**2
0086 XMST11 = RXMT**2 + XMQ2 - 0.35D0*XMZ**2*COS2B
0087 XMST22 = RXMT**2 + XMUR2 - 0.15D0*XMZ**2*COS2B
0088 IF(XMST11.LT.0D0) GOTO 500
0089 IF(XMST22.LT.0D0) GOTO 500
0090 XMSB11 = RMBOT**2 + XMQ2 + 0.42D0*XMZ**2*COS2B
0091 XMSB22 = RMBOT**2 + XMDR2 + 0.08D0*XMZ**2*COS2B
0092 IF(XMSB11.LT.0D0) GOTO 500
0093 IF(XMSB22.LT.0D0) GOTO 500
0094
0095
0096 XMST12 = RXMT*(AT - XMU/TANB)
0097 XMSB12 = RMBOT*(AB - XMU*TANB)
0098
0099
0100
0101
0102
0103 STOP12 = 0.5D0*(XMST11+XMST22) +
0104 &0.5D0*((XMST11+XMST22)**2 -
0105 &4D0*(XMST11*XMST22 - XMST12**2))**0.5D0
0106 STOP22 = 0.5D0*(XMST11+XMST22) -
0107 &0.5D0*((XMST11+XMST22)**2 - 4D0*(XMST11*XMST22 -
0108 &XMST12**2))**0.5D0
0109
0110 IF(STOP22.LT.0D0) GOTO 500
0111 SSTOP2(1) = STOP12
0112 SSTOP2(2) = STOP22
0113 STOP1 = STOP12**0.5D0
0114 STOP2 = STOP22**0.5D0
0115
0116
0117
0118 IF(XMST12.EQ.0D0) XST11 = 1D0
0119 IF(XMST12.EQ.0D0) XST12 = 0D0
0120 IF(XMST12.EQ.0D0) XST21 = 0D0
0121 IF(XMST12.EQ.0D0) XST22 = 1D0
0122
0123 IF(XMST12.EQ.0D0) GOTO 110
0124
0125 100 XST11 = XMST12/(XMST12**2+(XMST11-STOP12)**2)**0.5D0
0126 XST12 = - (XMST11-STOP12)/(XMST12**2+(XMST11-STOP12)**2)**0.5D0
0127 XST21 = XMST12/(XMST12**2+(XMST11-STOP22)**2)**0.5D0
0128 XST22 = - (XMST11-STOP22)/(XMST12**2+(XMST11-STOP22)**2)**0.5D0
0129
0130 110 T(1,1) = XST11
0131 T(2,2) = XST22
0132 T(1,2) = XST12
0133 T(2,1) = XST21
0134
0135 SBOT12 = 0.5D0*(XMSB11+XMSB22) +
0136 &0.5D0*((XMSB11+XMSB22)**2 -
0137 &4D0*(XMSB11*XMSB22 - XMSB12**2))**0.5D0
0138 SBOT22 = 0.5D0*(XMSB11+XMSB22) -
0139 &0.5D0*((XMSB11+XMSB22)**2 - 4D0*(XMSB11*XMSB22 -
0140 &XMSB12**2))**0.5D0
0141 IF(SBOT22.LT.0D0) GOTO 500
0142 SBOT1 = SBOT12**0.5D0
0143 SBOT2 = SBOT22**0.5D0
0144
0145 SSBOT2(1) = SBOT12
0146 SSBOT2(2) = SBOT22
0147
0148 IF(XMSB12.EQ.0D0) XSB11 = 1D0
0149 IF(XMSB12.EQ.0D0) XSB12 = 0D0
0150 IF(XMSB12.EQ.0D0) XSB21 = 0D0
0151 IF(XMSB12.EQ.0D0) XSB22 = 1D0
0152
0153 IF(XMSB12.EQ.0D0) GOTO 130
0154
0155 120 XSB11 = XMSB12/(XMSB12**2+(XMSB11-SBOT12)**2)**0.5D0
0156 XSB12 = - (XMSB11-SBOT12)/(XMSB12**2+(XMSB11-SBOT12)**2)**0.5D0
0157 XSB21 = XMSB12/(XMSB12**2+(XMSB11-SBOT22)**2)**0.5D0
0158 XSB22 = - (XMSB11-SBOT22)/(XMSB12**2+(XMSB11-SBOT22)**2)**0.5D0
0159
0160 130 B(1,1) = XSB11
0161 B(2,2) = XSB22
0162 B(1,2) = XSB12
0163 B(2,1) = XSB21
0164
0165
0166 SINT = 0.2320D0
0167 SQR = DSQRT(2D0)
0168 VP = 174.1D0*SQR
0169
0170
0171
0172
0173
0174 IF(IHIGGS.EQ.0) GOTO 490
0175
0176 DO 150 I = 1,2
0177 DO 140 J = 1,2
0178 COUPT(I,J) =
0179 & SINT*XMZ**2*2D0*SQR/174.1D0/3D0*SINBPA*(DELTA(I,J) +
0180 & (3D0 - 8D0*SINT)/4D0/SINT*T(1,I)*T(1,J))
0181 & -RXMT**2/174.1D0**2*VP/SINB*CA*DELTA(I,J)
0182 & -RXMT/VP/SINB*(AT*CA + XMU*SA)*(T(1,I)*T(2,J) +
0183 & T(1,J)*T(2,I))
0184 140 CONTINUE
0185 150 CONTINUE
0186
0187
0188 DO 170 I = 1,2
0189 DO 160 J = 1,2
0190 COUPB(I,J) =
0191 & -SINT*XMZ**2*2D0*SQR/174.1D0/6D0*SINBPA*(DELTA(I,J) +
0192 & (3D0 - 4D0*SINT)/2D0/SINT*B(1,I)*B(1,J))
0193 & +RMBOT**2/174.1D0**2*VP/COSB*SA*DELTA(I,J)
0194 & +RMBOT/VP/COSB*(AB*SA + XMU*CA)*(B(1,I)*B(2,J) +
0195 & B(1,J)*B(2,I))
0196 160 CONTINUE
0197 170 CONTINUE
0198
0199 PRUN = XMH
0200 EPS = 1D-4*PRUN
0201 ITER = 0
0202 180 ITER = ITER + 1
0203 DO 230 I3 = 1,3
0204
0205 PR(I3)=PRUN+(I3-2)*EPS/2
0206 P2=PR(I3)**2
0207 POLT = 0D0
0208 DO 200 I = 1,2
0209 DO 190 J = 1,2
0210 POLT = POLT + COUPT(I,J)**2*3D0*
0211 & PYFINT(P2,SSTOP2(I),SSTOP2(J))/16D0/PI**2
0212 190 CONTINUE
0213 200 CONTINUE
0214
0215 POLB = 0D0
0216 DO 220 I = 1,2
0217 DO 210 J = 1,2
0218 POLB = POLB + COUPB(I,J)**2*3D0*
0219 & PYFINT(P2,SSBOT2(I),SSBOT2(J))/16D0/PI**2
0220 210 CONTINUE
0221 220 CONTINUE
0222
0223 XMT2=XMT**2
0224
0225 POLTT =
0226 & 3D0*RXMT**2/8D0/PI**2/ V **2*
0227 & CA**2/SINB**2 *
0228 & (-2D0*XMT**2+0.5D0*P2)*
0229 & PYFINT(P2,XMT2,XMT2)
0230
0231 POL = POLT + POLB + POLTT
0232 POLAR(I3) = P2 - XMH**2 - POL
0233 230 CONTINUE
0234 DERIV = (POLAR(3)-POLAR(1))/EPS
0235 DRUN = - POLAR(2)/DERIV
0236 PRUN = PRUN + DRUN
0237 P2 = PRUN**2
0238 IF( ABS(DRUN) .LT. 1D-4 .OR.ITER.GT.500) GOTO 240
0239 GOTO 180
0240 240 CONTINUE
0241
0242 XMHP = DSQRT(P2)
0243
0244
0245
0246
0247
0248 250 IF(IHIGGS.EQ.1) GOTO 490
0249
0250
0251
0252
0253
0254 DO 270 I = 1,2
0255 DO 260 J = 1,2
0256 HCOUPT(I,J) =
0257 & -SINT*XMZ**2*2D0*SQR/174.1D0/3D0*COSBPA*(DELTA(I,J) +
0258 & (3D0 - 8D0*SINT)/4D0/SINT*T(1,I)*T(1,J))
0259 & -RXMT**2/174.1D0**2*VP/SINB*SA*DELTA(I,J)
0260 & -RXMT/VP/SINB*(AT*SA - XMU*CA)*(T(1,I)*T(2,J) +
0261 & T(1,J)*T(2,I))
0262 260 CONTINUE
0263 270 CONTINUE
0264
0265 DO 290 I = 1,2
0266 DO 280 J = 1,2
0267 HCOUPB(I,J) =
0268 & SINT*XMZ**2*2D0*SQR/174.1D0/6D0*COSBPA*(DELTA(I,J) +
0269 & (3D0 - 4D0*SINT)/2D0/SINT*B(1,I)*B(1,J))
0270 & -RMBOT**2/174.1D0**2*VP/COSB*CA*DELTA(I,J)
0271 & -RMBOT/VP/COSB*(AB*CA - XMU*SA)*(B(1,I)*B(2,J) +
0272 & B(1,J)*B(2,I))
0273 HCOUPB(I,J)=0D0
0274 280 CONTINUE
0275 290 CONTINUE
0276
0277 PRUN = HM
0278 EPS = 1D-4*PRUN
0279 ITER = 0
0280 300 ITER = ITER + 1
0281 DO 350 I3 = 1,3
0282 PR(I3)=PRUN+(I3-2)*EPS/2
0283 HP2=PR(I3)**2
0284
0285 HPOLT = 0D0
0286 DO 320 I = 1,2
0287 DO 310 J = 1,2
0288 HPOLT = HPOLT + HCOUPT(I,J)**2*3D0*
0289 & PYFINT(HP2,SSTOP2(I),SSTOP2(J))/16D0/PI**2
0290 310 CONTINUE
0291 320 CONTINUE
0292
0293 HPOLB = 0D0
0294 DO 340 I = 1,2
0295 DO 330 J = 1,2
0296 HPOLB = HPOLB + HCOUPB(I,J)**2*3D0*
0297 & PYFINT(HP2,SSBOT2(I),SSBOT2(J))/16D0/PI**2
0298 330 CONTINUE
0299 340 CONTINUE
0300
0301
0302 XMT2 = XMT**2
0303
0304 HPOLTT =
0305 & 3D0*RXMT**2/8D0/PI**2/ V **2*
0306 & SA**2/SINB**2 *
0307 & (-2D0*XMT**2+0.5D0*HP2)*
0308 & PYFINT(HP2,XMT2,XMT2)
0309
0310 HPOL = HPOLT + HPOLB + HPOLTT
0311 POLAR(I3) =HP2-HM**2-HPOL
0312 350 CONTINUE
0313 DERIV = (POLAR(3)-POLAR(1))/EPS
0314 DRUN = - POLAR(2)/DERIV
0315 PRUN = PRUN + DRUN
0316 HP2 = PRUN**2
0317 IF( ABS(DRUN) .LT. 1D-4 .OR.ITER.GT.500) GOTO 360
0318 GOTO 300
0319 360 CONTINUE
0320
0321
0322 370 CONTINUE
0323 HMP = HP2**0.5D0
0324
0325
0326
0327
0328
0329 IF(IHIGGS.EQ.2) GOTO 490
0330
0331
0332
0333
0334
0335 DO 390 I = 1,2
0336 DO 380 J = 1,2
0337 ACOUPT(I,J) =
0338 & -RXMT/VP/SINB*(AT*COSB + XMU*SINB)*
0339 & (T(1,I)*T(2,J) -T(1,J)*T(2,I))
0340 380 CONTINUE
0341 390 CONTINUE
0342 DO 410 I = 1,2
0343 DO 400 J = 1,2
0344 ACOUPB(I,J) =
0345 & RMBOT/VP/COSB*(AB*SINB + XMU*COSB)*
0346 & (B(1,I)*B(2,J) -B(1,J)*B(2,I))
0347 400 CONTINUE
0348 410 CONTINUE
0349
0350 PRUN = XMA
0351 EPS = 1D-4*PRUN
0352 ITER = 0
0353 420 ITER = ITER + 1
0354 DO 470 I3 = 1,3
0355 PR(I3)=PRUN+(I3-2)*EPS/2
0356 AP2=PR(I3)**2
0357 APOLT = 0D0
0358 DO 440 I = 1,2
0359 DO 430 J = 1,2
0360 APOLT = APOLT + ACOUPT(I,J)**2*3D0*
0361 & PYFINT(AP2,SSTOP2(I),SSTOP2(J))/16D0/PI**2
0362 430 CONTINUE
0363 440 CONTINUE
0364 APOLB = 0D0
0365 DO 460 I = 1,2
0366 DO 450 J = 1,2
0367 APOLB = APOLB + ACOUPB(I,J)**2*3D0*
0368 & PYFINT(AP2,SSBOT2(I),SSBOT2(J))/16D0/PI**2
0369 450 CONTINUE
0370 460 CONTINUE
0371
0372 XMT2=XMT**2
0373 APOLTT =
0374 & 3D0*RXMT**2/8D0/PI**2/ V **2*
0375 & COSB**2/SINB**2 *
0376 & (-0.5D0*AP2)*
0377 & PYFINT(AP2,XMT2,XMT2)
0378 APOL = APOLT + APOLB + APOLTT
0379 POLAR(I3) = AP2 - XMA**2 -APOL
0380 470 CONTINUE
0381 DERIV = (POLAR(3)-POLAR(1))/EPS
0382 DRUN = - POLAR(2)/DERIV
0383 PRUN = PRUN + DRUN
0384 AP2 = PRUN**2
0385 IF( ABS(DRUN) .LT. 1D-4 .OR.ITER.GT.500) GOTO 480
0386 GOTO 420
0387 480 CONTINUE
0388
0389 AMP = DSQRT(AP2)
0390
0391
0392
0393
0394
0395 IF(IHIGGS.EQ.3) GOTO 490
0396
0397 490 CONTINUE
0398 RETURN
0399 500 CONTINUE
0400 WRITE(MSTU(11),*) ' EXITING IN PYPOLE '
0401 WRITE(MSTU(11),*) ' XMST11,XMST22 = ',XMST11,XMST22
0402 WRITE(MSTU(11),*) ' XMSB11,XMSB22 = ',XMSB11,XMSB22
0403 WRITE(MSTU(11),*) ' STOP22,SBOT22 = ',STOP22,SBOT22
0404 CALL PYSTOP(107)
0405 END