CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/AnalysisDataFormats/TopObjects/interface/TtEventPartons.h

Go to the documentation of this file.
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