File indexing completed on 2025-08-05 08:21:08
0001
0002
0003
0004
0005
0006
0007 FUNCTION PYALPS(Q2)
0008
0009
0010 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0011 IMPLICIT INTEGER(I-N)
0012 INTEGER PYK,PYCHGE,PYCOMP
0013
0014 COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0015 COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0016 SAVE /PYDAT1/,/PYDAT2/
0017
0018
0019 DIMENSION STEPDN(6),STEPUP(6)
0020
0021
0022
0023
0024 DATA STEPDN/0D0,0D0,0.10568D0,0.13398D0,0.17337D0,0D0/
0025 DATA STEPUP/0D0,0D0,0D0,-0.11413D0,-0.14563D0,-0.18988D0/
0026
0027
0028 IF(MSTU(111).LE.0) THEN
0029 PYALPS=PARU(111)
0030 MSTU(118)=MSTU(112)
0031 PARU(117)=0.2D0
0032 IF(Q2.GT.0.04D0) PARU(117)=SQRT(Q2)*EXP(-6D0*PARU(1)/
0033 & ((33D0-2D0*MSTU(112))*PARU(111)))
0034 PARU(118)=PARU(111)
0035 RETURN
0036 ENDIF
0037
0038
0039 Q2EFF=Q2
0040 IF(MSTU(115).GE.2) Q2EFF=MAX(Q2,PARU(114))
0041 NF=MSTU(112)
0042 ALAM2=PARU(112)**2
0043 100 IF(NF.GT.MAX(3,MSTU(113))) THEN
0044 Q2THR=PARU(113)*PMAS(NF,1)**2
0045 IF(Q2EFF.LT.Q2THR) THEN
0046 NF=NF-1
0047 Q2RAT=Q2THR/ALAM2
0048 ALAM2=ALAM2*Q2RAT**(2D0/(33D0-2D0*NF))
0049 IF(MSTU(111).EQ.2) ALAM2=ALAM2*LOG(Q2RAT)**STEPDN(NF)
0050 GOTO 100
0051 ENDIF
0052 ENDIF
0053 110 IF(NF.LT.MIN(6,MSTU(114))) THEN
0054 Q2THR=PARU(113)*PMAS(NF+1,1)**2
0055 IF(Q2EFF.GT.Q2THR) THEN
0056 NF=NF+1
0057 Q2RAT=Q2THR/ALAM2
0058 ALAM2=ALAM2*Q2RAT**(-2D0/(33D0-2D0*NF))
0059 IF(MSTU(111).EQ.2) ALAM2=ALAM2*LOG(Q2RAT)**STEPUP(NF)
0060 GOTO 110
0061 ENDIF
0062 ENDIF
0063 IF(MSTU(115).EQ.1) Q2EFF=Q2EFF+ALAM2
0064 PARU(117)=SQRT(ALAM2)
0065
0066
0067 B0=(33D0-2D0*NF)/6D0
0068 ALGQ=LOG(MAX(1.0001D0,Q2EFF/ALAM2))
0069 IF(MSTU(111).EQ.1) THEN
0070 PYALPS=MIN(PARU(115),PARU(2)/(B0*ALGQ))
0071 ELSE
0072 B1=(153D0-19D0*NF)/6D0
0073 PYALPS=MIN(PARU(115),PARU(2)/(B0*ALGQ)*(1D0-B1*LOG(ALGQ)/
0074 & (B0**2*ALGQ)))
0075 ENDIF
0076 MSTU(118)=NF
0077 PARU(118)=PYALPS
0078
0079 RETURN
0080 END