Monte Carlo Validation
Goal
To write a package to do streamline Monte Carlo Validation. Action items:
- Things to check for top:
- W(qq) inv mass
- W(lnu) inv mass distinguishing the three possible flavors
- top (qqq) inv mass
- top (qlnu) inv mass
- dN/dn_genjet
- 1st and 2nd associated jet pT and eta
- branching ratio of ttbar decays (had vs semilep) vs ttbar
- Things to check for Z and W
- All similar, except the top mass of course.
Users
Procedures
Test files
- /hdacs/shared/tt1j.root
- /hdacs/shared/tt2j.root
CVS
The code is structured as an EDAnalyzer, located at the SPRACE CVS repository.
export CVSROOT=/hdacs/shared/cvsrepository
- Check out the code - make sure to be inside a directory
CMSSW_X_Y_Z/src/SomeAnalyzer
beforehand!
cvs co ValidationAnalyzer
- Check in the code after making changes.
cd CMSSW_X_Y_Z/src/SomeAnalyzer
cvs ci ValidationAnalyzer
Links
Flavia's Log
- To reconstruct t and tbar, I located the vertex that has a t (tbar) ingoing, and took the outgoing particles of the vertices. However, some of these top vertices also got particles other than the W and b: uubar, gluon. I've (under Thiago's advice) just ignored it and tried to reconstruct the top mass with just W's and b's. Solved: status 2 particles.
- Status stuff - status 2 particles for showering.
- To compile with TFileService, take care to put the lines in the BuildFile in the right place (lines above, not below).
- Successfully reconstructed invariant mass of the W's from hadronic and leptonic decays.
- Successfully reconstructed invariant mass of t and tbar from hadronic and leptonic decays.
- For the jet reconstruction, what must be done is the following:
- In the _cfg.py file: use a module that converts HepMC to GenParticles
- In the _cfg.py file: use a module that makes GenJets.
- In the ValidationAnalyzer file: get the GenJets with something like:
edm::Handle<GenJetCollection>
. Match those jets with the EXTRA partons - that means, if we are dealing with ttbar+2partons, you want to match those jets to the 2 partons, NOT to the ttbar or the b.
- By "match" I really mean "the deltaR in between the parton and the jet is smaller than some number" - at least the size of the jet (usually 0.5), but preferably smaller.
- The steps taken:
- In the _cfg.py file: Added some processes: (process.load)
-
RecoJets/Configuration/RecoGenJetsAll_cff
-
RecoJets/Configuration/GenJetParticles_cff
-
RecoJets/JetProducers/sisCone5GenJets_cff
- In the process . p = cms . Path:
-
process.genParticles * process.genParticlesForJets * process.sisCone5GenJets * process.demo
- In the BuildFile:
-
use name=DataFormats/JetReco
- Includes in the .cc code:
-
DataFormats/JetReco/interface/GenJet.h
-
DataFormats/JetReco/interface/GenJetCollection.h
Thiago's Log
- Fully changed the package to do W/Z validation for Alpgen Production 2008. Must coordinate with Flavia.
- New structure: plugins directory, containing WZValidationAnalyzer and TTbarValidationAnalyzer.
--
ThiagoTomei - 14 May 2009
--
FlaviaDias - 17 Feb 2009