Programs for W/Z Production at Higher Orders

This page gives a short overview over some programs for calculation of W and Z cross sections. All of them are Monte Carlo programs and run standalone, meaning they are not interfaced with ATHENA or any framework. The source code can be found on the Liverpool file space, see below. No binaries are installed centrally, as usually one needs to recompile part of the packages for customisation anyhow. Some improvements over the original version were applied to the sources made available here, e.g. a LHAPDF interface.

The basic capabilities of the programs are shown in the table below.

MCFM X X    

More details are given below. Please note that in order to link the programs, a working LHAPDF installation is needed. Instructions for LHAPDF are given below as well. The software is accessible e.g. from host fermion at /batchsoft/atlas/MonteCarloPrograms/ .


Homepage .


The source can be found here: /batchsoft/atlas/MonteCarloPrograms/mcfm

Compilation and running will only work with a working LHAPDF installation, see below. The CERNLIBs are used for ntuple and histogram output. The path to those is set in the makefile, currently to /cern/2004-sl3-gcc323/lib.

Installation should be straightforward.

[kluge@pc048076]~% ssh fermion
[kluge@fermion]~% cp -r /batchsoft/atlas/MonteCarloPrograms/mcfm .
[kluge@fermion]~% exit
[kluge@pc048076]~% cd mcfm
[kluge@pc048076]~/mcfm% make
(have a coffee)
[kluge@pc048076]~/mcfm% cd Bin
[kluge@pc048076]~/mcfm/Bin% ./mcfm

The main steering file is Bin/input.DAT , most options and cuts can be set there. Electro-weak input parameters are set in src/User/mdata.f, additional cuts can be defined in src/User/gencuts.f and further histograms can be added in src/User/nplotter.f Output files look like:

The .dat file contains some text information, the .top is a top-drawer file, finally the .rz is a hbook hostogram file. The latter can e.g. be converted to a root file via
[kluge@pc048076]~/mcfm/Bin% h2root z_only_lord_mrst200_91__test.rz z_only_lord_mrst200_91__test.root


The homepage: .

The source: /batchsoft/atlas/MonteCarloPrograms/fewzZ for Z production and /batchsoft/atlas/MonteCarloPrograms/fewzW for W production.

Compilation and running will only work with a working LHAPDF installation, see below.

Installation should work as follows

[kluge@pc048076]~% ssh fermion
[kluge@fermion]~% cp -r /batchsoft/atlas/MonteCarloPrograms/fewzZ .
[kluge@fermion]~% exit 
[kluge@pc048076]~% cd fewzZ
[kluge@pc048076]~/fewzZ% make
[kluge@pc048076]~/fewzZ% make

Options can be set in the steering input.txt, including electro weak parameters. Additional cuts are to be put into constraint.F .

Run the executable with

The output file name is set in input.txt as a parameter.

N.B. Changes made by me include the LHAPDF interface but also the way alpha_s is determined. In this version the strong coupling is always taken from the PDF.


Homepage .

Readme .

The source can be found here: /batchsoft/atlas/MonteCarloPrograms/horace

Compilation and running will only work with a working LHAPDF installation, see below.

Installation example for v3.1:
[kluge@pc048076]~% ssh fermion
[kluge@fermion]~% cp -r /batchsoft/atlas/MonteCarloPrograms/horace .
[kluge@fermion]~% exit 
[kluge@pc048076]~% cd horace
[kluge@pc048076]~/horace% make

The steering file is input-test , only cuts on lepton momentum and rapidity and missing energy can be applied. Further cuts can be inserted into cuts.f; there is already code for an invariant mass cut, which can be used by uncommenting. Electro-weak input parameters are set in init.f

Run the executable by
[kluge@pc048076]~/horace% ./horace < input-test

The output is saved to a directory testZ (or testW etc.).


The (at the time of writing) up-to-date version of LHAPDF can be found at /batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.4. If you are not interested in a specific configuration, you can find the information on the remarks on compiled LHAPDF below.

The custom Installation works as follows:
ssh iota
cp -r /batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.4 .
cd lhapdf-5.8.4
./configure --prefix=$HOME --datadir=/batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.4_install_full/share/lhapdf/PDFsets
make && make install 
The libraries and a configuration script are copied to ~/lib and ~/bin respectively. These paths should be part of the $LD_LIBRARY_PATH and $PATH variables. If this is not already the case, add the following lines to .zshrc (depending on the shell used of course).
export PATH=$HOME/bin:$PATH
Then test it (in a new shell if .zshrc was modified).
lhapdf-config --pdfsets-path
The output should be:
If this looks ok, the build directory may be deleted.
cd ..
rm -rf lhapdf-5.8.4/

The standard version of the C++ wrapper wouldn't work with ROOT/CINT in the present version. I applied a patch to one of the header files ( LHAPDF.h) to get it going and renamed it to myLHAPDF.h . An example of how to use the wrapper in a ROOT interactive session can be found in


Currently this is using the default environment on 64bit machines. Do not try to mix with Athen, 32bit machines etc.

To ease the use for the general user, the latest version (currently 5.8.5) is compiled and installed ready to use with all available PDF sets in
  • /batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.5_install_full using all standard options
    ./configure --prefix=/batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.5_install_full
  • and /batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.5_install_smallmem using options to reduce the virtual memory usage considerably
    ./configure --prefix=/batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.5_install_smallmem --enable-pdfsets="mrst,mstw,cteq,hera,user" --enable-low-memory --datadir=/batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.5_install_full/share

If you need different compilation options, you may still want to use the PDF sets in /batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.5_install_full/share/lhapdf, which is at least 2GB in size.

NEW ATHENA compatible compilation works until linking, but SEGFAULTS on use of LHAPDF functions, so do not use...

(export LDFLAGS="-m32"; export CFLAGS="-m32"; export CXXFLAGS="-m32" before ./configure)


The (at the time of writing) up-to-date version of FastJet (2.4.2) fully compiled and installed can be found at /batchsoft/atlas/MonteCarloPrograms/fastjet. The configuration was done as follows:
./configure --prefix=/batchsoft/atlas/MonteCarloPrograms/fastjet --enable-shared --enable-allcxxplugins --enable-allplugins

PowhegBox 1.0

Compiled the W and Z branch on 64bit machine, linked (dynamically) to LHAPDF 5.8.5 and FastJet 2.4.2 mentioned above. The paths are

May need to specify LHAPDF path...
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/batchsoft/atlas/MonteCarloPrograms/lhapdf-5.8.5_install_full/lib"

-- ThomasKluge - 18 June 2009

-- JanKretzschmar - 26 Oct 2009 -- JanKretzschmar - 24 Aug 2010
Topic revision: r17 - 07 Apr 2011, JanKretzschmar
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback