Difference between revisions of "MCatNLO Step 1"

From Atlas Wiki
Jump to navigation Jump to search
 
 
(30 intermediate revisions by the same user not shown)
Line 1: Line 1:
We will produce MCatNLO events starting from scratch. In step 1 we will download the MCatNLO program, configure it to our needs and perform the integration step. Once that has been done, we will produce the executable that will be used later to generate events.
+
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 <pre>/data/atlas/users/<your_login_name>/</pre>. There, make a working directory for our MCatNLO work:
 +
 
 +
<font color=red>
 +
<pre>
 +
cd your_working_area
 +
mkdir MyMCatNLO
 +
</pre>
 +
</font>
 +
 
 +
 
 +
<font color = red><b>Note:</b></font>
 +
This directory will be referred to as <font color = red>MyMCatNLO</font> in the next steps.
 +
 
 +
==2) Download the package and the PDF libraries==
 +
 
 +
<b>a) Download the program itself</b>
 +
 
 +
<font color = red>
 +
<pre>
 +
cd /MyMCatNLO
 +
mkdir EXECUTABLE
 +
cd EXECUTABLE
 +
</pre>
 +
</font>
 +
 
 +
Go to the [http://www.hep.phy.cam.ac.uk/theory/webber/MCatNLO/ MCatNLO webpage] and download the package (called [http://www.nikhef.nl/~ivov/MCatNLO_Scripts/Package231.tar.gz Package231.tar.gz]) and untar it.
 +
 
 +
<font color = red>
 +
<pre>
 +
tar -xzvf Package231.tar.gz
 +
</pre>
 +
</font>
 +
 
 +
<b>b) Download the PDF libraries</b>
 +
 
 +
In the executable directory prepare a directory where you'll store the parton density functions that come with the package.
 +
 
 +
<font color = red>
 +
<pre>
 +
mkdir PDF
 +
cd PDF
 +
</pre>
 +
</font>
 +
 
 +
 
 +
Go to the [http://www.hep.phy.cam.ac.uk/theory/webber/MCatNLO/ MCatNLO webpage] and download the pdf libraries that come with MCatNLO. (On the web-page they are listed as: grid files). Then untar it.
 +
 
 +
<font color = red>
 +
<pre>
 +
tar -xvf data.tar
 +
</pre>
 +
</font>
 +
 
 +
<b>Note:</b> 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.
 +
<font color=red>
 +
<pre>
 +
cd /MyMCatNLO
 +
cd EXECUTABLE
 +
</pre>
 +
</font>
 +
 
 +
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 <font color=blue> MCatNLO.inputs </font>.
 +
 
 +
First get your own vesion of the steering file.
 +
<font color=red>
 +
<pre>
 +
cp MCatNLO.inputs MCatNLO.inputs.Integration
 +
</pre>
 +
</font>
 +
 
 +
Then edit the file <font color=blue>MCatNLO.inputs.Integration</font> 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
 +
<font color=blue>
 +
<pre>
 +
  #!/bin/bash
 +
</pre>
 +
</font>
 +
 
 +
Then change the following parameters:
 +
 
 +
<font color=blue>
 +
<pre>
 +
IPROC    = -1706
 +
NEVENTS  = 10
 +
BASES    = ON
 +
SCRTCH    = ""
 +
HWPATH    ="<location_HERWIG_library_on_your_machine>"
 +
HERWIGVER ="<name_of_HERWIG_library>"
 +
EXEPREFIX = TTbar
 +
</pre>
 +
</font>
 +
 
 +
 
 +
IPROC=-1706 selects the <math>t\bar{t}</math> 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:<p>
 +
<pre>
 +
HWPATH="/data/atlas/offline/atlas/offline/external/herwig/herwig6.504/lib"
 +
HERWIGVER="libherwig.a"
 +
</pre>
 +
 
 +
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
 +
<font color=blue>
 +
<pre>
 +
#runMCatNLO
 +
compileNLO
 +
</pre>
 +
</font>
 +
 
 +
Finally, just produce the executable:
 +
<font color=red>
 +
<pre>
 +
./MCatNLO.inputs.Integration
 +
</pre>
 +
</font>
 +
 
 +
This will produce the executable in a new directory:<font color=blue> /Linux/TTbarNLO_EXE_THISLIB</font>
 +
 
 +
==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 <font color=blue>Integrationstep.Inputfile</font>.
 +
 
 +
<font color=blue>
 +
<pre>
 +
'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
 +
</pre>
 +
</font>
 +
 
 +
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).
 +
 
 +
<font color=red><b>itmx1 and itmx2 and <math>\rm{z}_i</math></b></font>
 +
 
 +
According to the manual, <math>z_i</math> 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 variables<b>itmx1</b> and <b>itmx2</b> define the precision of the integration phase. The default values (10) are again taken from table 3 of the manual.
 +
<font color=red><b>Note:</b></font> 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.
 +
 
 +
<font color=red><b>PDF set:</b></font>
 +
 
 +
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.
 +
 
 +
<b>Important: </b>
 +
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).
 +
 
 +
<font color=red>
 +
<pre>
 +
cp ./PDF/cteq5m1.tbl ./cteq5m1
 +
</pre>
 +
</font>
 +
 
 +
<b>Then start the integration:</b>
 +
 
 +
<font color=red>
 +
<pre>
 +
./Linux/TTbar_EXE_THISLIB < Integrationstep.Inputfile
 +
</pre>
 +
</font>
 +
 
 +
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:
 +
<pre>
 +
    TTbarBase_a_bs.data
 +
    TTbarBase_b_bs.data
 +
    TTbarBase.integrals
 +
</pre>
 +
 
 +
The 10 events that were generated for fun are also contained in 3 files:
 +
TTbarProd.events, TTbarProd_b.events and TTbarProd_a.events. 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:
 +
 
 +
<font color = red>
 +
<pre>
 +
mkdir ./../CTEQ5M1_BASICS
 +
cp TTbarBase_a_bs.data ./../CTEQ5M1_BASICS/
 +
cp TTbarBase_b_bs.data ./../CTEQ5M1_BASICS/
 +
cp TTbarBase.integrals ./../CTEQ5M1_BASICS/
 +
cp cteq5m1            ./../CTEQ5M1_BASICS/
 +
</pre>
 +
</font>
 +
 
 +
We are now ready with the integration step. The rest is peanuts.

Latest revision as of 09:02, 8 July 2005

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

/data/atlas/users/<your_login_name>/

. 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
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

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
cd EXECUTABLE

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

  #!/bin/bash

Then change the following parameters:

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


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"
HERWIGVER="libherwig.a"

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

#runMCatNLO
compileNLO

Finally, just produce the executable:

./MCatNLO.inputs.Integration

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:

    TTbarBase_a_bs.data
    TTbarBase_b_bs.data
    TTbarBase.integrals

The 10 events that were generated for fun are also contained in 3 files: TTbarProd.events, TTbarProd_b.events and TTbarProd_a.events. 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 TTbarBase_a_bs.data ./../CTEQ5M1_BASICS/
cp TTbarBase_b_bs.data ./../CTEQ5M1_BASICS/
cp TTbarBase.integrals ./../CTEQ5M1_BASICS/
cp cteq5m1             ./../CTEQ5M1_BASICS/

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