EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ctq5pdf.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ctq5pdf.F
1 
2 
3 C============================================================================
4 C CTEQ Parton Distribution Functions: Version 5.0
5 C Nov. 1, 1999
6 C
7 C Ref: "GLOBAL QCD ANALYSIS OF PARTON STRUCTURE OF THE NUCLEON:
8 C CTEQ5 PPARTON DISTRIBUTIONS"
9 C
10 C hep-ph/9903282; to be published in Eur. Phys. J. C 1999.
11 C
12 C These PDF's use quadratic interpolation of attached tables. A parametrized
13 C version of the same PDF's without external tables is under construction.
14 C They will become available later.
15 C
16 C This package contains 7 sets of CTEQ5 PDF's; plus two updated ones.
17 C The undated CTEQ5M1 and CTEQHQ1 use an improved evolution code.
18 C Both the original and the updated ones fit current data with comparable
19 C accuracy. The CTEQHQ1 set also involve a different choice of scale,
20 C hence differs from CTEQHQ slightly more. It is preferred over CTEQ5HQ.
21 
22 C Details are:
23 C ---------------------------------------------------------------------------
24 C Iset PDF Description Alpha_s(Mz) Lam4 Lam5 Table_File
25 C ---------------------------------------------------------------------------
26 C x 1 CTEQ5M Standard MSbar scheme 0.118 326 226 cteq5m.tbl
27 C 2 CTEQ5D Standard DIS scheme 0.118 326 226 cteq5d.tbl
28 C x 3 CTEQ5L Leading Order 0.127 192 146 cteq5l.tbl
29 C 4 CTEQ5HJ Large-x gluon enhanced 0.118 326 226 cteq5hj.tbl
30 C 5 CTEQ5HQ Heavy Quark 0.118 326 226 cteq5hq.tbl
31 C 6 CTEQ5F3 Nf=3 FixedFlavorNumber 0.106 (Lam3=395) cteq5f3.tbl
32 C 7 CTEQ5F4 Nf=4 FixedFlavorNumber 0.112 309 XXX cteq5f4.tbl
33 C --------------------------------------------------------
34 C x 8 CTEQ5M1 Improved CTEQ5M 0.118 326 226 cteq5m1.tbl
35 C 9 CTEQ5HQ1 Improved CTEQ5HQ 0.118 326 226 ctq5hq1.tbl
36 C ---------------------------------------------------------------------------
37 C
38 C The available applied range is 10^-5 << x << 1 and 1.0 << Q << 10,000 (GeV).
39 C Lam5 (Lam4, Lam3) represents Lambda value (in MeV) for 5 (4,3) flavors.
40 C The matching alpha_s between 4 and 5 flavors takes place at Q=4.5 GeV,
41 C which is defined as the bottom quark mass, whenever it can be applied.
42 C
43 C The Table_Files are assumed to be in the working directory.
44 C
45 C Before using the PDF, it is necessary to do the initialization by
46 C Call SetCtq5(Iset)
47 C where Iset is the desired PDF specified in the above table.
48 C
49 C The function Ctq5Pdf (Iparton, X, Q)
50 C returns the parton distribution inside the proton for parton [Iparton]
51 C at [X] Bjorken_X and scale [Q] (GeV) in PDF set [Iset].
52 C Iparton is the parton label (5, 4, 3, 2, 1, 0, -1, ......, -5)
53 C for (b, c, s, d, u, g, u_bar, ..., b_bar),
54 C whereas CTEQ5F3 has, by definition, only 3 flavors and gluon;
55 C CTEQ5F4 has only 4 flavors and gluon.
56 C
57 C For detailed information on the parameters used, e.q. quark masses,
58 C QCD Lambda, ... etc., see info lines at the beginning of the
59 C Table_Files.
60 C
61 C These programs, as provided, are in double precision. By removing the
62 C "Implicit Double Precision" lines, they can also be run in single
63 C precision.
64 C
65 C If you have detailed questions concerning these CTEQ5 distributions,
66 C or if you find problems/bugs using this package, direct inquires to
67 C Hung-Liang Lai(lai@phys.nthu.edu.tw) or Wu-Ki Tung(Tung@pa.msu.edu).
68 C
69 C===========================================================================
70 
71  Function ctq5pdf (Iparton, X, Q)
72  Implicit Double Precision (a-h,o-z)
73  Logical warn
74  Common
75  > / ctqpar2 / nx, nt, nfmx
76  > / qcdtable / alambda, nfl, iorder
77 
78  Data warn /.true./
79  save warn
80 
81  If (x .lt. 0d0 .or. x .gt. 1d0) Then
82  print *, 'X out of range in Ctq5Pdf: ', x
83  stop
84  Endif
85  If (q .lt. alambda) Then
86  print *, 'Q out of range in Ctq5Pdf: ', q
87  stop
88  Endif
89  If ((iparton .lt. -nfmx .or. iparton .gt. nfmx)) Then
90  If (warn) Then
91 C put a warning for calling extra flavor.
92  warn = .false.
93  print *, 'Warning: Iparton out of range in Ctq5Pdf: '
94  > , iparton
95  Endif
96  ctq5pdf = 0d0
97  Return
98  Endif
99 
100  ctq5pdf = partonx5(iparton, x, q)
101  if(ctq5pdf.lt.0.d0) ctq5pdf = 0.d0
102 
103  Return
104 C ********************
105  End