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
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
which contains the files "fnl0004.f" and "fnl0004.inc".
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
- 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
DOUBLE PRECISION FUNCTION FNALPHAS(MUR)
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/fnl0004.tab")
- 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. "fnl0004.inc")
Contributions in the Perturbative Expansion
The tables for all scenarios contain different contributions from the perturbative
In all cases the tables include the leading order and the next-to-leading
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: firstname.lastname@example.org