This repository contains the C++ codes used to benchmark the inclusive deep-inelastic-scattering (DIS) structure functions at apfel++
and Hoppet
. The benchmark is presented in:
- V. Bertone and A. Karlberg, Benchmark of deep-inelastic-scattering structure functions at
$\mathcal{O}(\alpha_S^3)$ , arXiv:2404.15711,
along with the suite of Matplotlib
scripts used to produce the plots shown in that paper and many others.
In order to compile the code, both apfel++
and Hoppet
must be installed. See:
for the respective installation instructions.
To compile the benchmark codes, simply go into the code
folder and type:
make [-j]
This will produce three executables. They all use the same PDF initial condition of section 1.3 in http://arxiv.org/abs/hep-ph/0204316.
In the code
folder, running the code:
./StructureFunctionsJoint
will print on the screen comparison tables between apfel++
and Hoppet
for different values of apfel++
/ Hoppet
- 1|. This code will also dump into the plots
folder the files: StructureFunctions_N0LO.dat
, StructureFunctions_N1LO.dat
, StructureFunctions_N2LO.dat
, and StructureFunctions_N3LO.dat
that can be used to produce a number of plots (see below). Moreover, also the files: table_N0LO_APFEL.tex
, table_N1LO_APFEL.tex
, table_N2LO_APFEL.tex
, table_N3LO_APFEL.tex
, table_N0LO_HOPPET.tex
, table_N1LO_HOPPET.tex
, table_N2LO_HOPPET.tex
, and table_N3LO_HOPPET.tex
will be created in the tables
folder.
Similarly to the code above, running the code:
./TabulateStructureFunctions
will print on screen comparison tables for both apfel++
and Hoppet
, this time showing the values of structure functions and, again, a few PDF combinations.
Finally, running the code:
./ScaleVariations
will produce files in the plots
folder for the structure function F2NC_Scale_Variations_N0LO.dat
, F2NC_Scale_Variations_N1LO.dat
, F2NC_Scale_Variations_N2LO.dat
, and F2NC_Scale_Variations_N3LO.dat
and can be used to produce plots.
The plots
folder, where some of the codes described above dump part of their output, also contains some python
scripts that utilise matplotlib
to produce plots in .pdf
format. The scripts are:
PerturbativeConvergence.py
ScaleVariations.py
StructureFunctions_N0LO.py
StructureFunctions_N1LO.py
StructureFunctions_N2LO.py
StructureFunctions_N3LO.py
and are responsible for the production of all of the plots contained in the plots
folder.
The tables
folder contains the benchmark tables presented in the paper in LaTeX
format. The file tables.tex
collects the table files produced by the StructureFunctionsJoint
code and can be compiled with LaTeX
producing this file.
- Valerio Bertone: valerio.bertone@cern.ch
- Alexander Karlberg: alexander.karlberg@cern.ch