This repository contains libraries, tools, and interfaces to read and write
PineAPPL
grids.
There are three crates in this repository:
pineappl
is the crate containing the main functionalitypineappl_capi
installs a library and a C header, to use PineAPPL from your C, C++, Fortran, or Python programspineappl_cli
installs the programpineappl
to use PineAPPL from the command line
-
PineAPPL
is written inRust
and therefore needs the Rust compiler and build systemcargo
. Ifcargo
isn't installed, use your favourite package manager to install it, or go to https://www.rust-lang.org/tools/install and follow the instructions there. -
Next install the command-line interface:
cargo install --path pineappl_cli
This will install the binary
pineappl
user-wide, typically into~/.cargo/bin
. You can use this binary to perform all kinds of operations on PineAPPL grid files. -
Proceed by installing
cargo-c
, which is required for the next step:cargo install cargo-c
-
Install
pineappl_capi
(the C API, needed if you plan to use PineAPPL in your C, C++, Fortran, or Python program):cd pineappl_capi cargo cinstall --release --prefix=${prefix} cd ..
where
${prefix}
points to the desired installation directory. -
Finally, you need to set the environment variables
PKG_CONFIG_PATH
andLD_LIBRARY_PATH
to the right directories. Addingexport LD_LIBRARY_PATH=${prefix}/lib:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=${prefix}/lib/pkgconfig:$PKG_CONFIG_PATH
to your
~/.bashrc
should do the trick (remember to replace${prefix}
with the correct directory). You can checkPKG_CONFIG_PATH
by runningpkg-config pineappl_capi --libs
which should print the library flags needed to link against the C API. If there's no output or an error, double-check that
PKG_CONFIG_PATH
is in the environment and that it points to a directory containing thepineappl_capi.pc
file. -
For the python interface (optional) please look into the subfolder
./pineappl_py
Please read the contribution guidelines.
If you use PineAPPL, please cite the following reference:
@article{Carrazza:2020gss,
author = "Carrazza, S. and Nocera, E. R. and Schwan, C. and Zaro, M.",
title = "{PineAPPL: combining EW and QCD corrections for fast evaluation of LHC processes}",
eprint = "2008.12789",
archivePrefix = "arXiv",
primaryClass = "hep-ph",
doi = "10.1007/JHEP12(2020)108",
journal = "JHEP",
volume = "12",
pages = "108",
year = "2020"
}
and the corresponding reference for the version of PineAPPL that you are using (click the DOI badge above).