]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PDF/spdf/ctq5mi.F
PDF version 8 added
[u/mrichter/AliRoot.git] / PDF / spdf / ctq5mi.F
diff --git a/PDF/spdf/ctq5mi.F b/PDF/spdf/ctq5mi.F
new file mode 100644 (file)
index 0000000..c170006
--- /dev/null
@@ -0,0 +1,113 @@
+#include "pdf/pilot.h"
+C   CTEQ5M1 and CTEQ5L Parton Distribution Functions in Parametrized Form
+C                             
+C               September 15, 1999
+C
+C   Ref: "GLOBAL QCD ANALYSIS OF PARTON STRUCTURE OF THE NUCLEON:
+C         CTEQ5 PPARTON DISTRIBUTIONS"
+C   hep-ph/9903282
+C
+C   The CTEQ5M1 set given here is an updated version of the original CTEQ5M
+C     set posted, in the table version, on the Web page of CTEQ.
+C     The differences between CTEQ5M and CTEQ5M1 are insignificant for almost
+C     all applications. 
+C   The improvement is in the QCD evolution which is now more accurate, and
+C   which agrees completely with the benchmark work of the HERA 96/97 Workshop.
+C
+C   The differences between the parametrized and the corresponding table ver-
+C sions (on which it is based) are of similar order as between the two version.
+C    
+C!! Because accurate parametrizations over a wide range of (x,Q) is hard to
+C   obtain, only the most widely used sets CTEQ5M and CTEQ5L are available 
+C   in parametrized form for now. 
+C
+C   These parametrizations were obtained by Jon Pumplin.
+C
+C                    ******************************
+C  Iset   PDF        Description                 Alpha_s(Mz)  Lam4  Lam5
+C ---------------------------------------------------------------------------
+C   1    CTEQ5M1  Standard NLO MSbar scheme         0.118     326   226
+C   3    CTEQ5L   Leading Order                     0.127     192   146
+C ---------------------------------------------------------------------------
+C   Note the Qcd-lambda values given for CTEQ5L is for the leading order
+C     form of Alpha_s!!  Alpha_s(Mz) gives the absolute calibration.
+C
+C  The two Iset value are adopted to agree with the standard table versions.
+C
+C   The following user-callable routines are provided:
+C 
+C     FUNCTION Ctq5Pd (Iset, Iprtn, X, Q, Irt) 
+C         returns the PROBABILITY density for a GIVEN flavor;
+C
+C     FUNCTION Ctq5df (Iset, Iprtn, X, Q, Irt)
+C         returns the MOMENTUM density of a GIVEN valence or sea distribution.
+C
+C     SUBROUTINE Ctq5Pds(Iset, Pdf, X, Q, Irt)
+C         returns an array of MOMENTUM densities for ALL flavors;
+C
+C   The arguments of these routines are as follows: 
+C
+C   Iset is the set number:  1 for CTEQ5M1 or 3 for CTEQ5L  
+C
+C   Iprtn  is the parton label (6, 5, 4, 3, 2, 1, 0, -1, ......, -6)
+C                          for (t, b, c, s, d, u, g, u_bar, ..., t_bar)
+C  *** WARNING: We use the parton label 2 as D-quark and 1 as U-quark, 
+C               which might be different from your labels.
+C
+C   X, Q are the usual x, Q; 
+C
+C   Irt is an error code: 0 if there was no error; 1 or more if (x,q) was 
+C   outside the range of validity of the parametrization.
+C       
+C  Range of validity:
+C  
+C     The range of (x, Q) covered by this parametrization of the QCD evolved
+C     parton distributions is 1E-6 < x < 1 ; 1.1 GeV < Q < 10 TeV.  Of course,
+C     the PDF's are constrained by data only in a subset of that region; and 
+C     the assumed DGLAP evolution is unlikely to be valid for all of it either.
+C
+C     The range of (x, Q) used in the CTEQ5 round of global analysis is 
+C     approximately 0.01 < x < 0.75 ; and 4 GeV^2 < Q^2 < 400 GeV^2 for 
+C     fixed target experiments; 0.0001 < x < 0.3 from HERA data; and   
+C     Q^2 up to 40,000 GeV^2 from Tevatron inclusive Jet data.
+C
+C   DOUBLE PRECISION is used throughout in these routines, but conversion to 
+C   SINGLE PRECISION is possible 
+C                    by removing the Implicit Double Precision statements. 
+C
+C **************************************************************************
+C
+C ********************************************************
+c --------------------------------------------------------------------------
+       double precision function ctq5MI(ifl,x,q)
+c Parametrization of cteq5MI parton distribution functions (J. Pumplin 9/99).
+c ifl: 1=u,2=d,3=s,4=c,5=b;0=gluon;-1=ubar,-2=dbar,-3=sbar,-4=cbar,-5=bbar.
+c --------------------------------------------------------------------------
+#include "pdf/impdp.inc"
+       integer ifl
+
+       ii = ifl
+       if(ii .gt. 2) then
+          ii = -ii
+       endif
+
+       if(ii .eq. -1) then
+          sum = faux5MI(-1,x,q)
+          ratio = faux5MI(-2,x,q)
+          ctq5MI = sum/(1.d0 + ratio)
+
+       elseif(ii .eq. -2) then
+          sum = faux5MI(-1,x,q)
+          ratio = faux5MI(-2,x,q)
+          ctq5MI = sum*ratio/(1.d0 + ratio)
+
+       elseif(ii .ge. -5) then
+          ctq5MI = faux5MI(ii,x,q)
+
+       else
+          ctq5MI = 0.d0 
+
+       endif
+
+       return
+       end