CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TopGenEventAnalyzer.cc
Go to the documentation of this file.
3 
5  inputGenEvent_(cfg.getParameter<edm::InputTag>("genEvent"))
6 {
8  nLep_ = fs->make<TH1F>("nLep", "N(Lepton)", 5, 0., 5.);
9  topPt_ = fs->make<TH1F>("topPt", "pt (top)", 100, 0., 500.);
10  topEta_ = fs->make<TH1F>("topEta", "eta(top)", 40, -5., 5.);
11  topPhi_ = fs->make<TH1F>("topPhi", "phi(top)", 60, -3.5, 3.5);
12  topBarPt_ = fs->make<TH1F>("topBarPt", "pt (topBar)", 100, 0., 500.);
13  topBarEta_ = fs->make<TH1F>("topBarEta", "eta(topBar)", 40, -5., 5.);
14  topBarPhi_ = fs->make<TH1F>("topBarPhi", "phi(topBar)", 60, -3.5, 3.5);
15  ttbarPt_ = fs->make<TH1F>("ttbarPt", "pt (ttbar)", 100, 0., 500.);
16  ttbarEta_ = fs->make<TH1F>("ttbarEta", "eta(ttbar)", 40, -5., 5.);
17  ttbarPhi_ = fs->make<TH1F>("ttbarPhi", "phi(ttbar)", 60, -3.5, 3.5);
18  prodChan_ = fs->make<TH1F>("prodChan", "production mode", 3, 0, 3);
19  prodChan_->GetXaxis()->SetBinLabel(1, "gg" );
20  prodChan_->GetXaxis()->SetBinLabel(2, "qqbar");
21  prodChan_->GetXaxis()->SetBinLabel(3, "other");
22 }
23 
25 {
26 }
27 
28 void
30 {
32  evt.getByLabel(inputGenEvent_, genEvent);
33 
34  if(!genEvent->isTtBar())
35  return;
36 
37  if(genEvent->fromGluonFusion())
38  prodChan_->Fill("gg", 1);
39  else if(genEvent->fromQuarkAnnihilation())
40  prodChan_->Fill("qqbar", 1);
41  else
42  prodChan_->Fill("other", 1);
43 
44  // fill BR's
45  nLep_ ->Fill(genEvent->numberOfLeptons());
46 
47  //fill top kinematic
48  topPt_ ->Fill(genEvent->top ()->pt ());
49  topEta_ ->Fill(genEvent->top ()->eta());
50  topPhi_ ->Fill(genEvent->top ()->phi());
51  topBarPt_ ->Fill(genEvent->topBar()->pt ());
52  topBarEta_->Fill(genEvent->topBar()->eta());
53  topBarPhi_->Fill(genEvent->topBar()->phi());
54 
55  //fill ttbar kinematics
56  ttbarPt_ ->Fill(genEvent->topPair()->pt() );
57  ttbarEta_->Fill(genEvent->topPair()->eta());
58  ttbarPhi_->Fill(genEvent->topPair()->phi());
59 }
60 
62 {
63 }
64 
66 {
67 }
TopGenEventAnalyzer(const edm::ParameterSet &)
edm::InputTag inputGenEvent_
virtual void analyze(const edm::Event &, const edm::EventSetup &)
tuple genEvent
Definition: MCTruth.py:33
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
T * make() const
make new ROOT object
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")