https://github.com/vbertone/apfelxx
A PDF evolution library in C++
https://github.com/vbertone/apfelxx
apfel arxiv dis evolution homebrew-hep pdf-evolution-library
Last synced: 11 months ago
JSON representation
A PDF evolution library in C++
- Host: GitHub
- URL: https://github.com/vbertone/apfelxx
- Owner: vbertone
- License: gpl-3.0
- Created: 2016-06-23T22:00:36.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-04-20T07:25:51.000Z (11 months ago)
- Last Synced: 2025-04-20T07:27:53.237Z (11 months ago)
- Topics: apfel, arxiv, dis, evolution, homebrew-hep, pdf-evolution-library
- Language: C++
- Homepage:
- Size: 112 MB
- Stars: 9
- Watchers: 7
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://circleci.com/gh/vbertone/apfelxx)
[](https://www.codefactor.io/repository/github/vbertone/apfelxx)
[](https://github.com/vbertone/apfelxx/actions/workflows/codeql-analysis.yml)
[](https://doi.org/10.5281/zenodo.10522420)

__A PDF evolution library in C++__
# Introduction
APFEL++ is a C++ rewriting of the Fortran 77 code
[APFEL](https://github.com/vbertone/apfel) originally conceived to
evolve collinear parton distribution functions (PDFs). 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](https://github.com/vbertone/NangaParbat), a code devoted
to the extraction of Trasverse-Momentum-Dependent (TMD) distributions;
[MontBlanc](https://github.com/vbertone/MontBlanc), a code for the
determination of collinear fragmentation functions (FFs); and
[Denali](https://github.com/MapCollaboration/Denali), a code for the
determination of collinear longitudinally polarised PDFs. APFEL++ is
also currently interfaced to
[PARTONS](http://partons.cea.fr/partons/doc/html/index.html), a
software dedicated to the phenomenology of Generalised Parton
Distributions (GPDs) and TMDs, and to
[xFitter](https://www.xfitter.org/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](https://github.com/davidchall/homebrew-hep) tap of
[Homebrew](https://brew.sh). After having installed Homebrew and
tapped Homebrew-hep, the latest stable release of APFEL++ can be
downloaded and installed with:
```Shell
brew install apfel++
```
## Download
You can obtain APFEL++ directly from the GitHub repository:
https://github.com/vbertone/apfelxx/releases
For the latest development branch you can clone the master code:
```Shell
git clone https://github.com/vbertone/apfelxx.git
```
If you instead want to download a specific tag:
```Shell
git tag -l
git checkout tags/tag_name
```
## Installation
The code can be compiled using the following procedure:
```Shell
cd apfelxx
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/your/installation/path/ ..
make && make install
```
By 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:
```Shell
ccmake .
```
The library can be uninstalled by running:
```
make clean
xargs rm < install_manifest.txt
```
## Code documentation
Code documentation automatically generated with
[Doxygen](https://www.doxygen.nl/index.html) can be found at
[this](https://vbertone.github.io/apfelxx/html/index.html) link.
## Relevant references
- V. Bertone, *APFEL++: A new PDF evolution library in C++*,
[arXiv:1708.00911](https://arxiv.org/pdf/1708.00911.pdf).
- V. Bertone, S. Carrazza, J. Rojo, *APFEL: A PDF Evolution Library
with QED corrections*,
[arXiv:1310.1394](http://arxiv.org/abs/arXiv:1310.1394).
## Contact information
- Valerio Bertone: valerio.bertone@cern.ch