9 hepmcCollection_(iConfig.getParameter<edm::
InputTag>(
"hepmcCollection"))
10 ,genEventInfoProductTag_(iConfig.getParameter<edm::
InputTag>(
"genEventInfoProductTag"))
43 weight = evt_info->weight() ;
52 HepMC::GenEvent *myGenEvent =
new HepMC::GenEvent(*(evt->GetEvent()));
55 bool top(
false), antitop(
false), antibottom(
false), bottom(
false), Wplus(
false), Wmin(
false);
56 for(HepMC::GenEvent::particle_const_iterator iter = myGenEvent->particles_begin(); iter != myGenEvent->particles_end(); iter++) {
58 if( (*iter)->end_vertex()){
59 HepMC::GenVertex::particle_iterator des;
60 for(des = (*iter)->end_vertex()->particles_begin(HepMC::children);des!= (*iter)->end_vertex()->particles_end(HepMC::children);++des ){
62 tlv_Bottom.SetPxPyPzE((*des)->momentum().px(),(*des)->momentum().py(),(*des)->momentum().pz(),(*des)->momentum().e());
67 tlv_BottomBar.SetPxPyPzE((*des)->momentum().px(),(*des)->momentum().py(),(*des)->momentum().pz(),(*des)->momentum().e());
70 tlv_TopBar.SetPxPyPzE((*iter)->momentum().px(),(*iter)->momentum().py(),(*iter)->momentum().pz(),(*iter)->momentum().e()); antitop=
true;
71 tlv_Wplus.SetPxPyPzE((*des)->momentum().px(),(*des)->momentum().py(),(*des)->momentum().pz(),(*des)->momentum().e()); Wplus=
true;
74 tlv_Top.SetPxPyPzE((*iter)->momentum().px(),(*iter)->momentum().py(),(*iter)->momentum().pz(),(*iter)->momentum().e()); top=
true;
75 tlv_Wmin.SetPxPyPzE((*des)->momentum().px(),(*des)->momentum().py(),(*des)->momentum().pz(),(*des)->momentum().e()); Wmin=
true;
101 if(bottom && antibottom){
MonitorElement * hBottomYPz
TLorentzVector tlv_Bottom
edm::EDGetTokenT< GenEventInfoProduct > genEventInfoProductTagToken_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * hBottomMass
MonitorElement * hBottomPtPz
virtual void endRun(edm::Run const &, edm::EventSetup const &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
MonitorElement * hTTbarMass
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * hBottomMassY
MonitorElement * hBottomEtaPt
MonitorElement * hBottomEta
TLorentzVector tlv_TopBar
void addDefault(ParameterSetDescription const &psetDescription)
MonitorElement * hTopMass
TLorentzVector tlv_BottomBar
MonitorElement * hBottomMassPz
MonitorElement * hBottomMassEta
edm::InputTag genEventInfoProductTag_
MonitorElement * hBottomPz
MonitorElement * hTTbarPt
MonitorElement * hBottomMassDeltaY
MonitorElement * hBottomPt
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
MonitorElement * hBottomE
MonitorElement * hWplusPz
DQMStore * dbe
ME's "container".
virtual void beginRun(edm::Run const &, edm::EventSetup const &)
edm::InputTag hepmcCollection_
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
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 &)
void setCurrentFolder(const std::string &fullpath)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * hBottomY