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 the PDFs), configure it to our needs
  • Build the integration-executable and perform the integration step
  • Build the event generation-executable

1) Prepare a working directory

First we should get ourselves organised and define a working directory. At NIKHEF a good place to start would be

/data/atlas/users/<your_login_name>/

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

cd your_working_area
mkdir MyMCatNLO 

This dir will be referred to as /MyMCatNLO in the next steps.


2)Download the package and the PDF libraries

Download the program itself

cd /MyMCatNLO
mkdir EXECUTABLE
cd EXECUTABLE

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

tar -xzvf Package231.tar.gz

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 will be input in both the integration and the event generation step.

3) Prepare the MCatNLO program for the integration step

The file MCatNLO.inputs is the main steering file. 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.

First get your own vesion of the steering file.

cp MCatNLO.inputs MCatNLO.inputs.Integration

Then edit the file MCatNLO.inputs.Integration and change the following parameters:

IPROC = -1706
NEVENTS = 10
BASES = ON
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:

:HWPATH="/data/atlas/offline/atlas/offline/external/herwig/herwig6.504/lib"<p>
:HERWIGVER="herwig6504.o"<p>

At the end of the file define you'd only like to do the NLO step

change runMCatNLO  to #runMCatNLO
change #compileNLO to compileNLO


When we will produce events we will produce a new executable where we have switched this variable off. No need to perform the (long!) integration again every time you produce a few events.

4)Perform the integration step

Note that the integration step can take a long time (>2 hours). The results will be 3 files: (2 files with .data extension and 1 files with .integral extension)

5)Save the important results for event generation

The results of the integration step 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 that have to be taken in to account when generating events.

So, create a directory in your MyMCatNLO directory and save the files related to the integration step by copying them there:

mkdir ./../MyMCatNLO_BasicInfo_CTEQ5M1
cp TTbarBase_a_bs.data ./../MyMCatNLO_BasicInfo_CTEQ5M1/
cp TTbarBase_b_bs.data ./../MyMCatNLO_BasicInfo_CTEQ5M1/
cp TTbarBase.integrals ./../MyMCatNLO_BasicInfo_CTEQ5M1/
cp cteq5m1             ./../MyMCatNLO_BasicInfo_CTEQ5M1/