1 #ifndef TtFullHadHypothesis_h
2 #define TtFullHadHypothesis_h
55 return (0 <= idx && idx < (
int)
jets->size());
68 std::vector<int>& jetPartonAssociation,
69 const unsigned int iComb) = 0;
85 std::unique_ptr<reco::ShallowClonePtrCandidate>
lightQ_;
86 std::unique_ptr<reco::ShallowClonePtrCandidate>
lightQBar_;
87 std::unique_ptr<reco::ShallowClonePtrCandidate>
b_;
88 std::unique_ptr<reco::ShallowClonePtrCandidate>
bBar_;
89 std::unique_ptr<reco::ShallowClonePtrCandidate>
lightP_;
90 std::unique_ptr<reco::ShallowClonePtrCandidate>
lightPBar_;
100 return std::make_unique<reco::ShallowClonePtrCandidate>(ptr, ptr->charge(), ptr->p4(), ptr->vertex());
int key() const
return key
std::unique_ptr< reco::ShallowClonePtrCandidate > makeCandidate(const edm::Handle< C > &handle, const int &idx)
use one object in a collection to set a ShallowClonePtrCandidate
std::string jetCorrectionLevel(const std::string &quarkType)
helper function to construct the proper correction level string for corresponding quarkType ...
std::unique_ptr< reco::ShallowClonePtrCandidate > b_
Container::value_type value_type
std::unique_ptr< reco::ShallowClonePtrCandidate > lightP_
bool isValid(const int &idx, const edm::Handle< std::vector< pat::Jet > > &jets)
check if index is in valid range of selected jets
virtual void buildHypo(edm::Event &event, const edm::Handle< std::vector< pat::Jet > > &jets, std::vector< int > &jetPartonAssociation, const unsigned int iComb)=0
build event hypothesis from the reco objects of a full-hadronic event
std::unique_ptr< reco::ShallowClonePtrCandidate > bBar_
std::unique_ptr< reco::ShallowClonePtrCandidate > lightQ_
void produce(edm::Event &, const edm::EventSetup &) override
produce the event hypothesis as CompositeCandidate and Key
edm::EDGetTokenT< std::vector< std::vector< int > > > matchToken_
std::string jetCorrectionLevel_
std::unique_ptr< reco::ShallowClonePtrCandidate > lightPBar_
virtual void buildKey()=0
build the event hypothesis key
void resetCandidates()
reset candidate pointers before hypo build process
int key_
hypothesis key (to be set by the buildKey function)
TtFullHadHypothesis(const edm::ParameterSet &cfg)
default constructor
reco::CompositeCandidate hypo()
return event hypothesis
edm::EDGetTokenT< std::vector< pat::Jet > > jetsToken_
input label for all necessary collections
std::unique_ptr< reco::ShallowClonePtrCandidate > lightQBar_