MadGraphTreeProducer
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