MCatNLO Step 1

From Atlas Wiki
Jump to navigation Jump to search

We will produce MCatNLO events starting from scratch. In step we will:

  • Download the MCatNLO program (and PDF libraries)
  • Build the integration-executable
  • Perform the integration

1) Prepare a working directory

First we should get ourselves organised and define your working area. At NIKHEF this would for example be


. There, make a working directory for our MCatNLO work:

cd your_working_area
mkdir MyMCatNLO

Note: This directory will be referred to as MyMCatNLO in the next steps.

2) Download the package and the PDF libraries

a) Download the program itself

cd /MyMCatNLO

Go to the MCatNLO webpage and download the package (called Package231.tar.gz) and untar it.

tar -xzvf Package231.tar.gz

b) Download the PDF libraries

In the executable directory prepare a directory where you'll store the parton density functions that come with the package.

mkdir PDF
cd PDF

Go to the MCatNLO webpage and download the pdf libraries that come with MCatNLO. (On the web-page they are listed as: grid files). Then untar it.

tar -xvf data.tar

Note: These libraries are simply ascii files and since MCatNLO is a NLO MC it requires NLO PDFs. For technical reasons we decided for the Rome production to use cteq5m1. In the PDF directory you will find the files cteq5m1.tbl. This file (then without the extension .tbl) will be input in both the integration and the event generation step.

3) Prepare the MCatNLO program for the integration step

For this step we will work in the directory where the MCatNLO is located:

First get your own vesion of the steering file.

cd /MyMCatNLO

The MCatNLO program is set up so it can work in different schemes:

  • Perform the NLO computation (integration)
  • Perform the NLO computation (produce event files)
  • Perform the Monte Carlo step
  • .. of course you can also do the both at the same time

Here we will combine the first two options and produce the NLO executable that will perform the integration and produce (as a small extra), 10 events. The main steering file used to make the executable is MCatNLO.inputs .

First get your own vesion of the steering file.

cp MCatNLO.inputs MCatNLO.inputs.Integration

Then edit the file MCatNLO.inputs.Integration to tailor it to your needs.

First make the program a real bash shell program, meaning that you should move the following line to the top of the file


Then change the following parameters:

IPROC     = -1706
NEVENTS   = 10
BASES     = ON
SCRTCH    = ""
HWPATH    ="<location_HERWIG_library_on_your_machine>"
HERWIGVER ="<name_of_HERWIG_library>"

IPROC=-1706 selects the production process BASES=ON signals that the integration step will be performed

HWPATH and HERWIGVER need to be set so as to point to the Herwig version on your system.

At NIKHEF these values are:


The last step to do then is to signal at the end of the file that you would only like to produce the NLO executable


Finally, just produce the executable:


This will produce the executable in a new directory: /Linux/TTbarNLO_EXE_THISLIB

4) Perform the integration step

In the /MyMCatNLO/EXECUTABLE directory you now have a directory called Linux where the executable is located. When running the executable you'll be asked for a lot of input parameters. To automate this you can make a file with input variables called Integrationstep.Inputfile.

 'TTbarBase'                             ! prefix for BASES files
 'TTbarProd'                             ! prefix for event files
  14000 1 1 1 1                          ! energy, fren, ffact, frenmc, ffactmc
  -1706                                  ! -1705/1706=bb/tt
  175                                    ! M_Q
  0.32 0.32 0.5 1.5 5.0 0.75             ! quark and gluon masses
 'P'  'P'                                ! hadron types
 'CTEQ'   53                             ! PDF group and id number
  -1                                     ! Lambda_5, <0 for default
 'MS'                                    ! scheme
  10                                     ! number of events
  1                                      ! 0 => wgt=+1/-1, 1 => wgt=+w/-w
  1357911                                ! seed for rnd numbers
  0.3                                    ! zi
  10 10                                  ! itmx1,itmx2

Most parameters speak for themselves. The first two for example define the prefix of the names of the output files (files related to the integration results will start with TTbarBase and event files will strat with TTbarProd).

itmx1 and itmx2 and

According to the manual, defines the fraction of events with negative weight. We use the default value requied for heavy quark production as listed in table 3 of the manual. The variablesitmx1 and itmx2 define the precision of the integration phase. The default values (10) are again taken from table 3 of the manual. Note: The integration step takes a long time ( ~ 2.5 hours on a 2 GHz machine). Setting itmx1 and itmx1 to 2 would reduce this with a factor 5, but sine we only need to do the integration step once why not do it good.

PDF set:

An important one is also the PDF library you'd like to use. In our case it is the CTEQ5M1 PDF library which is defined as CTEQ set 53. The integration step depends on the PDF you use and should be redone for every PDF you use. An effort is underway to see if we can interface the ERROR PDFs from CTEQ and MRST in LHAPDF to be able to compute the uncertainties.

Important: The PDF you are using should be located in the run directory. You could either make a link, or simply copy the PDF you require from the PDF directory (Note that the PDF loses it's ".tbl" extension).

 cp ./PDF/cteq5m1.tbl ./cteq5m1 

Then start the integration:

 ./Linux/TTbar_EXE_THISLIB < Integrationstep.Inputfile 

After some time (i.e. a stunning 2.5 hours later) .......

The results of the integration (location of spikes in phase space etc.) is contained in 3 files:

The 10 events that were generated for fun are also contained in 3 files:, and For the moment ignore these as we will produce many of them later at which stage we will discuss their contant in more detail.

5) Save the integration results for the event generationstep

The results of the integration is contained in three files that are located in the current working directory (2 files with .data extension and 1 files with .integral extension). The files contain information on the spikes in phase space.

To save them, simply create a directory in your MyMCatNLO directory and copy them there. Fro the /MyMCatNLO/EXECUTABLE directory simply do:

mkdir ./../CTEQ5M1_BASICS
cp ./../CTEQ5M1_BASICS/
cp ./../CTEQ5M1_BASICS/
cp TTbarBase.integrals ./../CTEQ5M1_BASICS/
cp cteq5m1             ./../CTEQ5M1_BASICS/

We are now ready with the integration step. The rest is peanuts.