9 hepmcCollection_(iConfig.getParameter<edm::
InputTag>(
"hepmcCollection"))
10 ,genEventInfoProductTag_(iConfig.getParameter<edm::
InputTag>(
"genEventInfoProductTag"))
33 weight = evt_info->weight() ;
42 const HepMC::GenEvent *myGenEvent = evt->GetEvent();
45 bool top(
false), antitop(
false), antibottom(
false), bottom(
false), Wplus(
false), Wmin(
false);
46 for(HepMC::GenEvent::particle_const_iterator
iter = myGenEvent->particles_begin();
iter != myGenEvent->particles_end();
iter++) {
48 if( (*iter)->end_vertex()){
49 HepMC::GenVertex::particle_iterator des;
50 for(des = (*iter)->end_vertex()->particles_begin(HepMC::children);des!= (*iter)->end_vertex()->particles_end(HepMC::children);++des ){
52 tlv_Bottom.SetPxPyPzE((*des)->momentum().px(),(*des)->momentum().py(),(*des)->momentum().pz(),(*des)->momentum().e());
57 tlv_BottomBar.SetPxPyPzE((*des)->momentum().px(),(*des)->momentum().py(),(*des)->momentum().pz(),(*des)->momentum().e());
60 tlv_TopBar.SetPxPyPzE((*iter)->momentum().px(),(*iter)->momentum().py(),(*iter)->momentum().pz(),(*iter)->momentum().e()); antitop=
true;
61 tlv_Wplus.SetPxPyPzE((*des)->momentum().px(),(*des)->momentum().py(),(*des)->momentum().pz(),(*des)->momentum().e()); Wplus=
true;
64 tlv_Top.SetPxPyPzE((*iter)->momentum().px(),(*iter)->momentum().py(),(*iter)->momentum().pz(),(*iter)->momentum().e());
top=
true;
65 tlv_Wmin.SetPxPyPzE((*des)->momentum().px(),(*des)->momentum().py(),(*des)->momentum().pz(),(*des)->momentum().e()); Wmin=
true;
91 if(bottom && antibottom){
148 nEvt = dqm.
book1dHisto(
"nEvt",
"n analyzed Events", 1, 0., 1.,
"bins",
"Number of Events");
150 hTopPt = dqm.
book1dHisto(
"TTbar_TopPt",
"t quark transverse momentum",1000,0.,1000.,
"P_{t}^{t quark} (GeV)",
"Number of Events");
151 hTopY = dqm.
book1dHisto(
"TTbar_TopY",
"t quark rapidity",200,-5.,5.,
"Y_{t quark}",
"Number of Events");
152 hTopMass = dqm.
book1dHisto(
"TTbar_TopMass",
"t quark mass",500,0.,500.,
"M_{t quark} (GeV)",
"Number of Events");
154 hTTbarPt = dqm.
book1dHisto(
"TTbar_TTbarPt",
"tt pair transverse momentum",1000,0.,1000.,
"P_{t}^{tt pair} (GeV)",
"Number of Events");
155 hTTbarY = dqm.
book1dHisto(
"TTbar_TTbarY",
"tt pair rapidity",200,-5.,5.,
"Y_{tt pair}",
"Number of Events");
156 hTTbarMass = dqm.
book1dHisto(
"TTbar_TTbarMass",
"tt pair mass",1000,0.,1000.,
"M_{tt pair} (GeV)",
"Number of Events");
158 hBottomPt = dqm.
book1dHisto(
"TTbar_BottomPt",
"b quark transverse momentum",1000,0.,1000.,
"P_{t}^{b quark} (GeV)",
"Number of Events");
159 hBottomEta = dqm.
book1dHisto(
"TTbar_BottomEta",
"b quark pseudo-rapidity",200,-5.,5.,
"#eta_{b quark} (GeV)",
"Number of Events");
160 hBottomY = dqm.
book1dHisto(
"TTbar_BottomY",
"b quark rapidity",200,-5.,5.,
"M_{b quark} (GeV)",
"Number of Events");
161 hBottomPz = dqm.
book1dHisto(
"TTbar_BottomPz",
"b quark longitudinal momentum",200,-100.,100.,
"P_{z}^{b quark} (GeV)",
"Number of Events");
162 hBottomE = dqm.
book1dHisto(
"TTbar_BottomE",
"b quark energy",1000,0.,1000.,
"E_{b quark} (GeV)",
"Number of Events");
163 hBottomMass = dqm.
book1dHisto(
"TTbar_BottomMass",
"b quark mass",50,0.,5.,
"M_{b quark} (GeV)",
"Number of Events");
165 hBottomPtPz = dqm.
book2dHisto(
"TTbar_BottomPtPz",
"b quark longitudinal vs transverse momentum",1000,0.,1000.,200,-100.,100.,
"P_{z}^{b quark} (GeV)",
"P_{t}^{b quark} (GeV)");
166 hBottomEtaPz = dqm.
book2dHisto(
"TTbar_BottomEtaPz",
"b quark longitudinal momentum vs pseudorapidity",200,-5.,5.,200,-100.,100.,
"#eta_{b quark}",
"P_{z}^{b quark} (GeV)");
167 hBottomEtaPt = dqm.
book2dHisto(
"TTbar_BottomEtaPt",
" quark transveral momentum vs pseudorapidity",200,-5.,5.,1000,0.,1000.,
"#eta_{b quark}",
"P_{t}^{b quark} (GeV)");
168 hBottomYPz = dqm.
book2dHisto(
"TTbar_BottomYPz",
"b quark longitudinal momentum vs rapidity",200,-5.,5.,200,-100.,100.,
"Y_{b quark}",
"P_{z}^{b quark} (GeV)");
169 hBottomMassPz = dqm.
book2dHisto(
"TTbar_BottomMassPz",
"b quark longitudinal momentum vs mass",50,0.,5.,200,-100.,100.,
"M_{b quark} (GeV)",
"P_{z}^{b quark} (GeV)");
170 hBottomMassEta = dqm.
book2dHisto(
"TTbar_BottomMassEta",
"b quark pseudorapidity vs mass",50,0.,5.,200,-5.,5.,
"M_{b quark} (GeV)",
"#eta_{b quark}");
171 hBottomMassY = dqm.
book2dHisto(
"TTbar_BottomMassY",
"b quark rapidity vs mass",50,0.,5.,200,-5.,5.,
"M_{b quark} (GeV)",
"Y_{b quark}");
172 hBottomMassDeltaY = dqm.
book2dHisto(
"TTbar_BottomMassDeltaY",
"b quark pseudorapidity - rapidity vs mass",50,0.,50.,2000,-5.,5.,
"M_{b quark} (GeV)",
"Y_{b quark}");
174 hWplusPz = dqm.
book1dHisto(
"TTbar_WplusPz",
"W+ boson longitudinal momentum",200,-100.,100.,
"P_{z}^{W+} (GeV)",
"Number of Events");
175 hWminPz = dqm.
book1dHisto(
"TTbar_WminPz",
"W- boson longitudinal momentum",200,-100.,100.,
"P_{z}^{W-} (GeV)",
"Number of Events");
MonitorElement * book2dHisto(std::string name, std::string title, int nx, double xmin, double xmax, int ny, double ymin, double ymax, std::string xaxis, std::string yaxis)
MonitorElement * hBottomYPz
TLorentzVector tlv_Bottom
virtual void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
edm::EDGetTokenT< GenEventInfoProduct > genEventInfoProductTagToken_
MonitorElement * hBottomMass
MonitorElement * hBottomPtPz
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * hTTbarMass
MonitorElement * hBottomMassY
MonitorElement * book1dHisto(std::string name, std::string title, int n, double xmin, double xmax, std::string xaxis, std::string yaxis)
MonitorElement * hBottomEtaPt
MonitorElement * hBottomEta
TLorentzVector tlv_TopBar
MonitorElement * hTopMass
TLorentzVector tlv_BottomBar
MonitorElement * hBottomMassPz
MonitorElement * hBottomMassEta
edm::InputTag genEventInfoProductTag_
MonitorElement * hBottomPz
void setCurrentFolder(const std::string &fullpath)
MonitorElement * hTTbarPt
MonitorElement * hBottomMassDeltaY
MonitorElement * hBottomPt
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
MonitorElement * hBottomE
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * hWplusPz
edm::InputTag hepmcCollection_
MonitorElement * hBottomEtaPz
TTbar_Kinematics(const edm::ParameterSet &)
MonitorElement * hBottomY