How to benchmark and store APPLgrid/FastNLO tables
APPLgrid and fastNLO tables produced according to How to generate APPLgrid and FastNLO tables must be benchmarked and properly stored before they can be used to produce FK tables, as outlined in How to generate and implement FK tables.
Benchmark
The easiest way to benchmark an APPLgrid or a FastNLO table is to convolve it with a given set of PDFs and check that the ensuing numbers are equivalent (within the statistical precision) to results obtained in a completely independent way (e.g. the ones usually provided by collaborators).
The APPLgrid software does not provide a built-in script to convolve APPLgrid tables with a set of PDFs. Nevertheless, a simple script that does this task is available in the
external/APPLgrid_check
folder. The code can be easily compiled by doing
make
or, if using conda in an environment where the user already has cern-root
and applgrid
) by doing
conda install meson
mkdir bld
cd bld
meson
ninja
The code can be executed as
./ratio_check NAME_OF_APPLGRID.root PDF_SET
where PDF_SET
must be the one used in the production of the APPLgrids.
The code will write to screen the results for all the PDF replicas.
The FastNLO software comes with a built-in function to perform the convolution between a FastNLO table and a PDF set. This function can be run as
fnlo-tk-cppread NAME_OF_FASTNLO.dat PDF_SET <options>
where options
denote additional arguments that select the PDF member and the
scale of the FastNLO grid (see the FastNLO
manual for details).
Important note: the numerical precision of an APPLgrid and a FastNLO table must be sufficiently high to make it negligible in comparison to the data and/or theoretical uncertainties. Such a precision depends on the number of Monte Carlo events generated for each process, and must be checked case by case. In order to increase the Monte Carlo statistics in a reasonable amount of time, it is customary to run different APPLgrid/FastNLO tables for the same process starting from a different seed. The ensuing tables can then be combined with appropriate built-in functions:
for APPLgrid
applgrid-combine
for fastNLO
fnlo-tk-merge
see the APPLgrid and FastNLO documentation for further details.
Storage
Once the APPLgrid and/or FastNLO tables have been generated, they must be stored in
applgrids
in a folder that matches the name of the dataset used in the buildmaster
implementation. Each folder contains a specific README file with the summary
information about the grid’s origin and usage.
APPLgrid and FastNLO grids are stored using Git LFS, which allows users to handle large files efficiently. Git LFS can be installed with conda using:
conda install git-lfs
Git LFS can then be linked to the user’s Git account and used for a particular repository by
following the instructions under ‘Getting Started’. If the
applgrids
repository already exists on the user’s system, it may need to be re-cloned once Git
LFS has been set-up to benefit from its installation.