Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

CircleCI CodeFactor

A PDF evolution library in C++


APFEL++ is a C++ rewriting of the Fortran 77 evolution code APFEL. However, APFEL++ is based on a completely new code design and guarantees a better performance along with a more optimal memory management. The new modular structure allows for better maintainability and easier extensibility. This makes APFEL++ suitable for a wide range of tasks: from the solution of the DGLAP evolution equations to the computation of deep-inelastic-scattering (DIS) and single-inclusive-annihilation cross sections. Also more complex computations, such as differential semi-inclusive DIS and Drell-Yan cross sections, are easily implementable in APFEL++.

APFEL++ is used as a prediction engine in NangaParbat, a code devoted to the extraction of Trasverse-Momentum-Dependent (TMD) distributions, and is also currently interfaced to PARTONS, a software dedicated to the phenomenology of Generalised Parton Distributions (GPDs) and TMDs, and to xFitter, an open source fit framework devoted to the extraction of collinear distributions and to the assessment of the impact of new experimental data.

Homebrew (macOS)

APFEL++ is available through the Homebrew-hep tap of Homebrew. After having installed Homebrew and tapped Homebrew-hep, the latest stable release of APFEL++ can be downloaded and installed with:

brew install apfelxx


You can obtain APFEL++ directly from the github repository:

For the latest development branch you can clone the master code:

git clone

If you instead want to download a specific tag:

git tag -l
git checkout tags/tag_name


The code can be compiled using the following procedure:

cd apfelxx
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/your/installation/path/ ..
make && make install

By the default, if no prefix is given, the program will be installed in the /usr/local folder. If you want (or need) to use a different path, remember to export the APFEL++ /lib and /bin folders into the $LD_LIBRARY_PATH and $PATH, respectively. More configuration options can be accessed by typing:

ccmake .

Code documentation

Code documentation automatically generated with Doxygen can be found at this link.

Relevant references

  • V. Bertone, APFEL++: A new PDF evolution library in C++, arXiv:1708.00911.
  • V. Bertone, S. Carrazza, J. Rojo, APFEL: A PDF Evolution Library with QED corrections, arXiv:1310.1394.

Contact information