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 = i.
book1D(
"nEvt",
"n analyzed Events", 1, 0., 1.);
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 * hBottomEtaPt
MonitorElement * hBottomEta
TLorentzVector tlv_TopBar
MonitorElement * hTopMass
MonitorElement * book1D(Args &&...args)
TLorentzVector tlv_BottomBar
MonitorElement * hBottomMassPz
MonitorElement * hBottomMassEta
edm::InputTag genEventInfoProductTag_
MonitorElement * hBottomPz
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
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_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * hBottomEtaPz
TTbar_Kinematics(const edm::ParameterSet &)
MonitorElement * hBottomY