NNPDF related tools

NNPDF fitting code

The fitting methodology for NNPDF fits is available as an open-source user-friendly package that allows researchers to exactly reproduce the NNPDF (from 4.0 onwards) fits as well as create their own fit variants.

The code can be used to produce the ingredients needed for PDF fits, to run the fits themselves, and to analyse the results. This is the first framework used to produce a global PDF fit made publicly available, enabling for detailed external validation and reproducibility of the NNPDF4.0 analysis. Moreover, the code enables the user to explore a number of phenomenological applications, such as the assessment of the impact of new experimental data on PDFs, the effect of changes in theory settings on the resulting PDFs and a fast quantitative comparison between theoretical predictions and experimental data over a broad range of observables.

References: hep-ph/2109.02671

Github repository: open source code

Documentation:  docs.nnpdf.science


APFEL is a PDF evolution library. This library provides the DGLAP evolution to the NNPDF fits in terms of evolution operators for the construction of APFELgrid tables and in terms of PDF evolution for the final delivery to LHAPDF.

References: arXiv:1310.1394

Stable Fortran repository: https://github.com/scarrazza/apfel

Development repository for APFEL++: https://github.com/vbertone/apfelxx

APFEL Web: a web-based application for the graphical visualization of parton distribution functions (paper and website).


APFELgrid is the public version of the core convolution code of NNPDF. It provides high performance convolution products between PDFs and hadronic observables weights.

References: arXiv:1605.02070

Code repository: https://github.com/nhartland/APFELgrid


The CMC-PDFs stands to Compressed Monte Carlo PDFs and represents the deliverable of the compression algorithm which starting from a prior PDF set with a large number of replicas extracts a subset of replicas which preserves the prior statistical properties. This technique is currently employed in the PDF4LHC15 recommendation sets and together with the NNPDF major releases, such as NNPDF3.1.

References: arXiv:1504.06469

Code repository: https://github.com/scarrazza/compressor


MC2H is an unbiased hessian representation for Monte Carlo PDFs. This algorithm converts MC sets of PDFs into the hessian eigenvector representation. MC2H is also employed in the PDF4LHC15 recommendation sets.

References: arXiv:1505.06736

Code repository: https://github.com/scarrazza/mc2hessian


Reportengine is a framework to develop scientific applications. It is focused on supporting declarative input (YAML), enforcing initialization time (“compile time“) constraints, and enabling easy iteration within the declarative input.

It includes support for figures (matplotlib), tables (pandas) and HTML reports (pandoc-markdown).

References: 10.5281/zenodo.2571601

Code repository: https://github.com/NNPDF/reportengine/


The specialized minimal PDFs is an algorithm which starting from the MC2H conversion idea or converting MC sets into a hessian representation however its aim is to generate the smallest subsample of eigenvectors which reproduce a set of target predictions for a given tolerance. This algorithm is able to identify the minimal PDF information required by a given set of observables.

References: arXiv:1602.00005

Code repository: https://github.com/scarrazza/smpdf

Web-applications: https://smpdf.mi.infn.it/