CMS 3D CMS Logo

TtEventPartons.h
Go to the documentation of this file.
1 #ifndef TtEventPartons_h
2 #define TtEventPartons_h
3 
5 
6 #include <vector>
7 
14 namespace reco {
15  class Candidate;
16 }
17 class TtGenEvent;
18 
20 public:
22  TtEventPartons() = default;
24  virtual ~TtEventPartons() = default;
25 
28  virtual std::vector<const reco::Candidate*> vec(const TtGenEvent& genEvt) const = 0;
29 
31  void expand(std::vector<int>& vec) const;
32 
33 protected:
37  };
38 
40  void prune(std::vector<const reco::Candidate*>& vec) const;
41 
43  std::vector<bool> ignorePartons_;
44 };
45 
46 #endif
reco::Candidate * dummyCandidatePtr() const
return pointer to an empty reco::Candidate
Common base class for TtFullLepEvtPartons, TtFullHadEvtPartons and TtSemiLepEvtPartons.
void prune(std::vector< const reco::Candidate *> &vec) const
erase partons from vector if they where chosen to be ignored
Class derived from the TopGenEvent for ttbar events.
Definition: TtGenEvent.h:18
std::vector< bool > ignorePartons_
flag partons that were chosen not to be used
math::XYZPoint Point
point in the space
Definition: Particle.h:25
void expand(std::vector< int > &vec) const
insert dummy index -3 for all partons that were chosen to be ignored
TtEventPartons()=default
default constructor
virtual ~TtEventPartons()=default
default destructor
fixed size matrix
virtual std::vector< const reco::Candidate * > vec(const TtGenEvent &genEvt) const =0
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Particle.h:21