gsdpdf is hosted by Hepforge, IPPP Durham

GS dPDFs : code and grids

The README file included in the code tarball is copied below.

Update 16/02/10: Grid spacing in (x1,x2) has been adjusted such that along every x1 line on the grid, there lies a point on the kinematic bound (similarly for x2). The previous grid did not quite have this property, and this was causing problems with interpolations right in the corner of the allowed (x1,x2) region.

Update 06/11/09: Bug which caused the interpolation routine to occasionally return negative values if a dPDF value very near the kinematic bound was requested has been fixed. Also the grid values for for the final Q2 value, Q2 = 109 GeV, have been added to the grids - these were previously missing.

GS 2009 dPDFs

The enclosed Fortran code provides public access to the 
double parton distribution functions (dPDFs) published in:

   J. R. Gaunt and W. J. Stirling
   "Double Parton Distributions Incorporating Perturbative QCD Evolution and 
   Momentum and Quark Number Sum Rules"
   JHEP 1003 (2010) 005
   arXiv:0910.4347 [hep-ph].

Please reference this paper if you use the PDFs for a publication.

The package is provided in two tarballs. The first, gs2009grids.tar.gz 
contains nine LO dPDF grid files, plus two further files 'TVALUES.txt' 
and 'XVALUES.txt'. The latter two files list the sampling values in the 
T = Ln(Q^2/1 GeV^2) and two X directions. The second tarball, gs2009code.tar.gz

  README       : This short documentation file.
  gsdpdf.f     : Fortran code to access PDF grids.
  gsalps.f     : Fortran code for alphaS.

To use the package, first unpack both tar files in the same directory as the 
program you have written which requires dPDF values. The grid tarball 
will be unpacked into a directory named 'dpdfgrids' containing the grid
files. The grids should be left in this directory, which must not be

The subroutine which can be called by your program to obtain dPDF values
is called GS09. This supplies the value of the dPDF with given flavour indices
F1F2, at given scale Q and momentum fractions X1 and X2. The call should be 
structured as follows:

      CALL GS09(X1,X2,Q,F1,F2,DPDF)

The final argument DPDF is the sole output argument through which the
value of the dPDF is returned. It is very important to note that this is 
the actual value of the dPDF - NOT x1x2 times the value.

Q should be supplied to the subroutine in GeV. The flavours
F1 and F2 should be supplied as integers, using the standard PDG/LHAPDF 
mapping - i.e.

         -6,  -5,  -4,  -3,  -2,  -1,0,1,2,3,4,5,6
     = tbar,bbar,cbar,sbar,ubar,dbar,g,d,u,s,c,b,t.

GS09 is located within gsdpdf.f, so this file must be linked in during
program compilation.

The grids provided cover the ranges

  1E-6 <= X1 <= 1, 1E-6 <= X2 <= 1, 1 GeV^2 <= Q^2 <= 10^9 GeV^2.

If the code is asked to provide a dPDF value for input arguments outside
these ranges, it will print an error message, and adjust the rogue 
arguments to the nearest values inside the relevant range. Inside the ranges,
the program interpolates using a scheme which is based on simple linear

The dPDFs we have produced are designed to be the double parton counterparts
of the MSTW 2008 LO single PDFs ( They
have been constructed using a zero mass variable flavour number scheme with
Nf varying between 3 and 5. We have adopted the same heavy quark masses and 
initial value of alphaS that are used in the MSTW 2008 LO PDF fit:

  alphaS(1GeV) = 0.68183
  mCharm       = 1.40 GeV
  mBottom      = 4.75 GeV

For consistency these values should be used in all calculations involving our
dPDFs. If one is comparing single and double scattering processes using our
dPDFs, it also makes sense from a consistency point of view to use the MSTW
single PDFs. The file gsalps.f contains code which calculates alphaS at leading 
order using the above values. Alternatively one can use the alphaS code provided
with the MSTW 2008 package, which can be found at

Comments to Jo Gaunt < gaunt (at) >.