00001 #ifndef SimDataFormats_SubEvent_h 00002 #define SimDataFormats_SubEvent_h 00003 00004 #include <vector> 00005 00006 #include "FWCore/Framework/interface/Event.h" 00007 #include "HepMC/GenVertex.h" 00008 #include "HepMC/GenEvent.h" 00009 00010 #include "SimDataFormats/HepMCProduct/interface/HepMCProduct.h" 00011 #include "HepMC/GenParticle.h" 00012 00013 namespace edm { 00014 00015 class SubEvent { 00016 public: 00017 SubEvent(int id = -1): sub_id(id) {} 00018 virtual ~SubEvent() {} 00019 std::vector<HepMC::GenParticle*> getParticles(const HepMC::GenEvent& evt) const; 00020 HepMC::GenVertex* getVertex(const HepMC::GenEvent& evt) const; 00021 HepMC::GenParticle* getParticle(const HepMC::GenEvent& evt, int index) const; 00022 HepMC::GenParticle* getBoson(const HepMC::GenEvent& evt); 00023 HepMC::GenParticle* getParton1(const HepMC::GenEvent& evt); 00024 HepMC::GenParticle* getParton2(const HepMC::GenEvent& evt); 00025 00026 private: 00027 int sub_id; 00028 }; 00029 } 00030 00031 #endif