Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

alt text

Specialized Minimal PDFs tools.


If you use this code in your publication, please cite:

Specialized minimal PDFs for optimized LHC calculations

##Existing results

The compressed sets quoted in the paper above can be found here:

The APPLGrids used to generate these sets can be found here:


Clone the master development repository by running the following command:

$ git clone

Or download the compressed archive without using git here.


SMPDF requires APPlgrid and LHAPDF. Make sure the following commands can be executed and give valid results:

$ lhapdf-config
$ applgrid-config
The default Applgrid installation **will not work**: **All** header files must 
be copied to the appromiate include path, and not only those copied by
`make install`, which is insufficient. For example, for a default
Ubuntu installation:

applgrid-1.4.70/src $ sudo cp *.h /usr/local/include/appl_grid/

Python 3.4+ is also required.

In order to manage the Python dependencies, Anaconda (with a Python
3.4+ environment) is the recommended way. After setting it up, cd into the directory of SMPDF and:

$ conda install --file environment.yml

Once all dependencies are satisfied, run:

$ python install

Note that the installer script does _not_ check for dependencies. This will
install the `smpdf` program and the `smpdflib` Python library in the appropiate

## Usage

The configuration is specified in YAML files (see `examples/`). A file consists
of a list of observables (file paths to applgrids and specification of the
perturbative order, where 0 is LO and 1 NLO), a list of PDF sets (valid LHAPDF
grids in the correct path) and a list of actions (see `--help` for a


$ smpdf --help

for the full list of options. Note that you will probably want to
run with the `--use-db` flag.

Generating documentation

[Sphinx]( version 1.3.1 or greater is required. 

In order to build the documentation, go into the `docs` directory, and

make api
make html

You can use the other build targets allowed by Sphinx. Note that the --help flag provides an overview of the most useful options.