HOPPET: Higher Order Perturbative Parton Evolution Toolkit
HOPPET is a Fortran 95 package for carrying out QCD DGLAP evolution and other common manipulations of parton distribution functions (PDFs). It has been developed by Gavin Salam on an occasional basis since 2001 and Juan Rojo joined the team in 2007.
PDFs are represented on a grid in x-space so as to avoid limitations on the functional form of input distributions. Good speed and accuracy are obtained through the representation of splitting functions in terms of their convolution with a set of piecewise polynomial basis functions, and Runge-Kutta techniques are used for the evolution in Q.
Unpolarised PDF evolution is provided in the MSbar scheme to NNLO in the coupling, including heavy-quark thresholds. Polarised PDF evolution is provided to NLO. The code is structured so as to provide simple access to the objects representing splitting functions and PDFs, making it possible for a user to extend the facilities already provided.
You may also obtain HOPPET directly from the subversion repository of the v1 development tree. To do so, use the following command:
svn checkout http://hoppet.hepforge.org/svn/trunk hoppet
HOPPET has been tested and found to work with the gfortran (version 4.3.3 or higher), intel Fortran, Lahey f95 and g95 compilers.
Beware, we have also come across systems (e.g. old Fedora Core) with an executable called g95, but which is actually an old gfortran. If "g95 --version" does not say "g95" anywhere, then it is not g95!
2012/08/03: release 1.1.5, including the changes mentioned below, a new PartonLuminosity(...) function, and small bug-fixes (see NEWS and ChangeLog).
2012/07/30: in the svn trunk, modules are now installed by default, to PREFIX/include/hoppet (new choice) and "hoppet-config --fflags" provides the flags to include the modules when compiling with a fortran compiler.
2012/01/20: the svn trunk now includes a 1.1.5-devel version with small changes to some of the build and test scripts, fixing issues under OS X.
2011/11/23: released 1.1.4. In addition to the changes listed below, it resolves a compilation error that appeared with gfortran versions 4.5 and 4.6.
2011/02/22: the svn version now contains a 1.1.4-devel version, which adds the option of mass thresholds implemented at MSbar masses instead of pole masses.
2010/06/17: release 18.104.22.168, puts in file missing from tarball
2010/05/31: release 1.1.3, with small additions to the build system (a hoppet-config script and the option to install the f90 module files) as well as other small fixes.
2009/09/05: release 1.1.2, including a more standard build interface. Current (4.3.4 and 4.4.x) versions of gfortran seem now to be working fine with HOPPET.
2008/09/10: the latest version of gfortran (the trunk of the 4.4.0 development version, revisions since 140135) now works with HOPPET and is quite fast! The gfortran maintainers are promising a backport of the bugfix to the 4.3 series too.
2008/08/04: release 1.1.1, with addition of tools for evaluating truncated moments, extraction of x-slices at fixed Q from a pdf_table, and clarifications in the documentation.
2008/04/23: release 1.1.0, with minor changes to interface for the evln flavour representation and full documentation.
2007/05/04: release (1.1.0b1) that fixes small bug in the example program that appeared only with some compilers.
2007/05/01: first beta release (1.1.0b0). Since the last news entry, the code has undergone extensive benchmarking to measure accuracy and speed and optimize the grid choice in the light of those results. A C++ interface has been added via the src/hoppet_v1.h file, and example programs have been harmonised between f90, f77 and C++ so that they all provide the same output. The documentation now includes sections on benchmarking and the f90 example program.
2007/04/21: the package is now fully functional, with both a f90 interface and a more restricted vanilla (streamlined) interface for access from f77. The documentation is mostly written, however detailed installation help and some of the example programs are missing.