13 const edm::Handle<std::vector<pat::Electron> >& elecs,
17 std::vector<int>&
match,
18 const unsigned int iComb)
override;
28 nusToken_(consumes<std::
vector<
reco::LeafCandidate> >(cfg.getParameter<edm::
InputTag>(
"Neutrinos"))),
29 nuBarsToken_(consumes<std::
vector<
reco::LeafCandidate> >(cfg.getParameter<edm::
InputTag>(
"NeutrinoBars"))),
30 solWeightToken_(consumes<std::
vector<double> >(cfg.getParameter<edm::
InputTag>(
"solutionWeight"))) {}
33 const edm::Handle<std::vector<pat::Electron> >& elecs,
37 std::vector<int>&
match,
38 const unsigned int iComb) {
49 if ((*solWeight)[iComb] < 0) {
64 if (!elecs->empty() && match[2] >= 0)
67 if (!elecs->empty() && match[3] >= 0)
70 if (!mus->empty() && match[4] >= 0 && match[2] < 0)
76 else if (!mus->empty() && match[4] >= 0)
79 if (!mus->empty() && match[5] >= 0 && match[3] < 0)
85 else if (!mus->empty() && match[5] >= 0)
std::unique_ptr< reco::ShallowClonePtrCandidate > leptonBar_
int key_
hypothesis key (to be set by the buildKey function)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
edm::EDGetTokenT< std::vector< reco::LeafCandidate > > nuBarsToken_
std::unique_ptr< reco::ShallowClonePtrCandidate > neutrino_
std::unique_ptr< reco::ShallowClonePtrCandidate > neutrinoBar_
void buildHypo(edm::Event &evt, const edm::Handle< std::vector< pat::Electron > > &elecs, const edm::Handle< std::vector< pat::Muon > > &mus, const edm::Handle< std::vector< pat::Jet > > &jets, const edm::Handle< std::vector< pat::MET > > &mets, std::vector< int > &match, const unsigned int iComb) override
build event hypothesis from the reco objects of a full-leptonic event
std::string jetCorrectionLevel_
edm::EDGetTokenT< std::vector< reco::LeafCandidate > > nusToken_
std::unique_ptr< reco::ShallowClonePtrCandidate > lepton_
edm::EDGetTokenT< std::vector< double > > solWeightToken_
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
std::unique_ptr< reco::ShallowClonePtrCandidate > b_
std::unique_ptr< reco::ShallowClonePtrCandidate > makeCandidate(const edm::Handle< C > &handle, const int &idx)
use one object in a collection to set a ShallowClonePtrCandidate
TtFullLepHypKinSolution(const edm::ParameterSet &)
void buildKey() override
build the event hypothesis key
std::unique_ptr< reco::ShallowClonePtrCandidate > bBar_