Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pyct5l.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pyct5l.f
1 
2 C*********************************************************************
3 
4 C...PYCT5L
5 C...Auxiliary function for parametrization of CTEQ5L.
6 C...Author: J. Pumplin 9/99.
7 
8 C...CTEQ5M1 and CTEQ5L Parton Distribution Functions
9 C...in Parametrized Form
10 C... September 15, 1999
11 C
12 C...Ref: "GLOBAL QCD ANALYSIS OF PARTON STRUCTURE OF THE NUCLEON:
13 C... CTEQ5 PPARTON DISTRIBUTIONS"
14 C...hep-ph/9903282
15 
16 C...The CTEQ5M1 set given here is an updated version of the original
17 C...CTEQ5M set posted, in the table version, on the Web page of CTEQ.
18 C...The differences between CTEQ5M and CTEQ5M1 are insignificant for
19 C...almost all applications.
20 C...The improvement is in the QCD evolution which is now more
21 C...accurate, and which agrees completely with the benchmark work
22 C...of the HERA 96/97 Workshop.
23 C...The differences between the parametrized and the corresponding
24 C...table versions (on which it is based) are of similar order as
25 C...between the two version.
26 
27 C...!! Because accurate parametrizations over a wide range of (x,Q)
28 C...is hard to obtain, only the most widely used sets CTEQ5M and
29 C...CTEQ5L are available in parametrized form for now.
30 
31 C...These parametrizations were obtained by Jon Pumplin.
32 
33 C Iset PDF Description Alpha_s(Mz) Lam4 Lam5
34 C -------------------------------------------------------------------
35 C 1 CTEQ5M1 Standard NLO MSbar scheme 0.118 326 226
36 C 3 CTEQ5L Leading Order 0.127 192 146
37 C -------------------------------------------------------------------
38 C...Note the Qcd-lambda values given for CTEQ5L is for the leading
39 C...order form of Alpha_s!! Alpha_s(Mz) gives the absolute
40 C...calibration.
41 
42 C...The two Iset value are adopted to agree with the standard table
43 C...versions.
44 
45 C...Range of validity:
46 C...The range of (x, Q) covered by this parametrization of the QCD
47 C...evolved parton distributions is 1E-6 < x < 1 ;
48 C...1.1 GeV < Q < 10 TeV. Of course, the PDFs are constrained by
49 C...data only in a subset of that region; and the assumed DGLAP
50 C...evolution is unlikely to be valid for all of it either.
51 
52 C...The range of (x, Q) used in the CTEQ5 round of global analysis is
53 C...approximately 0.01 < x < 0.75 ; and 4 GeV^2 < Q^2 < 400 GeV^2 for
54 C...fixed target experiments; 0.0001 < x < 0.3 from HERA data; and
55 C...Q^2 up to 40,000 GeV^2 from Tevatron inclusive Jet data.
56 
57  FUNCTION pyct5l(IFL,X,Q)
58 
59 C...Double precision declaration.
60  IMPLICIT DOUBLE PRECISION(a-h, o-z)
61  IMPLICIT INTEGER(i-n)
62 
63  parameter(nex=8, nlf=2)
64  dimension am(0:nex,0:nlf,-5:2)
65  dimension alfvec(-5:2), qmavec(-5:2)
66  dimension mexvec(-5:2), mlfvec(-5:2)
67  dimension ut1vec(-5:2), ut2vec(-5:2)
68  dimension af(0:nex)
69 
70  DATA mexvec( 2) / 8 /
71  DATA mlfvec( 2) / 2 /
72  DATA ut1vec( 2) / 0.4971265e+01 /
73  DATA ut2vec( 2) / -0.1105128e+01 /
74  DATA alfvec( 2) / 0.2987216e+00 /
75  DATA qmavec( 2) / 0.0000000e+00 /
76  DATA (am( 0,k, 2),k=0, 2)
77  & / 0.5292616e+01, -0.2751910e+01, -0.2488990e+01 /
78  DATA (am( 1,k, 2),k=0, 2)
79  & / 0.9714424e+00, 0.1011827e-01, -0.1023660e-01 /
80  DATA (am( 2,k, 2),k=0, 2)
81  & / -0.1651006e+02, 0.7959721e+01, 0.8810563e+01 /
82  DATA (am( 3,k, 2),k=0, 2)
83  & / -0.1643394e+02, 0.5892854e+01, 0.9348874e+01 /
84  DATA (am( 4,k, 2),k=0, 2)
85  & / 0.3067422e+02, 0.4235796e+01, -0.5112136e+00 /
86  DATA (am( 5,k, 2),k=0, 2)
87  & / 0.2352526e+02, -0.5305168e+01, -0.1169174e+02 /
88  DATA (am( 6,k, 2),k=0, 2)
89  & / -0.1095451e+02, 0.3006577e+01, 0.5638136e+01 /
90  DATA (am( 7,k, 2),k=0, 2)
91  & / -0.1172251e+02, -0.2183624e+01, 0.4955794e+01 /
92  DATA (am( 8,k, 2),k=0, 2)
93  & / 0.1662533e-01, 0.7622870e-02, -0.4895887e-03 /
94 
95  DATA mexvec( 1) / 8 /
96  DATA mlfvec( 1) / 2 /
97  DATA ut1vec( 1) / 0.2612618e+01 /
98  DATA ut2vec( 1) / -0.1258304e+06 /
99  DATA alfvec( 1) / 0.3407552e+00 /
100  DATA qmavec( 1) / 0.0000000e+00 /
101  DATA (am( 0,k, 1),k=0, 2)
102  & / 0.9905300e+00, -0.4502235e+00, 0.1624441e+00 /
103  DATA (am( 1,k, 1),k=0, 2)
104  & / 0.8867534e+00, 0.1630829e-01, -0.4049085e-01 /
105  DATA (am( 2,k, 1),k=0, 2)
106  & / 0.8547974e+00, 0.3336301e+00, 0.1371388e+00 /
107  DATA (am( 3,k, 1),k=0, 2)
108  & / 0.2941113e+00, -0.1527905e+01, 0.2331879e+00 /
109  DATA (am( 4,k, 1),k=0, 2)
110  & / 0.3384235e+02, 0.3715315e+01, 0.8276930e+00 /
111  DATA (am( 5,k, 1),k=0, 2)
112  & / 0.6230115e+01, 0.3134639e+01, -0.1729099e+01 /
113  DATA (am( 6,k, 1),k=0, 2)
114  & / -0.1186928e+01, -0.3282460e+00, 0.1052020e+00 /
115  DATA (am( 7,k, 1),k=0, 2)
116  & / -0.8545702e+01, -0.6247947e+01, 0.3692561e+01 /
117  DATA (am( 8,k, 1),k=0, 2)
118  & / 0.1724598e-01, 0.7120465e-02, 0.4003646e-04 /
119 
120  DATA mexvec( 0) / 8 /
121  DATA mlfvec( 0) / 2 /
122  DATA ut1vec( 0) / -0.4656819e+00 /
123  DATA ut2vec( 0) / -0.2742390e+03 /
124  DATA alfvec( 0) / 0.4491863e+00 /
125  DATA qmavec( 0) / 0.0000000e+00 /
126  DATA (am( 0,k, 0),k=0, 2)
127  & / 0.1193572e+03, -0.3886845e+01, -0.1133965e+01 /
128  DATA (am( 1,k, 0),k=0, 2)
129  & / -0.9421449e+02, 0.3995885e+01, 0.1607363e+01 /
130  DATA (am( 2,k, 0),k=0, 2)
131  & / 0.4206383e+01, 0.2485954e+00, 0.2497468e+00 /
132  DATA (am( 3,k, 0),k=0, 2)
133  & / 0.1210557e+03, -0.3015765e+01, -0.1423651e+01 /
134  DATA (am( 4,k, 0),k=0, 2)
135  & / -0.1013897e+03, -0.7113478e+00, 0.2621865e+00 /
136  DATA (am( 5,k, 0),k=0, 2)
137  & / -0.1312404e+01, -0.9297691e+00, -0.1562531e+00 /
138  DATA (am( 6,k, 0),k=0, 2)
139  & / 0.1627137e+01, 0.4954111e+00, -0.6387009e+00 /
140  DATA (am( 7,k, 0),k=0, 2)
141  & / 0.1537698e+00, -0.2487878e+00, 0.8305947e+00 /
142  DATA (am( 8,k, 0),k=0, 2)
143  & / 0.2496448e-01, 0.2457823e-02, 0.8234276e-03 /
144 
145  DATA mexvec(-1) / 8 /
146  DATA mlfvec(-1) / 2 /
147  DATA ut1vec(-1) / 0.3862583e+01 /
148  DATA ut2vec(-1) / -0.1265969e+01 /
149  DATA alfvec(-1) / 0.2457668e+00 /
150  DATA qmavec(-1) / 0.0000000e+00 /
151  DATA (am( 0,k,-1),k=0, 2)
152  & / 0.2647441e+02, 0.1059277e+02, -0.9176654e+00 /
153  DATA (am( 1,k,-1),k=0, 2)
154  & / 0.1990636e+01, 0.8558918e-01, 0.4248667e-01 /
155  DATA (am( 2,k,-1),k=0, 2)
156  & / -0.1476095e+02, -0.3276255e+02, 0.1558110e+01 /
157  DATA (am( 3,k,-1),k=0, 2)
158  & / -0.2966889e+01, -0.3649037e+02, 0.1195914e+01 /
159  DATA (am( 4,k,-1),k=0, 2)
160  & / -0.1000519e+03, -0.2464635e+01, 0.1964849e+00 /
161  DATA (am( 5,k,-1),k=0, 2)
162  & / 0.3718331e+02, 0.4700389e+02, -0.2772142e+01 /
163  DATA (am( 6,k,-1),k=0, 2)
164  & / -0.1872722e+02, -0.2291189e+02, 0.1089052e+01 /
165  DATA (am( 7,k,-1),k=0, 2)
166  & / -0.1628146e+02, -0.1823993e+02, 0.2537369e+01 /
167  DATA (am( 8,k,-1),k=0, 2)
168  & / -0.1156300e+01, -0.1280495e+00, 0.5153245e-01 /
169 
170  DATA mexvec(-2) / 7 /
171  DATA mlfvec(-2) / 2 /
172  DATA ut1vec(-2) / 0.1895615e+00 /
173  DATA ut2vec(-2) / -0.3069097e+01 /
174  DATA alfvec(-2) / 0.5293999e+00 /
175  DATA qmavec(-2) / 0.0000000e+00 /
176  DATA (am( 0,k,-2),k=0, 2)
177  & / -0.6556775e+00, 0.2490190e+00, 0.3966485e-01 /
178  DATA (am( 1,k,-2),k=0, 2)
179  & / 0.1305102e+01, -0.1188925e+00, -0.4600870e-02 /
180  DATA (am( 2,k,-2),k=0, 2)
181  & / -0.2371436e+01, 0.3566814e+00, -0.2834683e+00 /
182  DATA (am( 3,k,-2),k=0, 2)
183  & / -0.6152826e+01, 0.8339877e+00, -0.7233230e+00 /
184  DATA (am( 4,k,-2),k=0, 2)
185  & / -0.8346558e+01, 0.2892168e+01, 0.2137099e+00 /
186  DATA (am( 5,k,-2),k=0, 2)
187  & / 0.1279530e+02, 0.1021114e+00, 0.5787439e+00 /
188  DATA (am( 6,k,-2),k=0, 2)
189  & / 0.5858816e+00, -0.1940375e+01, -0.4029269e+00 /
190  DATA (am( 7,k,-2),k=0, 2)
191  & / -0.2795725e+02, -0.5263392e+00, 0.1290229e+01 /
192 
193  DATA mexvec(-3) / 7 /
194  DATA mlfvec(-3) / 2 /
195  DATA ut1vec(-3) / 0.3753257e+01 /
196  DATA ut2vec(-3) / -0.1113085e+01 /
197  DATA alfvec(-3) / 0.3713141e+00 /
198  DATA qmavec(-3) / 0.0000000e+00 /
199  DATA (am( 0,k,-3),k=0, 2)
200  & / 0.1580931e+01, -0.2273826e+01, -0.1822245e+01 /
201  DATA (am( 1,k,-3),k=0, 2)
202  & / 0.2702644e+01, 0.6763243e+00, 0.7231586e-02 /
203  DATA (am( 2,k,-3),k=0, 2)
204  & / -0.1857924e+02, 0.3907500e+01, 0.5850109e+01 /
205  DATA (am( 3,k,-3),k=0, 2)
206  & / -0.3044793e+02, 0.2639332e+01, 0.5566644e+01 /
207  DATA (am( 4,k,-3),k=0, 2)
208  & / -0.4258011e+01, -0.5429244e+01, 0.4418946e+00 /
209  DATA (am( 5,k,-3),k=0, 2)
210  & / 0.3465259e+02, -0.5532604e+01, -0.4904153e+01 /
211  DATA (am( 6,k,-3),k=0, 2)
212  & / -0.1658858e+02, 0.2923275e+01, 0.2266286e+01 /
213  DATA (am( 7,k,-3),k=0, 2)
214  & / -0.1149263e+02, 0.2877475e+01, -0.7999105e+00 /
215 
216  DATA mexvec(-4) / 7 /
217  DATA mlfvec(-4) / 2 /
218  DATA ut1vec(-4) / 0.4400772e+01 /
219  DATA ut2vec(-4) / -0.1356116e+01 /
220  DATA alfvec(-4) / 0.3712017e-01 /
221  DATA qmavec(-4) / 0.1300000e+01 /
222  DATA (am( 0,k,-4),k=0, 2)
223  & / -0.8293661e+00, -0.3982375e+01, -0.6494283e-01 /
224  DATA (am( 1,k,-4),k=0, 2)
225  & / 0.2754618e+01, 0.8338636e+00, -0.6885160e-01 /
226  DATA (am( 2,k,-4),k=0, 2)
227  & / -0.1657987e+02, 0.1439143e+02, -0.6887240e+00 /
228  DATA (am( 3,k,-4),k=0, 2)
229  & / -0.2800703e+02, 0.1535966e+02, -0.7377693e+00 /
230  DATA (am( 4,k,-4),k=0, 2)
231  & / -0.6460216e+01, -0.4783019e+01, 0.4913297e+00 /
232  DATA (am( 5,k,-4),k=0, 2)
233  & / 0.3141830e+02, -0.3178031e+02, 0.7136013e+01 /
234  DATA (am( 6,k,-4),k=0, 2)
235  & / -0.1802509e+02, 0.1862163e+02, -0.4632843e+01 /
236  DATA (am( 7,k,-4),k=0, 2)
237  & / -0.1240412e+02, 0.2565386e+02, -0.1066570e+02 /
238 
239  DATA mexvec(-5) / 6 /
240  DATA mlfvec(-5) / 2 /
241  DATA ut1vec(-5) / 0.5562568e+01 /
242  DATA ut2vec(-5) / -0.1801317e+01 /
243  DATA alfvec(-5) / 0.4952010e-02 /
244  DATA qmavec(-5) / 0.4500000e+01 /
245  DATA (am( 0,k,-5),k=0, 2)
246  & / -0.6031237e+01, 0.1992727e+01, -0.1076331e+01 /
247  DATA (am( 1,k,-5),k=0, 2)
248  & / 0.2933912e+01, 0.5839674e+00, 0.7509435e-01 /
249  DATA (am( 2,k,-5),k=0, 2)
250  & / -0.8284919e+01, 0.1488593e+01, -0.8251678e+00 /
251  DATA (am( 3,k,-5),k=0, 2)
252  & / -0.1925986e+02, 0.2805753e+01, -0.3015446e+01 /
253  DATA (am( 4,k,-5),k=0, 2)
254  & / -0.9480483e+01, -0.9767837e+00, -0.1165544e+01 /
255  DATA (am( 5,k,-5),k=0, 2)
256  & / 0.2193195e+02, -0.1788518e+02, 0.9460908e+01 /
257  DATA (am( 6,k,-5),k=0, 2)
258  & / -0.1327377e+02, 0.1201754e+02, -0.6277844e+01 /
259 
260  IF(q .LE. qmavec(ifl)) THEN
261  pyct5l = 0.d0
262  RETURN
263  ENDIF
264 
265  IF(x .GE. 1.d0) THEN
266  pyct5l = 0.d0
267  RETURN
268  ENDIF
269 
270  tmp = log(q/alfvec(ifl))
271  IF(tmp .LE. 0.d0) THEN
272  pyct5l = 0.d0
273  RETURN
274  ENDIF
275 
276  sb = log(tmp)
277  sb1 = sb - 1.2d0
278  sb2 = sb1*sb1
279 
280  DO 110 i = 0, nex
281  af(i) = 0.d0
282  sbx = 1.d0
283  DO 100 k = 0, mlfvec(ifl)
284  af(i) = af(i) + sbx*am(i,k,ifl)
285  sbx = sb1*sbx
286  100 CONTINUE
287  110 CONTINUE
288 
289  y = -log(x)
290  u = log(x/0.00001d0)
291 
292  part1 = af(1)*y**(1.d0+0.01d0*af(4))*(1.d0+ af(8)*u)
293  part2 = af(0)*(1.d0 - x) + af(3)*x
294  part3 = x*(1.d0-x)*(af(5)+af(6)*(1.d0-x)+af(7)*x*(1.d0-x))
295  part4 = ut1vec(ifl)*log(1.d0-x) +
296  & af(2)*log(1.d0+exp(ut2vec(ifl))-x)
297 
298  pyct5l = exp(log(x) + part1 + part2 + part3 + part4)
299 
300 C...Include threshold factor.
301  pyct5l = pyct5l * (1.d0 - qmavec(ifl)/q)
302 
303  RETURN
304  END