MadGraphTreeProducer

From T2B Wiki
Jump to navigation Jump to search

MadGraphTreeProducer

Section 1- What is what in MadGraphTreeProducer ?

The MadGraphTreeProducer was initialy desinged to produce a TopTree.root file with the same structure as the CMSSW TopTree's. 
From tag v_1_12_09 and on, also, a TopTree Producer is supported to produce TopTree out of a Delphes or a MadGraph as input files.
 

So, actually, if you run the package, at the end you will have
-TopTree from MadGraph
-TopTree from Delphes
-Basic Comparison Plots of some Reco Objects


Section 2- How to compile and run MadGraphTreeProducer ?

to be able to run & found the libraries:
in bash do

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.


You have to install TopTreeProducer and compile it 
You should install Delphes package  (v1.8): 
me@mylaptop:~$ wget http://www.fynu.ucl.ac.be/users/s.ovyn/Delphes/files/Delphes_V_*.*.tar.gz
me@mylaptop:~$ tar -xvf Delphes_V_*.*.tar.gz
me@mylaptop:~$ cd Delphes_V_*.*
me@mylaptop:~$ ./genMakefile.tcl > Makefile
me@mylaptop:~$ make 

Download MadGraphTreeProducer v_1_12_09

me@mylaptop:~$ cvs co -d v_1_12_09 TopBrussels/MadGraphTreeProducer UserCode/TopBrussels/MadGraphTreeProducer 
me@mylaptop:~$ cd TopBrussels/MadGraphTreeProducer/test

***** Newer update is CMSSW_35X, which has all the TopTreeProducer 35X_v16 compatibilty, ie do


me@mylaptop:~$ cvs co -d CMSSW_35X TopBrussels/MadGraphTreeProducer UserCode/TopBrussels/MadGraphTreeProducer 
me@mylaptop:~$ cd TopBrussels/MadGraphTreeProducer/test

Modify the path of your Delphes package in the Makefile and in test/Setup.sh 

me@mylaptop:~$ source setup.sh
me@mylaptop:~$ cd  ../src
me@mylaptop:~$ make
me@mylaptop:~$ cd ../test
 
To produce a TopTree from a Delphes root file you just need to do (under /test dir)

me@mylaptop:~$./FullDelphesTreeProducer

Pay attention, that the input file is the Delphes.root which has all MC and RECO objects after  a Delphes run. 
Because Delphes package uses the same definition for TRoot Objects, we had to define a different namespace (TopTree) for our analysis. 
So, this is why you get the following outputs TopTreeDelphesRecoObjects.root , TopTreeDelphesMCObjects.root and the merged output of the last two ,TopTreeDelphes.root

If for some reason you just need the Reco of MC collection, just do

me@mylaptop:~$./DelphesMCObjects  
 
 or 

me@mylaptop:~$./DelphesRecoObjects

in order to produce the MC or Reco file only . Finally, the ./copytree is the merger of these two

Section 3 - To make some validation plots compiled

To take some basic plots out of the different TopTrees , there is available a macro, which can be runned as

me@mylaptop:~$./Plots_PGS_Delphes

which will produce a collection of plots saved .root file called TopTree_PGS_Delphes_Plots.root

Also, the same macro is available for the CMSSW TopTree and can be runned as

me@mylaptop:~$root -l
me@mylaptop:~$.x rootlogon.C
me@mylaptop:~$.L Plots_CMSSW.cc++
me@mylaptop:~$Plots_CMSSW();


which will create an collection of plots saved as TopTree_CMSSW_Plots.root . Pay attention as the input file must be TopTreeCMS.root

We keep the TopTreeCMS , TopTreeDelphes , TopTreeMG names to be really easy to understand what is what!

Now, if you want to compare/superimpose the plots out of all TopTree, just

me@mylaptop:~$./Plots
me@mylaptop:~$root -l
me@mylaptop:~$.x make_Validation.cc



Section 4 - Some more tools...


It might be, that the user will want to produce the TopTree out of the MadGraphTreeProducer . So, you can use the make_TopTree.sh , 
which will find the requested file (if available) in pnfs area, create the TopTree and copy it in a local directory --Default is /user/alkaloge/files/MG/7TeV/NewRound/

Right now, the make_TopTree script, is being  used for m0/m12 custom samples and if you want to use it you need to do

me@mylaptop:~$. make_TopTree.sh 100 2000 100 1400 1 15000 100

the arguments stand for
$1 $2 = m0 spectrum, ie from 100Gev->2000 GeV
$3 $4 = m12 spectrum, ie 100Gev->1000 GeV
$5 $6 = as random generator numbers were used, you need to specify the exact spectrum which was also used for the Delphes files. 
Right now, the valid initialization is 1 15000 or 1 5000
$7 = the step in GeV

in the above example, script will look for files between m0(0, 2000) m12(0,1400) with a step of 100GeV and rnd number 1->15000 . 
Take care, as the rnd number is somehow frozen and dependent on the how-to making of Delphes and this is why :

Madgraph uses a rnd seed generator number each time it generates a block of events . So, this number, is saved in the final output under the pnfs area, 
and it this way, one can insure avoiding duplication of events, since ONLY one rnd number will be unique record. 
Furthermore, it is easy to request a certain "bunch" of files to be Delphes-ed according to this number. 
More info on the available datasets can be found here http://mon.iihe.ac.be/trac/t2b/wiki/MadGraphTreeProduction



Template:TracNotice