File indexing completed on 2024-04-06 11:57:31
0001 #ifndef TtEventPartons_h
0002 #define TtEventPartons_h
0003
0004 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
0005
0006 #include <vector>
0007
0008
0009
0010
0011
0012
0013
0014 namespace reco {
0015 class Candidate;
0016 }
0017 class TtGenEvent;
0018
0019 class TtEventPartons {
0020 public:
0021
0022 TtEventPartons() = default;
0023
0024 virtual ~TtEventPartons() = default;
0025
0026
0027
0028 virtual std::vector<const reco::Candidate*> vec(const TtGenEvent& genEvt) const = 0;
0029
0030
0031 void expand(std::vector<int>& vec) const;
0032
0033 protected:
0034
0035 reco::Candidate* dummyCandidatePtr() const {
0036 return new reco::GenParticle(0, reco::Particle::LorentzVector(), reco::Particle::Point(), 0, 0, false);
0037 };
0038
0039
0040 void prune(std::vector<const reco::Candidate*>& vec) const;
0041
0042
0043 std::vector<bool> ignorePartons_;
0044 };
0045
0046 #endif