]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PDF/spdf/ctq4fn.F
Removal of useless dependencies via forward declarations
[u/mrichter/AliRoot.git] / PDF / spdf / ctq4fn.F
1 C-----------------------------------------------------------------------
2 #include "pdf/pilot.h"
3 C============================================================================
4 C                CTEQ Parton Distribution Functions: Version 4.6
5 C                             June 21, 1996
6 C                   Modified: 10/17/96, 1/7/97, 1/15/97
7 C                             2/17/97, 2/21/97
8 C                   Last Modified on April 2, 1997
9 C
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)
15 C
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.
20 C
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 ---------------------------------------------------------------------------
25 C Ref[1]
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 ---------------------------------------------------------------------------
37 C Ref[2]
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 ---------------------------------------------------------------------------
44 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.
50 C
51 C   The Table_Files are assumed to be in the working directory.
52 C   
53 C   Before using the PDF, it is necessary to do the initialization by
54 C       Call SetCtq4(Iset) 
55 C   where Iset is the desired PDF specified in the above table.
56 C   
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.
64 C   
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 
67 C   Table_Files.
68 C
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 
71 C   precision.
72 C   
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).
76 C   
77 C===========================================================================
78 #if defined(CERNLIB_SINGLE)
79       Function Ctq4Fn (Iset, Iparton, X, Q)
80 #endif
81 #if defined(CERNLIB_DOUBLE)
82       DOUBLE PRECISION FUNCTION Ctq4Fn (Iset, Iparton, X, Q)
83 #endif
84 #include "pdf/impdp.inc"
85       Data Isetold, Isetmin, Isetmax / -987, 1, 10 /
86       save
87
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)
104          Isetold=Iset
105       Endif
106 C
107       Ctq4Fn = Ctq4PnX (Iparton, X, Q)
108       if(Ctq4Fn.lt.0.D0)  Ctq4Fn = 0.D0
109 C
110       Return
111 C                             ********************
112       End