EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ctq6pdf.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ctq6pdf.F
1 C============================================================================
2 C CTEQ Parton Distribution Functions: Version 6.0
3 C January 24, 2002
4 C
5 C Ref: "New Generation of Parton Distributions with
6 C Uncertainties from Global QCD Analysis"
7 C By: J. Pumplin, D.R. Stump, J.Huston, H.L. Lai, P. Nadolsky, W.K. Tung
8 C hep-ph/0201195
9 C
10 C This package contains 3 standard sets of CTEQ6 PDF's and 40 up/down sets
11 C with respect to CTEQ6M PDF's. Details are:
12 C ---------------------------------------------------------------------------
13 C Iset PDF Description Alpha_s(Mz)**Lam4 Lam5 Table_File
14 C ---------------------------------------------------------------------------
15 C 1 CTEQ6M Standard MSbar scheme 0.118 326 226 cteq6m.tbl
16 C 2 CTEQ6D Standard DIS scheme 0.118 326 226 cteq6d.tbl
17 C 3 CTEQ6L Leading Order 0.118** 326** 226 cteq6l.tbl
18 C ------------------------------
19 C 1xx CTEQ6M1xx +/- w.r.t. CTEQ6M 0.118 326 226 cteq6m1xx.tbl
20 C (where xx=01--40)
21 C ---------------------------------------------------------------------------
22 C ** ALL fits are obtained by using the same coupling strength \alpha_s(Mz)=0.118;
23 C and the NLO running \alpha_s formula. For the LO fit, the evolution of the PDF
24 C and the hard cross sections are calculated at LO. More detailed discussions are
25 C given in hep-ph/0201195.
26 C
27 C The table grids are generated for 10^-6 < x < 1 and 1.3 < Q < 10,000 (GeV).
28 C PDF values outside of the above range are returned using extrapolation.
29 C Lam5 (Lam4) represents Lambda value (in MeV) for 5 (4) flavors.
30 C The matching alpha_s between 4 and 5 flavors takes place at Q=4.5 GeV,
31 C which is defined as the bottom quark mass, whenever it can be applied.
32 C
33 C The Table_Files are assumed to be in the working directory.
34 C
35 C Before using the PDF, it is necessary to do the initialization by
36 C Call SetCtq6(Iset)
37 C where Iset is the desired PDF specified in the above table.
38 C
39 C The function Ctq6Pdf (Iparton, X, Q)
40 C returns the parton distribution inside the proton for parton [Iparton]
41 C at [X] Bjorken_X and scale [Q] (GeV) in PDF set [Iset].
42 C Iparton is the parton label (5, 4, 3, 2, 1, 0, -1, ......, -5)
43 C for (b, c, s, d, u, g, u_bar, ..., b_bar),
44 C
45 C For detailed information on the parameters used, e.q. quark masses,
46 C QCD Lambda, ... etc., see info lines at the beginning of the
47 C Table_Files.
48 C
49 C These programs, as provided, are in double precision. By removing the
50 C "Implicit Double Precision" lines, they can also be run in single
51 C precision.
52 C
53 C If you have detailed questions concerning these CTEQ6 distributions,
54 C or if you find problems/bugs using this package, direct inquires to
55 C Pumplin@pa.msu.edu or Tung@pa.msu.edu.
56 C
57 C===========================================================================
58 
59  Function ctq6pdf (Iparton, X, Q)
60  Implicit Double Precision (a-h,o-z)
61  Logical warn
62  Common
63  > / ctqpar2 / nx, nt, nfmx
64  > / qcdtable / alambda, nfl, iorder
65 
66  Data warn /.true./
67  save warn
68 
69  If (x .lt. 0d0 .or. x .gt. 1d0) Then
70  print *, 'X out of range in Ctq6Pdf: ', x
71  stop
72  Endif
73  If (q .lt. alambda) Then
74  print *, 'Q out of range in Ctq6Pdf: ', q
75  stop
76  Endif
77  If ((iparton .lt. -nfmx .or. iparton .gt. nfmx)) Then
78  If (warn) Then
79 C put a warning for calling extra flavor.
80  warn = .false.
81  print *, 'Warning: Iparton out of range in Ctq6Pdf: '
82  > , iparton
83  Endif
84  ctq6pdf = 0d0
85  Return
86  Endif
87 
88  ctq6pdf = partonx6(iparton, x, q)
89  if(ctq6pdf.lt.0.d0) ctq6pdf = 0.d0
90 
91  Return
92 
93 C ********************
94  End