MCatNLO Step 1
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/