Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001  
0002 C*********************************************************************
0003  
0004 C...PYRNMQ
0005 C...Determines the running mass of Squarks.
0006  
0007       FUNCTION PYRNMQ(ID,DTERM)
0008  
0009 C...Double precision and integer declarations.
0010       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0011       IMPLICIT INTEGER(I-N)
0012       INTEGER PYK,PYCHGE,PYCOMP
0013 C...Commonblock.
0014       COMMON/PYMSSM/IMSS(0:99),RMSS(0:99)
0015       SAVE /PYMSSM/
0016  
0017 C...Local variables.
0018       DOUBLE PRECISION PI,R
0019       DOUBLE PRECISION TOL
0020       DOUBLE PRECISION CI(3)
0021       EXTERNAL PYALPS
0022       DOUBLE PRECISION PYALPS
0023       DATA TOL/0.001D0/
0024       DATA PI,R/3.141592654D0,.61803399D0/
0025       DATA CI/0.47D0,0.07D0,0.02D0/
0026  
0027       C=1D0-R
0028       CA=CI(ID)
0029       AG=(0.71D0)**2/4D0/PI
0030       AG=RMSS(20)
0031       XM0=RMSS(8)
0032       XMG=RMSS(1)
0033       XM02=XM0*XM0
0034       XMG2=XMG*XMG
0035  
0036       AS=PYALPS(XM02+6D0*XMG2)
0037       CG=8D0/9D0*((AS/AG)**2-1D0)
0038       BX=XM02+(CA+CG)*XMG2+DTERM
0039       AX=MIN(50D0**2,0.5D0*BX)
0040       CX=MAX(2000D0**2,2D0*BX)
0041  
0042       X0=AX
0043       X3=CX
0044       IF(ABS(CX-BX).GT.ABS(BX-AX))THEN
0045         X1=BX
0046         X2=BX+C*(CX-BX)
0047       ELSE
0048         X2=BX
0049         X1=BX-C*(BX-AX)
0050       ENDIF
0051       AS1=PYALPS(X1)
0052       CG=8D0/9D0*((AS1/AG)**2-1D0)
0053       F1=ABS(XM02+(CA+CG)*XMG2+DTERM-X1)
0054       AS2=PYALPS(X2)
0055       CG=8D0/9D0*((AS2/AG)**2-1D0)
0056       F2=ABS(XM02+(CA+CG)*XMG2+DTERM-X2)
0057   100 IF(ABS(X3-X0).GT.TOL*(ABS(X1)+ABS(X2))) THEN
0058         IF(F2.LT.F1) THEN
0059           X0=X1
0060           X1=X2
0061           X2=R*X1+C*X3
0062           F1=F2
0063           AS2=PYALPS(X2)
0064           CG=8D0/9D0*((AS2/AG)**2-1D0)
0065           F2=ABS(XM02+(CA+CG)*XMG2+DTERM-X2)
0066         ELSE
0067           X3=X2
0068           X2=X1
0069           X1=R*X2+C*X0
0070           F2=F1
0071           AS1=PYALPS(X1)
0072           CG=8D0/9D0*((AS1/AG)**2-1D0)
0073           F1=ABS(XM02+(CA+CG)*XMG2+DTERM-X1)
0074         ENDIF
0075         GOTO 100
0076       ENDIF
0077       IF(F1.LT.F2) THEN
0078         PYRNMQ=X1
0079         XMIN=X1
0080       ELSE
0081         PYRNMQ=X2
0082         XMIN=X2
0083       ENDIF
0084  
0085       RETURN
0086       END