00001 #ifndef TtEventPartons_h 00002 #define TtEventPartons_h 00003 00004 #include "DataFormats/HepMCCandidate/interface/GenParticle.h" 00005 00006 #include <vector> 00007 00014 namespace reco { class Candidate; } 00015 class TtGenEvent; 00016 00017 class TtEventPartons { 00018 00019 public: 00020 00022 TtEventPartons() {}; 00024 virtual ~TtEventPartons() {}; 00025 00028 virtual std::vector<const reco::Candidate*> vec(const TtGenEvent& genEvt) = 0; 00029 00031 void expand(std::vector<int>& vec); 00032 00033 protected: 00034 00036 reco::Candidate* dummyCandidatePtr() const { return new reco::GenParticle(0, reco::Particle::LorentzVector(), reco::Particle::Point(), 0, 0, false); }; 00037 00039 void prune(std::vector<const reco::Candidate*>& vec); 00040 00042 std::vector<bool> ignorePartons_; 00043 00044 }; 00045 00046 #endif