1 C-----------------------------------------------------------------------
3 C============================================================================
4 C CTEQ Parton Distribution Functions: Version 4.6
6 C Modified: 10/17/96, 1/7/97, 1/15/97
8 C Last Modified on April 2, 1997
10 C Ref[1]: "IMPROVED PARTON DISTRIBUTIONS FROM GLOBAL ANALYSIS OF RECENT DEEP
11 C INELASTIC SCATTERING AND INCLUSIVE JET DATA"
12 C By: H.L. Lai, J. Huston, S. Kuhlmann, F. Olness, J. Owens, D. Soper
13 C W.K. Tung, H. Weerts
14 C Phys. Rev. D55, 1280 (1997)
16 C Ref[2]: "CHARM PRODUCTION AND PARTON DISTRIBUTIONS"
17 C By: H.L. Lai and W.K. Tung
18 C MSU-HEP-61222, CTEQ-622, e-Print Archive: hep-ph/9701256
19 C to appear in Z. Phys.
21 C This package contains 13 sets of CTEQ4 PDF's. Details are:
22 C ---------------------------------------------------------------------------
23 C Iset PDF Description Alpha_s(Mz) Lam4 Lam5 Table_File
24 C ---------------------------------------------------------------------------
26 C 1 CTEQ4M Standard MSbar scheme 0.116 298 202 cteq4m.tbl
27 C 2 CTEQ4D Standard DIS scheme 0.116 298 202 cteq4d.tbl
28 C 3 CTEQ4L Leading Order 0.132 236 181 cteq4l.tbl
29 C 4 CTEQ4A1 Alpha_s series 0.110 215 140 cteq4a1.tbl
30 C 5 CTEQ4A2 Alpha_s series 0.113 254 169 cteq4a2.tbl
31 C 6 CTEQ4A3 ( same as CTEQ4M )
32 C 7 CTEQ4A4 Alpha_s series 0.119 346 239 cteq4a4.tbl
33 C 8 CTEQ4A5 Alpha_s series 0.122 401 282 cteq4a5.tbl
34 C 9 CTEQ4HJ High Jet 0.116 303 206 cteq4hj.tbl
35 C 10 CTEQ4LQ Low Q0 0.114 261 174 cteq4lq.tbl
36 C ---------------------------------------------------------------------------
38 C 11 CTEQ4HQ Heavy Quark 0.116 298 202 cteq4hq.tbl
39 C 12 CTEQ4HQ1 Heavy Quark:Q0=1,Mc=1.3 0.116 298 202 cteq4hq1.tbl
40 C (Improved version of CTEQ4HQ, recommended)
41 C 13 CTEQ4F3 Nf=3 FixedFlavorNumber 0.106 (Lam3=385) cteq4f3.tbl
42 C 14 CTEQ4F4 Nf=4 FixedFlavorNumber 0.111 292 XXX cteq4f4.tbl
43 C ---------------------------------------------------------------------------
45 C The available applied range is 10^-5 < x < 1 and 1.6 < Q < 10,000 (GeV)
46 C except CTEQ4LQ(4HQ1) for which Q starts at a lower value of 0.7(1.0) GeV.
47 C Lam5 (Lam4, Lam3) represents Lambda value (in MeV) for 5 (4,3) flavors.
48 C The matching alpha_s between 4 and 5 flavors takes place at Q=5.0 GeV,
49 C which is defined as the bottom quark mass, whenever it can be applied.
51 C The Table_Files are assumed to be in the working directory.
53 C Before using the PDF, it is necessary to do the initialization by
55 C where Iset is the desired PDF specified in the above table.
57 C The function Ctq4Pdf (Iparton, X, Q)
58 C returns the parton distribution inside the proton for parton [Iparton]
59 C at [X] Bjorken_X and scale [Q] (GeV) in PDF set [Iset].
60 C Iparton is the parton label (5, 4, 3, 2, 1, 0, -1, ......, -5)
61 C for (b, c, s, d, u, g, u_bar, ..., b_bar),
62 C whereas CTEQ4F3 has, by definition, only 3 flavors and gluon;
63 C CTEQ4F4 has only 4 flavors and gluon.
65 C For detailed information on the parameters used, e.q. quark masses,
66 C QCD Lambda, ... etc., see info lines at the beginning of the
69 C These programs, as provided, are in double precision. By removing the
70 C "Implicit Double Precision" lines, they can also be run in single
73 C If you have detailed questions concerning these CTEQ4 distributions,
74 C or if you find problems/bugs using this package, direct inquires to
75 C Hung-Liang Lai(Lai_H@pa.msu.edu) or Wu-Ki Tung(Tung@pa.msu.edu).
77 C===========================================================================
78 #if defined(CERNLIB_SINGLE)
79 Function Ctq4Fn (Iset, Iparton, X, Q)
81 #if defined(CERNLIB_DOUBLE)
82 DOUBLE PRECISION FUNCTION Ctq4Fn (Iset, Iparton, X, Q)
84 #include "pdf/impdp.inc"
85 Data Isetold, Isetmin, Isetmax / -987, 1, 10 /
88 C If data file not initialized, do so.
89 If(Iset.ne.Isetold) then
90 if(Iset.eq.1) Call Ctq4RM (Iset)
91 if(Iset.eq.2) Call Ctq4RD (Iset)
92 if(Iset.eq.3) Call Ctq4RL (Iset)
93 if(Iset.eq.4) Call Ctq4RA1 (Iset)
94 if(Iset.eq.5) Call Ctq4RA2 (Iset)
95 if(Iset.eq.6) Call Ctq4RM (Iset)
96 if(Iset.eq.7) Call Ctq4RA4 (Iset)
97 if(Iset.eq.8) Call Ctq4RA5 (Iset)
98 if(Iset.eq.9) Call Ctq4RHJ (Iset)
99 if(Iset.eq.10) Call Ctq4RlQ (Iset)
100 if(Iset.eq.11) Call Ctq4RHQ (Iset)
101 if(Iset.eq.12) Call Ctq4R_HQ1 (Iset)
102 if(Iset.eq.13) Call Ctq4RF3 (Iset)
103 if(Iset.eq.14) Call Ctq4RF4 (Iset)
107 Ctq4Fn = Ctq4PnX (Iparton, X, Q)
108 if(Ctq4Fn.lt.0.D0) Ctq4Fn = 0.D0
111 C ********************