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...PYCTEQ
0005 C...Gives the CTEQ 3 parton distribution function sets in
0006 C...parametrized form, of October 24, 1994.
0007 C...Authors: H.L. Lai, J. Botts, J. Huston, J.G. Morfin, J.F. Owens,
0008 C...J. Qiu, W.K. Tung and H. Weerts.
0009  
0010       FUNCTION PYCTEQ (ISET, IPRT, X, Q)
0011  
0012 C...Double precision declaration.
0013       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0014       IMPLICIT INTEGER(I-N)
0015  
0016 C...Data on Lambda values of fits, minimum Q and quark masses.
0017       DIMENSION ALM(3), QMS(4:6)
0018       DATA ALM / 0.177D0, 0.239D0, 0.247D0 /
0019       DATA QMN / 1.60D0 /, (QMS(I), I=4,6) / 1.60D0, 5.00D0, 180.0D0 /
0020  
0021 C....Check flavour thresholds. Set up QI for SB.
0022       IP = IABS(IPRT)
0023       IF(IP .GE. 4) THEN
0024         IF(Q .LE. QMS(IP)) THEN
0025           PYCTEQ = 0D0
0026           RETURN
0027         ENDIF
0028         QI = QMS(IP)
0029       ELSE
0030         QI = QMN
0031       ENDIF
0032  
0033 C...Use "standard lambda" of parametrization program for expansion.
0034       ALAM = ALM (ISET)
0035       SBL = LOG(Q/ALAM) / LOG(QI/ALAM)
0036       SB = LOG (SBL)
0037       SB2 = SB*SB
0038       SB3 = SB2*SB
0039  
0040 C...Expansion for CTEQ3L.
0041       IF(ISET .EQ. 1) THEN
0042         IF(IPRT .EQ. 2) THEN
0043           A0=Exp( 0.1907D+00+0.4205D-01*SB +0.2752D+00*SB2-
0044      &    0.3171D+00*SB3)
0045           A1= 0.4611D+00+0.2331D-01*SB -0.3403D-01*SB2+0.3174D-01*SB3
0046           A2= 0.3504D+01+0.5739D+00*SB +0.2676D+00*SB2-0.1553D+00*SB3
0047           A3= 0.7452D+01-0.6742D+01*SB +0.2849D+01*SB2-0.1964D+00*SB3
0048           A4= 0.1116D+01-0.3435D+00*SB +0.2865D+00*SB2-0.1288D+00*SB3
0049           A5= 0.6659D-01+0.2714D+00*SB -0.2688D+00*SB2+0.2763D+00*SB3
0050         ELSEIF(IPRT .EQ. 1) THEN
0051           A0=Exp( 0.1141D+00+0.4764D+00*SB -0.1745D+01*SB2+
0052      &    0.7728D+00*SB3)
0053           A1= 0.4275D+00-0.1290D+00*SB +0.3609D+00*SB2-0.1689D+00*SB3
0054           A2= 0.3000D+01+0.2946D+01*SB -0.4117D+01*SB2+0.1989D+01*SB3
0055           A3=-0.1302D+01+0.2322D+01*SB -0.4258D+01*SB2+0.2109D+01*SB3
0056           A4= 0.2586D+01-0.1920D+00*SB -0.3754D+00*SB2+0.2731D+00*SB3
0057           A5=-0.2251D+00-0.5374D+00*SB +0.2245D+01*SB2-0.1034D+01*SB3
0058         ELSEIF(IPRT .EQ. 0) THEN
0059           A0=Exp(-0.7631D+00-0.7241D+00*SB -0.1170D+01*SB2+
0060      &    0.5343D+00*SB3)
0061           A1=-0.3573D+00+0.3469D+00*SB -0.3396D+00*SB2+0.9188D-01*SB3
0062           A2= 0.5604D+01+0.7458D+00*SB -0.5082D+00*SB2+0.1844D+00*SB3
0063           A3= 0.1549D+02-0.1809D+02*SB +0.1162D+02*SB2-0.3483D+01*SB3
0064           A4= 0.9881D+00+0.1364D+00*SB -0.4421D+00*SB2+0.2051D+00*SB3
0065           A5=-0.9505D-01+0.3259D+01*SB -0.1547D+01*SB2+0.2918D+00*SB3
0066         ELSEIF(IPRT .EQ. -1) THEN
0067           A0=Exp(-0.2449D+01-0.3513D+01*SB +0.4529D+01*SB2-
0068      &    0.2031D+01*SB3)
0069           A1=-0.4050D+00+0.3411D+00*SB -0.3669D+00*SB2+0.1109D+00*SB3
0070           A2= 0.7470D+01-0.2982D+01*SB +0.5503D+01*SB2-0.2419D+01*SB3
0071           A3= 0.1503D+02+0.1638D+01*SB -0.8772D+01*SB2+0.3852D+01*SB3
0072           A4= 0.1137D+01-0.1006D+01*SB +0.1485D+01*SB2-0.6389D+00*SB3
0073           A5=-0.5299D+00+0.3160D+01*SB -0.3104D+01*SB2+0.1219D+01*SB3
0074         ELSEIF(IPRT .EQ. -2) THEN
0075           A0=Exp(-0.2740D+01-0.7987D-01*SB -0.9015D+00*SB2-
0076      &    0.9872D-01*SB3)
0077           A1=-0.3909D+00+0.1244D+00*SB -0.4487D-01*SB2+0.1277D-01*SB3
0078           A2= 0.9163D+01+0.2823D+00*SB -0.7720D+00*SB2-0.9360D-02*SB3
0079           A3= 0.1080D+02-0.3915D+01*SB -0.1153D+01*SB2+0.2649D+01*SB3
0080           A4= 0.9894D+00-0.1647D+00*SB -0.9426D-02*SB2+0.2945D-02*SB3
0081           A5=-0.3395D+00+0.6998D+00*SB +0.7000D+00*SB2-0.6730D-01*SB3
0082         ELSEIF(IPRT .EQ. -3) THEN
0083           A0=Exp(-0.3640D+01+0.1250D+01*SB -0.2914D+01*SB2+
0084      &    0.8390D+00*SB3)
0085           A1=-0.3595D+00-0.5259D-01*SB +0.3122D+00*SB2-0.1642D+00*SB3
0086           A2= 0.7305D+01+0.9727D+00*SB -0.9788D+00*SB2-0.5193D-01*SB3
0087           A3= 0.1198D+02-0.1799D+02*SB +0.2614D+02*SB2-0.1091D+02*SB3
0088           A4= 0.9882D+00-0.6101D+00*SB +0.9737D+00*SB2-0.4935D+00*SB3
0089           A5=-0.1186D+00-0.3231D+00*SB +0.3074D+01*SB2-0.1274D+01*SB3
0090         ELSEIF(IPRT .EQ. -4) THEN
0091           A0=SB** 0.1122D+01*Exp(-0.3718D+01-0.1335D+01*SB +
0092      &    0.1651D-01*SB2)
0093           A1=-0.4719D+00+0.7509D+00*SB -0.8420D+00*SB2+0.2901D+00*SB3
0094           A2= 0.6194D+01-0.1641D+01*SB +0.4907D+01*SB2-0.2523D+01*SB3
0095           A3= 0.4426D+01-0.4270D+01*SB +0.6581D+01*SB2-0.3474D+01*SB3
0096           A4= 0.2683D+00+0.9876D+00*SB -0.7612D+00*SB2+0.1780D+00*SB3
0097           A5=-0.4547D+00+0.4410D+01*SB -0.3712D+01*SB2+0.1245D+01*SB3
0098         ELSEIF(IPRT .EQ. -5) THEN
0099           A0=SB** 0.9838D+00*Exp(-0.2548D+01-0.7660D+01*SB +
0100      &    0.3702D+01*SB2)
0101           A1=-0.3122D+00-0.2120D+00*SB +0.5716D+00*SB2-0.3773D+00*SB3
0102           A2= 0.6257D+01-0.8214D-01*SB -0.2537D+01*SB2+0.2981D+01*SB3
0103           A3=-0.6723D+00+0.2131D+01*SB +0.9599D+01*SB2-0.7910D+01*SB3
0104           A4= 0.9169D-01+0.4295D-01*SB -0.5017D+00*SB2+0.3811D+00*SB3
0105           A5= 0.2402D+00+0.2656D+01*SB -0.1586D+01*SB2+0.2880D+00*SB3
0106         ELSEIF(IPRT .EQ. -6) THEN
0107           A0=SB** 0.1001D+01*Exp(-0.6934D+01+0.3050D+01*SB -
0108      &    0.6943D+00*SB2)
0109           A1=-0.1713D+00-0.5167D+00*SB +0.1241D+01*SB2-0.1703D+01*SB3
0110           A2= 0.6169D+01+0.3023D+01*SB -0.1972D+02*SB2+0.1069D+02*SB3
0111           A3= 0.4439D+01-0.1746D+02*SB +0.1225D+02*SB2+0.8350D+00*SB3
0112           A4= 0.5458D+00-0.4586D+00*SB +0.9089D+00*SB2-0.4049D+00*SB3
0113           A5= 0.3207D+01-0.3362D+01*SB +0.5877D+01*SB2-0.7659D+01*SB3
0114         ENDIF
0115  
0116 C...Expansion for CTEQ3M.
0117       ELSEIF(ISET .EQ. 2) THEN
0118         IF(IPRT .EQ. 2) THEN
0119           A0=Exp( 0.2259D+00+0.1237D+00*SB +0.3035D+00*SB2-
0120      &    0.2935D+00*SB3)
0121           A1= 0.5085D+00+0.1651D-01*SB -0.3592D-01*SB2+0.2782D-01*SB3
0122           A2= 0.3732D+01+0.4901D+00*SB +0.2218D+00*SB2-0.1116D+00*SB3
0123           A3= 0.7011D+01-0.6620D+01*SB +0.2557D+01*SB2-0.1360D+00*SB3
0124           A4= 0.8969D+00-0.2429D+00*SB +0.1811D+00*SB2-0.6888D-01*SB3
0125           A5= 0.8636D-01+0.2558D+00*SB -0.3082D+00*SB2+0.2535D+00*SB3
0126         ELSEIF(IPRT .EQ. 1) THEN
0127           A0=Exp(-0.7266D+00-0.1584D+01*SB +0.1259D+01*SB2-
0128      &    0.4305D-01*SB3)
0129           A1= 0.5285D+00-0.3721D+00*SB +0.5150D+00*SB2-0.1697D+00*SB3
0130           A2= 0.4075D+01+0.8282D+00*SB -0.4496D+00*SB2+0.2107D+00*SB3
0131           A3= 0.3279D+01+0.5066D+01*SB -0.9134D+01*SB2+0.2897D+01*SB3
0132           A4= 0.4399D+00-0.5888D+00*SB +0.4802D+00*SB2-0.1664D+00*SB3
0133           A5= 0.3678D+00-0.8929D+00*SB +0.1592D+01*SB2-0.5713D+00*SB3
0134         ELSEIF(IPRT .EQ. 0) THEN
0135           A0=Exp(-0.2318D+00-0.9779D+00*SB -0.3783D+00*SB2+
0136      &    0.1037D-01*SB3)
0137           A1=-0.2916D+00+0.1754D+00*SB -0.1884D+00*SB2+0.6116D-01*SB3
0138           A2= 0.5349D+01+0.7460D+00*SB +0.2319D+00*SB2-0.2622D+00*SB3
0139           A3= 0.6920D+01-0.3454D+01*SB +0.2027D+01*SB2-0.7626D+00*SB3
0140           A4= 0.1013D+01+0.1423D+00*SB -0.1798D+00*SB2+0.1872D-01*SB3
0141           A5=-0.5465D-01+0.2303D+01*SB -0.9584D+00*SB2+0.3098D+00*SB3
0142         ELSEIF(IPRT .EQ. -1) THEN
0143           A0=Exp(-0.2328D+01-0.3061D+01*SB +0.3620D+01*SB2-
0144      &    0.1602D+01*SB3)
0145           A1=-0.3358D+00+0.3198D+00*SB -0.4210D+00*SB2+0.1571D+00*SB3
0146           A2= 0.8478D+01-0.3112D+01*SB +0.5243D+01*SB2-0.2255D+01*SB3
0147           A3= 0.1971D+02+0.3389D+00*SB -0.5268D+01*SB2+0.2099D+01*SB3
0148           A4= 0.1128D+01-0.4701D+00*SB +0.7779D+00*SB2-0.3506D+00*SB3
0149           A5=-0.4708D+00+0.3341D+01*SB -0.3375D+01*SB2+0.1353D+01*SB3
0150         ELSEIF(IPRT .EQ. -2) THEN
0151           A0=Exp(-0.2906D+01-0.1069D+00*SB -0.1055D+01*SB2+
0152      &    0.2496D+00*SB3)
0153           A1=-0.2875D+00+0.6571D-01*SB -0.1987D-01*SB2-0.1800D-02*SB3
0154           A2= 0.9854D+01-0.2715D+00*SB -0.7407D+00*SB2+0.2888D+00*SB3
0155           A3= 0.1583D+02-0.7687D+01*SB +0.3428D+01*SB2-0.3327D+00*SB3
0156           A4= 0.9763D+00+0.7599D-01*SB -0.2128D+00*SB2+0.6852D-01*SB3
0157           A5=-0.8444D-02+0.9434D+00*SB +0.4152D+00*SB2-0.1481D+00*SB3
0158         ELSEIF(IPRT .EQ. -3) THEN
0159           A0=Exp(-0.3780D+01+0.2499D+01*SB -0.4962D+01*SB2+
0160      &    0.1936D+01*SB3)
0161           A1=-0.2639D+00-0.1575D+00*SB +0.3584D+00*SB2-0.1646D+00*SB3
0162           A2= 0.8082D+01+0.2794D+01*SB -0.5438D+01*SB2+0.2321D+01*SB3
0163           A3= 0.1811D+02-0.2000D+02*SB +0.1951D+02*SB2-0.6904D+01*SB3
0164           A4= 0.9822D+00+0.4972D+00*SB -0.8690D+00*SB2+0.3415D+00*SB3
0165           A5= 0.1772D+00-0.6078D+00*SB +0.3341D+01*SB2-0.1473D+01*SB3
0166         ELSEIF(IPRT .EQ. -4) THEN
0167           A0=SB** 0.1122D+01*Exp(-0.4232D+01-0.1808D+01*SB +
0168      &    0.5348D+00*SB2)
0169           A1=-0.2824D+00+0.5846D+00*SB -0.7230D+00*SB2+0.2419D+00*SB3
0170           A2= 0.5683D+01-0.2948D+01*SB +0.5916D+01*SB2-0.2560D+01*SB3
0171           A3= 0.2051D+01+0.4795D+01*SB -0.4271D+01*SB2+0.4174D+00*SB3
0172           A4= 0.1737D+00+0.1717D+01*SB -0.1978D+01*SB2+0.6643D+00*SB3
0173           A5= 0.8689D+00+0.3500D+01*SB -0.3283D+01*SB2+0.1026D+01*SB3
0174         ELSEIF(IPRT .EQ. -5) THEN
0175           A0=SB** 0.9906D+00*Exp(-0.1496D+01-0.6576D+01*SB +
0176      &    0.1569D+01*SB2)
0177           A1=-0.2140D+00-0.6419D-01*SB -0.2741D-02*SB2+0.3185D-02*SB3
0178           A2= 0.5781D+01+0.1049D+00*SB -0.3930D+00*SB2+0.5174D+00*SB3
0179           A3=-0.9420D+00+0.5511D+00*SB +0.8817D+00*SB2+0.1903D+01*SB3
0180           A4= 0.2418D-01+0.4232D-01*SB -0.1244D-01*SB2-0.2365D-01*SB3
0181           A5= 0.7664D+00+0.1794D+01*SB -0.4917D+00*SB2-0.1284D+00*SB3
0182         ELSEIF(IPRT .EQ. -6) THEN
0183           A0=SB** 0.1000D+01*Exp(-0.8460D+01+0.1154D+01*SB +
0184      &    0.8838D+01*SB2)
0185           A1=-0.4316D-01-0.2976D+00*SB +0.3174D+00*SB2-0.1429D+01*SB3
0186           A2= 0.4910D+01+0.2273D+01*SB +0.5631D+01*SB2-0.1994D+02*SB3
0187           A3= 0.1190D+02-0.2000D+02*SB -0.2000D+02*SB2+0.1292D+02*SB3
0188           A4= 0.5771D+00-0.2552D+00*SB +0.7510D+00*SB2+0.6923D+00*SB3
0189           A5= 0.4402D+01-0.1627D+01*SB -0.2085D+01*SB2-0.6737D+01*SB3
0190         ENDIF
0191  
0192 C...Expansion for CTEQ3D.
0193       ELSEIF(ISET .EQ. 3) THEN
0194         IF(IPRT .EQ. 2) THEN
0195           A0=Exp( 0.2148D+00+0.5814D-01*SB +0.2734D+00*SB2-
0196      &    0.2902D+00*SB3)
0197           A1= 0.4810D+00+0.1657D-01*SB -0.3800D-01*SB2+0.3125D-01*SB3
0198           A2= 0.3509D+01+0.3923D+00*SB +0.4010D+00*SB2-0.1932D+00*SB3
0199           A3= 0.7055D+01-0.6552D+01*SB +0.3466D+01*SB2-0.5657D+00*SB3
0200           A4= 0.1061D+01-0.3453D+00*SB +0.4089D+00*SB2-0.1817D+00*SB3
0201           A5= 0.8687D-01+0.2548D+00*SB -0.2967D+00*SB2+0.2647D+00*SB3
0202         ELSEIF(IPRT .EQ. 1) THEN
0203           A0=Exp( 0.3961D+00+0.4914D+00*SB -0.1728D+01*SB2+
0204      &    0.7257D+00*SB3)
0205           A1= 0.4162D+00-0.1419D+00*SB +0.3680D+00*SB2-0.1618D+00*SB3
0206           A2= 0.3248D+01+0.3028D+01*SB -0.4307D+01*SB2+0.1920D+01*SB3
0207           A3=-0.1100D+01+0.2184D+01*SB -0.3820D+01*SB2+0.1717D+01*SB3
0208           A4= 0.2082D+01-0.2756D+00*SB +0.3043D+00*SB2-0.1260D+00*SB3
0209           A5=-0.4822D+00-0.5706D+00*SB +0.2243D+01*SB2-0.9760D+00*SB3
0210         ELSEIF(IPRT .EQ. 0) THEN
0211           A0=Exp(-0.4665D+00-0.7554D+00*SB -0.3323D+00*SB2-
0212      &    0.2734D-04*SB3)
0213           A1=-0.3359D+00+0.2395D+00*SB -0.2377D+00*SB2+0.7059D-01*SB3
0214           A2= 0.5451D+01+0.6086D+00*SB +0.8606D-01*SB2-0.1425D+00*SB3
0215           A3= 0.1026D+02-0.9352D+01*SB +0.4879D+01*SB2-0.1150D+01*SB3
0216           A4= 0.9935D+00-0.5017D-01*SB -0.1707D-01*SB2-0.1464D-02*SB3
0217           A5=-0.4160D-01+0.2305D+01*SB -0.1063D+01*SB2+0.3211D+00*SB3
0218         ELSEIF(IPRT .EQ. -1) THEN
0219           A0=Exp(-0.2714D+01-0.2868D+01*SB +0.3700D+01*SB2-
0220      &    0.1671D+01*SB3)
0221           A1=-0.3893D+00+0.3341D+00*SB -0.3897D+00*SB2+0.1420D+00*SB3
0222           A2= 0.8359D+01-0.3267D+01*SB +0.5327D+01*SB2-0.2245D+01*SB3
0223           A3= 0.2359D+02-0.5669D+01*SB -0.4602D+01*SB2+0.3153D+01*SB3
0224           A4= 0.1106D+01-0.4745D+00*SB +0.7739D+00*SB2-0.3417D+00*SB3
0225           A5=-0.5557D+00+0.3433D+01*SB -0.3390D+01*SB2+0.1354D+01*SB3
0226         ELSEIF(IPRT .EQ. -2) THEN
0227           A0=Exp(-0.3323D+01+0.2296D+00*SB -0.1109D+01*SB2+
0228      &    0.2223D+00*SB3)
0229           A1=-0.3410D+00+0.8847D-01*SB -0.1111D-01*SB2-0.5927D-02*SB3
0230           A2= 0.9753D+01-0.5182D+00*SB -0.4670D+00*SB2+0.1921D+00*SB3
0231           A3= 0.1977D+02-0.1600D+02*SB +0.9481D+01*SB2-0.1864D+01*SB3
0232           A4= 0.9818D+00+0.2839D-02*SB -0.1188D+00*SB2+0.3584D-01*SB3
0233           A5=-0.7934D-01+0.1004D+01*SB +0.3704D+00*SB2-0.1220D+00*SB3
0234         ELSEIF(IPRT .EQ. -3) THEN
0235           A0=Exp(-0.3985D+01+0.2855D+01*SB -0.5208D+01*SB2+
0236      &    0.1937D+01*SB3)
0237           A1=-0.3337D+00-0.1150D+00*SB +0.3691D+00*SB2-0.1709D+00*SB3
0238           A2= 0.7968D+01+0.3641D+01*SB -0.6599D+01*SB2+0.2642D+01*SB3
0239           A3= 0.1873D+02-0.1999D+02*SB +0.1734D+02*SB2-0.5813D+01*SB3
0240           A4= 0.9731D+00+0.5082D+00*SB -0.8780D+00*SB2+0.3231D+00*SB3
0241           A5=-0.5542D-01-0.4189D+00*SB +0.3309D+01*SB2-0.1439D+01*SB3
0242         ELSEIF(IPRT .EQ. -4) THEN
0243           A0=SB** 0.1105D+01*Exp(-0.3952D+01-0.1901D+01*SB +
0244      &    0.5137D+00*SB2)
0245           A1=-0.3543D+00+0.6055D+00*SB -0.6941D+00*SB2+0.2278D+00*SB3
0246           A2= 0.5955D+01-0.2629D+01*SB +0.5337D+01*SB2-0.2300D+01*SB3
0247           A3= 0.1933D+01+0.4882D+01*SB -0.3810D+01*SB2+0.2290D+00*SB3
0248           A4= 0.1806D+00+0.1655D+01*SB -0.1893D+01*SB2+0.6395D+00*SB3
0249           A5= 0.4790D+00+0.3612D+01*SB -0.3152D+01*SB2+0.9684D+00*SB3
0250         ELSEIF(IPRT .EQ. -5) THEN
0251           A0=SB** 0.9818D+00*Exp(-0.1825D+01-0.7464D+01*SB +
0252      &    0.2143D+01*SB2)
0253           A1=-0.2604D+00-0.1400D+00*SB +0.1702D+00*SB2-0.8476D-01*SB3
0254           A2= 0.6005D+01+0.6275D+00*SB -0.2535D+01*SB2+0.2219D+01*SB3
0255           A3=-0.9067D+00+0.1149D+01*SB +0.1974D+01*SB2+0.4716D+01*SB3
0256           A4= 0.3915D-01+0.5945D-01*SB -0.9844D-01*SB2+0.2783D-01*SB3
0257           A5= 0.5500D+00+0.1994D+01*SB -0.6727D+00*SB2-0.1510D+00*SB3
0258         ELSEIF(IPRT .EQ. -6) THEN
0259           A0=SB** 0.1002D+01*Exp(-0.8553D+01+0.3793D+00*SB +
0260      &    0.9998D+01*SB2)
0261           A1=-0.5870D-01-0.2792D+00*SB +0.6526D+00*SB2-0.1984D+01*SB3
0262           A2= 0.4716D+01+0.4473D+00*SB +0.1128D+02*SB2-0.1937D+02*SB3
0263           A3= 0.1289D+02-0.1742D+02*SB -0.1983D+02*SB2-0.9274D+00*SB3
0264           A4= 0.5647D+00-0.2732D+00*SB +0.1074D+01*SB2+0.5981D+00*SB3
0265           A5= 0.4390D+01-0.1262D+01*SB -0.9026D+00*SB2-0.9394D+01*SB3
0266         ENDIF
0267       ENDIF
0268  
0269 C...Calculation of x * f(x, Q).
0270       PYCTEQ = MAX(0D0, A0 *(X**A1) *((1D0-X)**A2) *(1D0+A3*(X**A4))
0271      &   *(LOG(1D0+1D0/X))**A5 )
0272  
0273       RETURN
0274       END