18 const unsigned int iComb)
override;
31 statusToken_(consumes<std::
vector<int> >(cfg.getParameter<edm::
InputTag>(
"status"))),
32 partonsHadPToken_(consumes<std::
vector<pat::Particle> >(cfg.getParameter<edm::
InputTag>(
"partonsHadP"))),
33 partonsHadQToken_(consumes<std::
vector<pat::Particle> >(cfg.getParameter<edm::
InputTag>(
"partonsHadQ"))),
34 partonsHadBToken_(consumes<std::
vector<pat::Particle> >(cfg.getParameter<edm::
InputTag>(
"partonsHadB"))),
35 partonsLepBToken_(consumes<std::
vector<pat::Particle> >(cfg.getParameter<edm::
InputTag>(
"partonsLepB"))),
36 leptonsToken_(consumes<std::
vector<pat::Particle> >(cfg.getParameter<edm::
InputTag>(
"leptons"))),
37 neutrinosToken_(consumes<std::
vector<pat::Particle> >(cfg.getParameter<edm::
InputTag>(
"neutrinos"))) {}
43 std::vector<int>&
match,
44 const unsigned int iComb) {
47 if ((*status)[iComb] != 0) {
69 if (!(partonsHadP->empty() || partonsHadQ->empty() || partonsHadB->empty() || partonsLepB->empty())) {
79 if (!leptons->empty()) {
87 if (!neutrinos->empty()) {
edm::EDGetTokenT< std::vector< pat::Particle > > partonsHadPToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
std::unique_ptr< reco::ShallowClonePtrCandidate > leptonicB_
std::unique_ptr< reco::ShallowClonePtrCandidate > lepton_
edm::EDGetTokenT< std::vector< pat::Particle > > partonsHadBToken_
edm::EDGetTokenT< std::vector< int > > statusToken_
std::unique_ptr< reco::ShallowClonePtrCandidate > makeCandidate(const edm::Handle< C > &handle, const int &idx)
use one object in a collection to set a ShallowClonePtrCandidate
edm::EDGetTokenT< std::vector< pat::Particle > > partonsLepBToken_
TtSemiLepHypKinFit(const edm::ParameterSet &)
void buildHypo(edm::Event &, const edm::Handle< edm::View< reco::RecoCandidate > > &, const edm::Handle< std::vector< pat::MET > > &, const edm::Handle< std::vector< pat::Jet > > &, std::vector< int > &, const unsigned int iComb) override
build event hypothesis from the reco objects of a semi-leptonic event
edm::EDGetTokenT< std::vector< pat::Particle > > partonsHadQToken_
std::unique_ptr< reco::ShallowClonePtrCandidate > lightQBar_
edm::EDGetTokenT< std::vector< pat::Particle > > neutrinosToken_
std::unique_ptr< reco::ShallowClonePtrCandidate > neutrino_
std::unique_ptr< reco::ShallowClonePtrCandidate > lightQ_
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
void buildKey() override
build the event hypothesis key
std::unique_ptr< reco::ShallowClonePtrCandidate > hadronicB_
int key_
hypothesis key (to be set by the buildKey function)
edm::EDGetTokenT< std::vector< pat::Particle > > leptonsToken_