#include <TtFullLepHypGenMatch.h>
Public Member Functions | |
TtFullLepHypGenMatch (const edm::ParameterSet &) | |
~TtFullLepHypGenMatch () override | |
Public Member Functions inherited from TtFullLepHypothesis | |
TtFullLepHypothesis (const edm::ParameterSet &) | |
default constructor More... | |
~TtFullLepHypothesis () override | |
default destructor More... | |
Public Member Functions inherited from edm::EDProducer | |
EDProducer () | |
ModuleDescription const & | moduleDescription () const |
~EDProducer () override | |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Protected Attributes | |
edm::EDGetTokenT< TtGenEvent > | genEvtToken_ |
Protected Attributes inherited from TtFullLepHypothesis | |
reco::ShallowClonePtrCandidate * | b_ |
reco::ShallowClonePtrCandidate * | bBar_ |
edm::EDGetTokenT< std::vector< pat::Electron > > | elecsToken_ |
bool | getMatch_ |
std::string | jetCorrectionLevel_ |
edm::EDGetTokenT< std::vector< pat::Jet > > | jetsToken_ |
int | key_ |
hypothesis key (to be set by the buildKey function) More... | |
reco::ShallowClonePtrCandidate * | lepton_ |
reco::ShallowClonePtrCandidate * | leptonBar_ |
edm::EDGetTokenT< std::vector< std::vector< int > > > | matchToken_ |
input label for all necessary collections More... | |
edm::EDGetTokenT< std::vector< pat::MET > > | metsToken_ |
edm::EDGetTokenT< std::vector< pat::Muon > > | musToken_ |
reco::ShallowClonePtrCandidate * | neutrino_ |
reco::ShallowClonePtrCandidate * | neutrinoBar_ |
reco::LeafCandidate * | recNu |
candidates needed for the genmatch hypothesis More... | |
reco::LeafCandidate * | recNuBar |
Private Member Functions | |
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 semi-leptonic event More... | |
void | buildKey () override |
build the event hypothesis key More... | |
void | buildMatchingNeutrinos (edm::Event &, const edm::Handle< std::vector< pat::MET > > &) |
template<typename O > | |
int | findMatchingLepton (const reco::GenParticle *, const edm::Handle< std::vector< O > > &) |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from TtFullLepHypothesis | |
reco::CompositeCandidate | hypo () |
return event hypothesis More... | |
bool | isValid (const int &idx, const edm::Handle< std::vector< pat::Jet > > &jets) |
check if index is in valid range of selected jets More... | |
int | key () const |
return key More... | |
void | produce (edm::Event &, const edm::EventSetup &) override |
produce the event hypothesis as CompositeCandidate and Key More... | |
void | resetCandidates () |
reset candidate pointers before hypo build process More... | |
template<typename C > | |
void | setCandidate (const edm::Handle< C > &handle, const int &idx, reco::ShallowClonePtrCandidate *&clone) |
use one object in a collection to set a ShallowClonePtrCandidate More... | |
void | setCandidate (const edm::Handle< std::vector< pat::Jet > > &handle, const int &idx, reco::ShallowClonePtrCandidate *&clone, const std::string &correctionLevel) |
use one object in a jet collection to set a ShallowClonePtrCandidate with proper jet corrections More... | |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Definition at line 7 of file TtFullLepHypGenMatch.h.
|
explicit |
Definition at line 5 of file TtFullLepHypGenMatch.cc.
|
override |
Definition at line 11 of file TtFullLepHypGenMatch.cc.
|
overrideprivatevirtual |
build event hypothesis from the reco objects of a semi-leptonic event
Implements TtFullLepHypothesis.
Definition at line 14 of file TtFullLepHypGenMatch.cc.
References TtFullLepEvtPartons::B, TtFullLepHypothesis::b_, TtFullLepEvtPartons::BBar, TtFullLepHypothesis::bBar_, buildMatchingNeutrinos(), PatTopSelectionAnalyzer_cfi::elecs, findMatchingLepton(), TtGenEvtProducer_cfi::genEvt, genEvtToken_, edm::Event::getByToken(), training_settings::idx, reco::LeafCandidate::isElectron(), TtGenEvent::isFullLeptonic(), TtFullLepHypothesis::isValid(), TtFullLepHypothesis::jetCorrectionLevel_, fwrapper::jets, WDecay::kElec, WDecay::kMuon, TtGenEvent::lepton(), TtFullLepHypothesis::lepton_, TtGenEvent::leptonBar(), TtFullLepHypothesis::leptonBar_, TtSemiLepSignalSelMVAComputer_cfi::mets, and TtFullLepHypothesis::setCandidate().
Referenced by buildKey().
|
inlineoverrideprivatevirtual |
build the event hypothesis key
Implements TtFullLepHypothesis.
Definition at line 17 of file TtFullLepHypGenMatch.h.
References buildHypo(), buildMatchingNeutrinos(), PatTopSelectionAnalyzer_cfi::elecs, findMatchingLepton(), fwrapper::jets, TtFullLepHypothesis::key_, TtEvent::kGenMatch, match(), and TtSemiLepSignalSelMVAComputer_cfi::mets.
|
private |
Definition at line 138 of file TtFullLepHypGenMatch.cc.
References TtGenEvtProducer_cfi::genEvt, genEvtToken_, edm::Event::getByToken(), TtGenEvent::isFullLeptonic(), TtGenEvent::isTtBar(), TtSemiLepSignalSelMVAComputer_cfi::mets, TtGenEvent::neutrino(), TtGenEvent::neutrinoBar(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), TtFullLepHypothesis::recNu, TtFullLepHypothesis::recNuBar, and mathSSE::sqrt().
Referenced by buildHypo(), and buildKey().
|
private |
Definition at line 123 of file TtFullLepHypGenMatch.cc.
References deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, reco::LeafCandidate::eta(), mps_fire::i, training_settings::idx, TtSemiLepHitFitProducer_Electrons_cfi::leps, electronTrackIsolations_cfi::minDR, and reco::LeafCandidate::phi().
Referenced by buildHypo(), and buildKey().
|
protected |
Definition at line 35 of file TtFullLepHypGenMatch.h.
Referenced by buildHypo(), and buildMatchingNeutrinos().