FastNLO is hosted by Hepforge, IPPP Durham
fast pQCD calculations for hadron-induced processes
Home Documentation Scenarios Code Interactive (maintenance) Links

Choose fastNLO version

fastNLO Toolkit v2.3
Version 2.3

fastNLO Reader v2.1
Version 2.1

Previous (deprecated)
Version 1.4

Instructions for deprecated version 1.4

For an updated version, please read the main page or contact directly the authors at:

The Structure

The elementary pieces in fastNLO are called "scenarios".
One scenario includes everything that is needed to compute the theory predictions for one measurement, usually corresponding to the results of one experimental publication

common code - needed for all scenarios
These are the interfaces to the PDFs and to alphas, both contained in the file "fn-interface.f".

  • If you want to use your own PDF/alphas code, you need to edit "fn-interface.f". (the subroutines and the interface are described in the code)
  • If you want to compute cross sections, based on existing PDFs you can use the existing code, but you have to install LHAPDF. This is very easy - instructions can be found at

scenario-specific code
Each szenario has its own subroutine which returns the values for all bins of the measurement. The subroutines for the scenarios are included in the files which are named after the scenario-names. In addition there is one (or in some cases two) include files.
The usercode for the ATLAS scenario "fnl0004" can be downloaded as "fnl0004-code.tar.gz" which contains the files "fnl0004.f" and "".
In addition, the user needs the table "" which contains the precomputed perturbative coefficients.

Getting Started - Running the Example

  • install LHAPDF
    The fastNLO example requires LHAPDF to be installed. If this is not yet installed on your system, simply follow the instructions at
  • create a new directory (e.g.: "fastnlo") into which you copy the fastNLO code
  • inside the directory "fastnlo" create two links:
    • one link "tablepath", pointing to a directory where you store the (large!) coefficient tables
    • one link "pdfpath", pointing to the LHAPDF directory where the .grid and .pdf files from LHAPDF are stored (/share/lhapdf/PDFsets/ -> inside your LHAPDF directory)
  • get the fastNLO code from First, get the common code in "fn-common.tar.gz" (or "fn-common-lhc.tar.gz" for the LHC scenarios. This file contains:
    (these instructions)
    (a simple alphas routine which works only above the b-quark mass-threshold)
    (the interface to the PDFs and alphas - LHAPDF and fn-alphas-demo.f are used as default)
    (an example routine which demonstrates how to call the usercode)
  • download the code for the scenarios that you want to compute "ft[xnnnn]-code.tar.gz" where [xnnnn] is scenario-specific, as documented on the webpage. This file contains:
    (the code)
    (commonblock definition)
  • download the coefficient table(s) for the desired scenario(s) "fn[xnnn].tab.gz" and store these in the directory that you have linked as "tablepath"
  • edit the "Makefile" to set the two paths to LHAPDF and CERNLIB (and delete the filenames for the scenarios for which you do have not downloaded the code)
  • uncomment in "fn-example.f" the scenarios that you don't want to compute.
  • type "make"
  • run "./fastnlo"
    the numbers that you get should be identical to the numbers that you can compute online using the webinterface at

Interface your own PDF/alphas code

if you want to use your own PDFs and/or alphas routine, you can edit the file "fn-interface.f". There is a function
which returns the value of alphas/(2pi) and a subroutine
which returns the parton densities, multiplied by the momentum fraction x, using the LHAPDF numbering convention:
tbar=-6, bbar=-5, cbar=-4, sbar=-3, ubar=-2, dbar=-1, g=0, d=1, u=2, s=3, c=4, b=5, t=6

The Parameters in the Usercode

The routine "fn-example.f" gives examples how to call the subroutine for each scenario. The call for a scenario fn[xnnnn] looks like
call f[xnnnn]cc([table-filename], [xmur] , [xmuf], [printflag], [array])

is the scenario name (e.g. "l0004" for scenario fnl0004)
is the path to the table file (e.g. "tablepath/")
is the coefficient for the renormalization scale in double precision (any value is possible - see below for one exception)
is the coefficient for the factorization scale in double precision (only a finite number of choices are possible - see below)
is the (double precision) output array which returns the results. It is important that [array] is declared with exactly the same dimensions as the array "xsect" in the include file (e.g. "")

Contributions in the Perturbative Expansion
The tables for all scenarios contain different contributions from the perturbative expansion. In all cases the tables include the leading order and the next-to-leading order coefficients. In the case of the inclusive jet cross section in hadron-hadron collisions, also the 2-loop coefficient for the threshold correction is included. The different contributions are returned separately in the array [array] which has two dimensions (bin No., order).
Renormalization and Factorization Scales
All coefficients have been computed for a number of different choices for the renormalization and factorization scales. The available scale-values are printed when running the code. For jet cross sections, the scales are usually proportional to the transverse momentum pT, and usually the following variations are available: 2pT, pT, pT/2 and (unless the pT values are too small) pT/4.
The coefficient [xmuf] for the factorization scale can therefore only have one of the values 2.0, 1.0, 0.5 (and 0.25, if available).
The coefficient [xmur] for the renormalization scale can be set to arbitrary values. The only exception is the contribution from the 2-loop threshold correction term which is only available for [xmur]=[xmuf]. If [xmur] is set different from [xmuf], the 2-loop threshold corrections will not be computed.

If you have any further questions, please contact the authors at:

Daniel Britzger, Klaus Rabbertz, Georg Sieber, Fred Stober, Markus Wobisch
(send mail to the authors:

This work is supported by grant DE-SC0009859 from the U.S. Department of Energy. This work has received support within the project "Inclusive and Semi-Inclusive Constraints on the Parton Distributions at the LHC and the Study of Hard Processes" by the Helmholtz Alliance "Physics at the Terascale".

Last modified by rabbertz on: