MCatNLO Step 3
On this page we will use the <>.event files that were produced by MCatNLO and use Herwig (using the Athena framework) to decay the tops and produce the parton shower. We will produce a combined ntuple CBNT and POOL file.
Main idea:
The main idea is to call athena with a joboptions file where you specify the location of the event file. In addition it is required to have an additional input file. We will again use a script that will take the BASIC forms for these input files and prodice unique input files for each job and take care of the bookkeeping.
1) Set-up Athena and output directories
We will use Athena to do the decay. Make sure that you have correctly set up the athena environment. To see how to do this please check xxx.
cd /MyMCatNLO mkdir ATHENA_BASICS mkdir POOLCBNT mkdir POOLCBNT/InputAndLogFiles
2) Get the basic input files
Since we have used MCatNLO to produce the and momenta, we have to signal to Herwig that it must these from your external <>.event-file. In Athena, this is done inside a joboptions file. Again we start at again to your MCatNLO working directory area. Create two new directories where we'll store the basic input files (basic joboptions file and other athena related files) and the output files (the combined ntuple for the generator information and POOL files).
cd /MyMCatNLO/ATHENA_BASICS
(a) Get some Athena python-files and check set-up
Get these athena python files into your BASICS area using get_files.
get_files PDGTABLE.MeV get_files PartPropSvc.py
This is a good check to see if you have set-up athena correctly.
(b) Get the basic joboptions file
Get the basic joboptions file: joboptions_MCatNLO_Rome_POOLCBNT.py.BASIC
The lines that will be changed by the script are related to the number of events, the random number seeds for the generators and the output files.
theApp.EvtMax = XNEVENTSX AtRndmGenSvc.Seeds = ["JIMMY XRNDJIMMY0X XRNDJIMMY1X", "JIMMY_INIT XRNDJIMMY2X XRNDJIMMY3X", "TAUOLA XRNDTAUOLA0X XRNDTAUOLA1X", "TAUOLA_INIT XRNDTAUOLA2X XRNDTAUOLA3X", "PHOTOS XRNDPHOTOS0X XRNDPHOTOS1X", "PHOTOS_INIT XRNDPHOTOS2X XRNDPHOTOS3X"] NTupleSvc.Output = [ "FILE1 DATAFILE='./XOutputDirCBNTX/MCatNLO.CBNT.JobXJOBNUMBERX.root' OPT='NEW'" ] Stream1.OutputFile = "./XOutputDirPOOLX/MCatNLO.POOL.JobXJOBNUMBERX.root"
(c) Get the inparmMcAtNlo.dat (MCatNLO parameter) file
When starting the athena job, a file called inparmMcAtNlo.dat is expected in your run directory. It contains the location of the <>.event file and some additional input variables related to the generated MCatNLO sample.
Get the additional MCatNLO parameter file: inparmMcAtNlo.dat.BASIC
The lines that will be changed by the script are related to the number of events, the random number seeds for the generators and the output files.
'./XINPUTDIRX/XINPUTNAMEX' ! event file XNEVENTSX ! number of events in the event file
3) Get the script and taylor it to your needs
The last step is to get the script and start the jobs. For each job it will:
- o create a directory called Job<job#>
- o create two unique input files
- o copy all otehr nexessary files here and start the job
- o copy output files (CBNT,POOL and Logfiles) to an output directory
- o remove directory Job<job#>
- o create a directory called Job<job#>
(a) Get the script
Go to your working area:
cd /MyMCatNLO/
and get the python script: ShipOff_MCatNLO_Rome_POOLCBNT.py
(b) Tailor the script to your environment
In the script you need to define the variables related to the input and output directories:
input_dir = "/data/atlas/users/ivov/MyMCatNLO/MATRIXELEMENT/" output_dir = "/data/atlas/users/ivov/MyMCatNLO/POOLCBNT/" steering_files_dir = "/data/atlas/users/ivov/MyMCatNLO/ATHENA_BASICS/"
There are however also parameters related to the number of events, the number of jobs etc etc.
Nevents_eventfile = 500 Nevents_joboptions = 20 Njobs = 2 f_LogFile = 0
Important:
The variable called Nevents_eventfile is linked to the number of events that are in the <>.events files. Make sure therefore that this number is the same as in the header of the <>.events file (should be made automatic). The variable Nevents_joboptions controls the number of events that will be processed.
4) Run the script
Once the number of events and the number of jobs are defined start the run:
./ShipOff_MCatNLO_Rome_POOLCBNT.py
Once you get it running for a single job, set the parameter f_Logfile to 1 and produce many files where the logfile is automatically written to the output directory.
You are finished
To POOL files you have produced can then be transformed to AOD after full reconstruction or Atlfast.
What did we produce
[ivov@njord MyMCatNLO]$ ls -lrt ./POOLCBNT/* -rw-r--r-- 1 ivov atlas 118792 May 10 00:06 ./POOLCBNT/MCatNLO.POOL.Job1.root -rw-r--r-- 1 ivov atlas 58851 May 10 00:06 ./POOLCBNT/MCatNLO.CBNT.Job1.root -rw-r--r-- 1 ivov atlas 152252 May 10 00:07 ./POOLCBNT/MCatNLO.POOL.Job2.root -rw-r--r-- 1 ivov atlas 73723 May 10 00:07 ./POOLCBNT/MCatNLO.CBNT.Job2.root ./POOLCBNT/InputAndLogfiles: total 24 -rw-r--r-- 1 ivov atlas 5113 May 10 00:06 joboptions_Job1.py -rw-r--r-- 1 ivov atlas 492 May 10 00:06 inparmMcAtNlo.dat.Job1 -rw-r--r-- 1 ivov atlas 5113 May 10 00:07 joboptions_Job2.py -rw-r--r-- 1 ivov atlas 492 May 10 00:07 inparmMcAtNlo.dat.Job2