Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001  
0002 C*********************************************************************
0003  
0004 C...PYCT5L
0005 C...Auxiliary function for parametrization of CTEQ5L.
0006 C...Author: J. Pumplin 9/99.
0007  
0008 C...CTEQ5M1 and CTEQ5L Parton Distribution Functions
0009 C...in Parametrized Form
0010 C...            September 15, 1999
0011 C
0012 C...Ref: "GLOBAL QCD ANALYSIS OF PARTON STRUCTURE OF THE NUCLEON:
0013 C...      CTEQ5 PPARTON DISTRIBUTIONS"
0014 C...hep-ph/9903282
0015  
0016 C...The CTEQ5M1 set given here is an updated version of the original
0017 C...CTEQ5M set posted, in the table version, on the Web page of CTEQ.
0018 C...The differences between CTEQ5M and CTEQ5M1 are insignificant for
0019 C...almost all applications.
0020 C...The improvement is in the QCD evolution which is now more
0021 C...accurate, and which agrees completely with the benchmark work
0022 C...of the HERA 96/97 Workshop.
0023 C...The differences between the parametrized and the corresponding
0024 C...table versions (on which it is based) are of similar order as
0025 C...between the two version.
0026  
0027 C...!! Because accurate parametrizations over a wide range of (x,Q)
0028 C...is hard to obtain, only the most widely used sets CTEQ5M and
0029 C...CTEQ5L are available in parametrized form for now.
0030  
0031 C...These parametrizations were obtained by Jon Pumplin.
0032  
0033 C  Iset   PDF        Description              Alpha_s(Mz)  Lam4  Lam5
0034 C -------------------------------------------------------------------
0035 C   1    CTEQ5M1  Standard NLO MSbar scheme      0.118     326   226
0036 C   3    CTEQ5L   Leading Order                  0.127     192   146
0037 C -------------------------------------------------------------------
0038 C...Note the Qcd-lambda values given for CTEQ5L is for the leading
0039 C...order form of Alpha_s!!  Alpha_s(Mz) gives the absolute
0040 C...calibration.
0041  
0042 C...The two Iset value are adopted to agree with the standard table
0043 C...versions.
0044  
0045 C...Range of validity:
0046 C...The range of (x, Q) covered by this parametrization of the QCD
0047 C...evolved parton distributions is 1E-6 < x < 1 ;
0048 C...1.1 GeV < Q < 10 TeV.  Of course, the PDFs are constrained by
0049 C...data only in a subset of that region; and the assumed DGLAP
0050 C...evolution is unlikely to be valid for all of it either.
0051  
0052 C...The range of (x, Q) used in the CTEQ5 round of global analysis is
0053 C...approximately 0.01 < x < 0.75 ; and 4 GeV^2 < Q^2 < 400 GeV^2 for
0054 C...fixed target experiments; 0.0001 < x < 0.3 from HERA data; and
0055 C...Q^2 up to 40,000 GeV^2 from Tevatron inclusive Jet data.
0056  
0057       FUNCTION PYCT5L(IFL,X,Q)
0058  
0059 C...Double precision declaration.
0060       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0061       IMPLICIT INTEGER(I-N)
0062  
0063       PARAMETER (NEX=8, NLF=2)
0064       DIMENSION AM(0:NEX,0:NLF,-5:2)
0065       DIMENSION ALFVEC(-5:2), QMAVEC(-5:2)
0066       DIMENSION MEXVEC(-5:2), MLFVEC(-5:2)
0067       DIMENSION UT1VEC(-5:2), UT2VEC(-5:2)
0068       DIMENSION AF(0:NEX)
0069  
0070       DATA MEXVEC( 2) / 8 /
0071       DATA MLFVEC( 2) / 2 /
0072       DATA UT1VEC( 2) /  0.4971265E+01 /
0073       DATA UT2VEC( 2) / -0.1105128E+01 /
0074       DATA ALFVEC( 2) /  0.2987216E+00 /
0075       DATA QMAVEC( 2) /  0.0000000E+00 /
0076       DATA (AM( 0,K, 2),K=0, 2)
0077      & /  0.5292616E+01, -0.2751910E+01, -0.2488990E+01 /
0078       DATA (AM( 1,K, 2),K=0, 2)
0079      & /  0.9714424E+00,  0.1011827E-01, -0.1023660E-01 /
0080       DATA (AM( 2,K, 2),K=0, 2)
0081      & / -0.1651006E+02,  0.7959721E+01,  0.8810563E+01 /
0082       DATA (AM( 3,K, 2),K=0, 2)
0083      & / -0.1643394E+02,  0.5892854E+01,  0.9348874E+01 /
0084       DATA (AM( 4,K, 2),K=0, 2)
0085      & /  0.3067422E+02,  0.4235796E+01, -0.5112136E+00 /
0086       DATA (AM( 5,K, 2),K=0, 2)
0087      & /  0.2352526E+02, -0.5305168E+01, -0.1169174E+02 /
0088       DATA (AM( 6,K, 2),K=0, 2)
0089      & / -0.1095451E+02,  0.3006577E+01,  0.5638136E+01 /
0090       DATA (AM( 7,K, 2),K=0, 2)
0091      & / -0.1172251E+02, -0.2183624E+01,  0.4955794E+01 /
0092       DATA (AM( 8,K, 2),K=0, 2)
0093      & /  0.1662533E-01,  0.7622870E-02, -0.4895887E-03 /
0094  
0095       DATA MEXVEC( 1) / 8 /
0096       DATA MLFVEC( 1) / 2 /
0097       DATA UT1VEC( 1) /  0.2612618E+01 /
0098       DATA UT2VEC( 1) / -0.1258304E+06 /
0099       DATA ALFVEC( 1) /  0.3407552E+00 /
0100       DATA QMAVEC( 1) /  0.0000000E+00 /
0101       DATA (AM( 0,K, 1),K=0, 2)
0102      & /  0.9905300E+00, -0.4502235E+00,  0.1624441E+00 /
0103       DATA (AM( 1,K, 1),K=0, 2)
0104      & /  0.8867534E+00,  0.1630829E-01, -0.4049085E-01 /
0105       DATA (AM( 2,K, 1),K=0, 2)
0106      & /  0.8547974E+00,  0.3336301E+00,  0.1371388E+00 /
0107       DATA (AM( 3,K, 1),K=0, 2)
0108      & /  0.2941113E+00, -0.1527905E+01,  0.2331879E+00 /
0109       DATA (AM( 4,K, 1),K=0, 2)
0110      & /  0.3384235E+02,  0.3715315E+01,  0.8276930E+00 /
0111       DATA (AM( 5,K, 1),K=0, 2)
0112      & /  0.6230115E+01,  0.3134639E+01, -0.1729099E+01 /
0113       DATA (AM( 6,K, 1),K=0, 2)
0114      & / -0.1186928E+01, -0.3282460E+00,  0.1052020E+00 /
0115       DATA (AM( 7,K, 1),K=0, 2)
0116      & / -0.8545702E+01, -0.6247947E+01,  0.3692561E+01 /
0117       DATA (AM( 8,K, 1),K=0, 2)
0118      & /  0.1724598E-01,  0.7120465E-02,  0.4003646E-04 /
0119  
0120       DATA MEXVEC( 0) / 8 /
0121       DATA MLFVEC( 0) / 2 /
0122       DATA UT1VEC( 0) / -0.4656819E+00 /
0123       DATA UT2VEC( 0) / -0.2742390E+03 /
0124       DATA ALFVEC( 0) /  0.4491863E+00 /
0125       DATA QMAVEC( 0) /  0.0000000E+00 /
0126       DATA (AM( 0,K, 0),K=0, 2)
0127      & /  0.1193572E+03, -0.3886845E+01, -0.1133965E+01 /
0128       DATA (AM( 1,K, 0),K=0, 2)
0129      & / -0.9421449E+02,  0.3995885E+01,  0.1607363E+01 /
0130       DATA (AM( 2,K, 0),K=0, 2)
0131      & /  0.4206383E+01,  0.2485954E+00,  0.2497468E+00 /
0132       DATA (AM( 3,K, 0),K=0, 2)
0133      & /  0.1210557E+03, -0.3015765E+01, -0.1423651E+01 /
0134       DATA (AM( 4,K, 0),K=0, 2)
0135      & / -0.1013897E+03, -0.7113478E+00,  0.2621865E+00 /
0136       DATA (AM( 5,K, 0),K=0, 2)
0137      & / -0.1312404E+01, -0.9297691E+00, -0.1562531E+00 /
0138       DATA (AM( 6,K, 0),K=0, 2)
0139      & /  0.1627137E+01,  0.4954111E+00, -0.6387009E+00 /
0140       DATA (AM( 7,K, 0),K=0, 2)
0141      & /  0.1537698E+00, -0.2487878E+00,  0.8305947E+00 /
0142       DATA (AM( 8,K, 0),K=0, 2)
0143      & /  0.2496448E-01,  0.2457823E-02,  0.8234276E-03 /
0144  
0145       DATA MEXVEC(-1) / 8 /
0146       DATA MLFVEC(-1) / 2 /
0147       DATA UT1VEC(-1) /  0.3862583E+01 /
0148       DATA UT2VEC(-1) / -0.1265969E+01 /
0149       DATA ALFVEC(-1) /  0.2457668E+00 /
0150       DATA QMAVEC(-1) /  0.0000000E+00 /
0151       DATA (AM( 0,K,-1),K=0, 2)
0152      & /  0.2647441E+02,  0.1059277E+02, -0.9176654E+00 /
0153       DATA (AM( 1,K,-1),K=0, 2)
0154      & /  0.1990636E+01,  0.8558918E-01,  0.4248667E-01 /
0155       DATA (AM( 2,K,-1),K=0, 2)
0156      & / -0.1476095E+02, -0.3276255E+02,  0.1558110E+01 /
0157       DATA (AM( 3,K,-1),K=0, 2)
0158      & / -0.2966889E+01, -0.3649037E+02,  0.1195914E+01 /
0159       DATA (AM( 4,K,-1),K=0, 2)
0160      & / -0.1000519E+03, -0.2464635E+01,  0.1964849E+00 /
0161       DATA (AM( 5,K,-1),K=0, 2)
0162      & /  0.3718331E+02,  0.4700389E+02, -0.2772142E+01 /
0163       DATA (AM( 6,K,-1),K=0, 2)
0164      & / -0.1872722E+02, -0.2291189E+02,  0.1089052E+01 /
0165       DATA (AM( 7,K,-1),K=0, 2)
0166      & / -0.1628146E+02, -0.1823993E+02,  0.2537369E+01 /
0167       DATA (AM( 8,K,-1),K=0, 2)
0168      & / -0.1156300E+01, -0.1280495E+00,  0.5153245E-01 /
0169  
0170       DATA MEXVEC(-2) / 7 /
0171       DATA MLFVEC(-2) / 2 /
0172       DATA UT1VEC(-2) /  0.1895615E+00 /
0173       DATA UT2VEC(-2) / -0.3069097E+01 /
0174       DATA ALFVEC(-2) /  0.5293999E+00 /
0175       DATA QMAVEC(-2) /  0.0000000E+00 /
0176       DATA (AM( 0,K,-2),K=0, 2)
0177      & / -0.6556775E+00,  0.2490190E+00,  0.3966485E-01 /
0178       DATA (AM( 1,K,-2),K=0, 2)
0179      & /  0.1305102E+01, -0.1188925E+00, -0.4600870E-02 /
0180       DATA (AM( 2,K,-2),K=0, 2)
0181      & / -0.2371436E+01,  0.3566814E+00, -0.2834683E+00 /
0182       DATA (AM( 3,K,-2),K=0, 2)
0183      & / -0.6152826E+01,  0.8339877E+00, -0.7233230E+00 /
0184       DATA (AM( 4,K,-2),K=0, 2)
0185      & / -0.8346558E+01,  0.2892168E+01,  0.2137099E+00 /
0186       DATA (AM( 5,K,-2),K=0, 2)
0187      & /  0.1279530E+02,  0.1021114E+00,  0.5787439E+00 /
0188       DATA (AM( 6,K,-2),K=0, 2)
0189      & /  0.5858816E+00, -0.1940375E+01, -0.4029269E+00 /
0190       DATA (AM( 7,K,-2),K=0, 2)
0191      & / -0.2795725E+02, -0.5263392E+00,  0.1290229E+01 /
0192  
0193       DATA MEXVEC(-3) / 7 /
0194       DATA MLFVEC(-3) / 2 /
0195       DATA UT1VEC(-3) /  0.3753257E+01 /
0196       DATA UT2VEC(-3) / -0.1113085E+01 /
0197       DATA ALFVEC(-3) /  0.3713141E+00 /
0198       DATA QMAVEC(-3) /  0.0000000E+00 /
0199       DATA (AM( 0,K,-3),K=0, 2)
0200      & /  0.1580931E+01, -0.2273826E+01, -0.1822245E+01 /
0201       DATA (AM( 1,K,-3),K=0, 2)
0202      & /  0.2702644E+01,  0.6763243E+00,  0.7231586E-02 /
0203       DATA (AM( 2,K,-3),K=0, 2)
0204      & / -0.1857924E+02,  0.3907500E+01,  0.5850109E+01 /
0205       DATA (AM( 3,K,-3),K=0, 2)
0206      & / -0.3044793E+02,  0.2639332E+01,  0.5566644E+01 /
0207       DATA (AM( 4,K,-3),K=0, 2)
0208      & / -0.4258011E+01, -0.5429244E+01,  0.4418946E+00 /
0209       DATA (AM( 5,K,-3),K=0, 2)
0210      & /  0.3465259E+02, -0.5532604E+01, -0.4904153E+01 /
0211       DATA (AM( 6,K,-3),K=0, 2)
0212      & / -0.1658858E+02,  0.2923275E+01,  0.2266286E+01 /
0213       DATA (AM( 7,K,-3),K=0, 2)
0214      & / -0.1149263E+02,  0.2877475E+01, -0.7999105E+00 /
0215  
0216       DATA MEXVEC(-4) / 7 /
0217       DATA MLFVEC(-4) / 2 /
0218       DATA UT1VEC(-4) /  0.4400772E+01 /
0219       DATA UT2VEC(-4) / -0.1356116E+01 /
0220       DATA ALFVEC(-4) /  0.3712017E-01 /
0221       DATA QMAVEC(-4) /  0.1300000E+01 /
0222       DATA (AM( 0,K,-4),K=0, 2)
0223      & / -0.8293661E+00, -0.3982375E+01, -0.6494283E-01 /
0224       DATA (AM( 1,K,-4),K=0, 2)
0225      & /  0.2754618E+01,  0.8338636E+00, -0.6885160E-01 /
0226       DATA (AM( 2,K,-4),K=0, 2)
0227      & / -0.1657987E+02,  0.1439143E+02, -0.6887240E+00 /
0228       DATA (AM( 3,K,-4),K=0, 2)
0229      & / -0.2800703E+02,  0.1535966E+02, -0.7377693E+00 /
0230       DATA (AM( 4,K,-4),K=0, 2)
0231      & / -0.6460216E+01, -0.4783019E+01,  0.4913297E+00 /
0232       DATA (AM( 5,K,-4),K=0, 2)
0233      & /  0.3141830E+02, -0.3178031E+02,  0.7136013E+01 /
0234       DATA (AM( 6,K,-4),K=0, 2)
0235      & / -0.1802509E+02,  0.1862163E+02, -0.4632843E+01 /
0236       DATA (AM( 7,K,-4),K=0, 2)
0237      & / -0.1240412E+02,  0.2565386E+02, -0.1066570E+02 /
0238  
0239       DATA MEXVEC(-5) / 6 /
0240       DATA MLFVEC(-5) / 2 /
0241       DATA UT1VEC(-5) /  0.5562568E+01 /
0242       DATA UT2VEC(-5) / -0.1801317E+01 /
0243       DATA ALFVEC(-5) /  0.4952010E-02 /
0244       DATA QMAVEC(-5) /  0.4500000E+01 /
0245       DATA (AM( 0,K,-5),K=0, 2)
0246      & / -0.6031237E+01,  0.1992727E+01, -0.1076331E+01 /
0247       DATA (AM( 1,K,-5),K=0, 2)
0248      & /  0.2933912E+01,  0.5839674E+00,  0.7509435E-01 /
0249       DATA (AM( 2,K,-5),K=0, 2)
0250      & / -0.8284919E+01,  0.1488593E+01, -0.8251678E+00 /
0251       DATA (AM( 3,K,-5),K=0, 2)
0252      & / -0.1925986E+02,  0.2805753E+01, -0.3015446E+01 /
0253       DATA (AM( 4,K,-5),K=0, 2)
0254      & / -0.9480483E+01, -0.9767837E+00, -0.1165544E+01 /
0255       DATA (AM( 5,K,-5),K=0, 2)
0256      & /  0.2193195E+02, -0.1788518E+02,  0.9460908E+01 /
0257       DATA (AM( 6,K,-5),K=0, 2)
0258      & / -0.1327377E+02,  0.1201754E+02, -0.6277844E+01 /
0259  
0260       IF(Q .LE. QMAVEC(IFL)) THEN
0261          PYCT5L = 0.D0
0262          RETURN
0263       ENDIF
0264  
0265       IF(X .GE. 1.D0) THEN
0266          PYCT5L = 0.D0
0267          RETURN
0268       ENDIF
0269  
0270       TMP = LOG(Q/ALFVEC(IFL))
0271       IF(TMP .LE. 0.D0) THEN
0272          PYCT5L = 0.D0
0273          RETURN
0274       ENDIF
0275  
0276       SB = LOG(TMP)
0277       SB1 = SB - 1.2D0
0278       SB2 = SB1*SB1
0279  
0280       DO 110 I = 0, NEX
0281          AF(I) = 0.D0
0282          SBX = 1.D0
0283          DO 100 K = 0, MLFVEC(IFL)
0284             AF(I) = AF(I) + SBX*AM(I,K,IFL)
0285             SBX = SB1*SBX
0286   100    CONTINUE
0287   110 CONTINUE
0288  
0289       Y = -LOG(X)
0290       U = LOG(X/0.00001D0)
0291  
0292       PART1 = AF(1)*Y**(1.D0+0.01D0*AF(4))*(1.D0+ AF(8)*U)
0293       PART2 = AF(0)*(1.D0 - X) + AF(3)*X
0294       PART3 = X*(1.D0-X)*(AF(5)+AF(6)*(1.D0-X)+AF(7)*X*(1.D0-X))
0295       PART4 = UT1VEC(IFL)*LOG(1.D0-X) +
0296      &        AF(2)*LOG(1.D0+EXP(UT2VEC(IFL))-X)
0297  
0298       PYCT5L = EXP(LOG(X) + PART1 + PART2 + PART3 + PART4)
0299  
0300 C...Include threshold factor.
0301       PYCT5L = PYCT5L * (1.D0 - QMAVEC(IFL)/Q)
0302  
0303       RETURN
0304       END