Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:14

0001  
0002 C*********************************************************************
0003  
0004 C...PYPOLE
0005 C...This subroutine computes the CP-even higgs and CP-odd pole
0006 c...Higgs masses and mixing angles.
0007  
0008 C...Program based on the work by M. Carena, M. Quiros
0009 C...and C.E.M. Wagner, "Effective potential methods and
0010 C...the Higgs mass spectrum in the MSSM", CERN-TH/95-157
0011  
0012 C...Inputs: IHIGGS(explained below),MCHI,MA,TANB,MQ,MUR,MDR,MTOP,
0013 C...AT,AB,MU
0014 C...where MCHI is the largest chargino mass, MA is the running
0015 C...CP-odd higgs mass, TANB is the value of the ratio of vacuum
0016 C...expectaion values at the scale MTOP, MQ is the third generation
0017 C...left handed squark mass parameter, MUR is the third generation
0018 C...right handed stop mass parameter, MDR is the third generation
0019 C...right handed sbottom mass parameter, MTOP is the pole top quark
0020 C...mass; AT,AB are the soft supersymmetry breaking trilinear
0021 C...couplings of the stop and sbottoms, respectively, and MU is the
0022 C...supersymmetric mass parameter
0023  
0024 C...The parameter IHIGGS=0,1,2,3 corresponds to the number of
0025 C...Higgses whose pole mass is computed. If IHIGGS=0 only running
0026 C...masses are given, what makes the running of the program
0027 c...much faster and it is quite generally a good approximation
0028 c...(for a theoretical discussion see ref. above). If IHIGGS=1,
0029 C...only the pole mass for H is computed. If IHIGGS=2, then h and H,
0030 c...and if IHIGGS=3, then h,H,A polarizations are computed
0031  
0032 C...Output: MH and MHP which are the lightest CP-even Higgs running
0033 C...and pole masses, respectively; HM and HMP are the heaviest CP-even
0034 C...Higgs running and pole masses, repectively; SA and CA are the
0035 C...SIN(ALPHA) and COS(ALPHA) where ALPHA is the Higgs mixing angle
0036 C...AMP is the CP-odd Higgs pole mass. STOP1,STOP2,SBOT1 and SBOT2
0037 C...are the stop and sbottom mass eigenvalues. Finally, TANBA is
0038 C...the value of TANB at the CP-odd Higgs mass scale
0039  
0040 C...This subroutine makes use of CERN library subroutine
0041 C...integration package, which makes the computation of the
0042 C...pole Higgs masses somewhat faster. We thank P. Janot for this
0043 C...improvement. Those who are not able to call the CERN
0044 C...libraries, please use the subroutine SUBHPOLE2.F, which
0045 C...although somewhat slower, gives identical results
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 C...Double precision and integer declarations.
0051       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0052       IMPLICIT INTEGER(I-N)
0053  
0054 C...Parameters.
0055       COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0056       SAVE /PYDAT1/
0057       INTEGER PYK,PYCHGE,PYCOMP
0058  
0059 C...Local variables.
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 C      WMST11 = RXMT**2 + XMQ2
0095 C      WMST22 = RXMT**2 + XMUR2
0096       XMST12 = RXMT*(AT - XMU/TANB)
0097       XMSB12 = RMBOT*(AB - XMU*TANB)
0098  
0099 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0100 C...STOP EIGENVALUES CALCULATION
0101 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
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 C      STOP1W = STOP1
0116 C      STOP2W = STOP2
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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0171 C...STARTING OF LIGHT HIGGS
0172 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
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 C        RXMT2 = RXMT**2
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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0245 C...END OF LIGHT HIGGS
0246 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0247  
0248   250 IF(IHIGGS.EQ.1) GOTO 490
0249  
0250 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0251 C... STARTING OF HEAVY HIGGS
0252 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
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 C        RXMT2 = RXMT**2
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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0326 C... END OF HEAVY HIGGS
0327 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0328  
0329       IF(IHIGGS.EQ.2) GOTO 490
0330  
0331 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0332 C...BEGINNING OF PSEUDOSCALAR HIGGS
0333 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
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 C        RXMT2 = RXMT**2
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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
0392 C...END OF PSEUDOSCALAR HIGGS
0393 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
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