#include <TtSemiLepHypothesis.h>
Public Member Functions | |
TtSemiLepHypothesis (const edm::ParameterSet &) | |
default constructor More... | |
~TtSemiLepHypothesis () | |
default destructor More... | |
Public Member Functions inherited from edm::EDProducer | |
EDProducer () | |
virtual | ~EDProducer () |
Public Member Functions inherited from edm::ProducerBase | |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
boost::function< void(const BranchDescription &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
Protected Member Functions | |
void | buildHypo (const edm::Handle< edm::View< reco::RecoCandidate > > &leps, const edm::Handle< std::vector< pat::MET > > &mets, const edm::Handle< std::vector< pat::Jet > > &jets, std::vector< int > &jetPartonAssociation) |
minimalistic build function for simple hypotheses More... | |
virtual void | buildHypo (edm::Event &event, const edm::Handle< edm::View< reco::RecoCandidate > > &lepton, const edm::Handle< std::vector< pat::MET > > &neutrino, 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 semi-leptonic event More... | |
virtual void | buildKey ()=0 |
build the event hypothesis key More... | |
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... | |
std::string | jetCorrectionLevel (const std::string &quarkType) |
helper function to construct the proper correction level string for corresponding quarkType More... | |
int | key () const |
WDecay::LeptonType | leptonType (const reco::RecoCandidate *cand) |
determine lepton type of reco candidate and return a corresponding WDecay::LeptonType; the type is kNone if it is whether a muon nor an electron More... | |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
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... | |
void | setNeutrino (const edm::Handle< std::vector< pat::MET > > &met, const edm::Handle< edm::View< reco::RecoCandidate > > &leps, const int &idx, const int &type) |
set neutrino, using mW = 80.4 to calculate the neutrino pz More... | |
Protected Member Functions inherited from edm::EDProducer | |
CurrentProcessingContext const * | currentContext () const |
Protected Member Functions inherited from edm::ProducerBase | |
template<class TProducer , class TMethod > | |
void | callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod) |
Protected Attributes | |
bool | getMatch_ |
reco::ShallowClonePtrCandidate * | hadronicB_ |
std::string | jetCorrectionLevel_ |
edm::InputTag | jets_ |
input label for all necessary collections More... | |
int | key_ |
hypothesis key (to be set by the buildKey function) More... | |
edm::InputTag | leps_ |
reco::ShallowClonePtrCandidate * | lepton_ |
reco::ShallowClonePtrCandidate * | leptonicB_ |
reco::ShallowClonePtrCandidate * | lightQ_ |
reco::ShallowClonePtrCandidate * | lightQBar_ |
edm::InputTag | match_ |
edm::InputTag | mets_ |
reco::ShallowClonePtrCandidate * | neutrino_ |
int | neutrinoSolutionType_ |
algorithm used to calculate neutrino solutions (see cfi for further details) More... | |
edm::InputTag | nJetsConsidered_ |
int | numberOfRealNeutrinoSolutions_ |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | ModuleType |
typedef WorkerT< EDProducer > | WorkerType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Definition at line 31 of file TtSemiLepHypothesis.h.
|
explicit |
default constructor
Definition at line 10 of file TtSemiLepHypothesis.cc.
References edm::ParameterSet::exists(), getMatch_, edm::ParameterSet::getParameter(), jetCorrectionLevel_, match_, and neutrinoSolutionType_.
TtSemiLepHypothesis::~TtSemiLepHypothesis | ( | ) |
default destructor
Definition at line 38 of file TtSemiLepHypothesis.cc.
References hadronicB_, lepton_, leptonicB_, lightQ_, lightQBar_, and neutrino_.
|
protected |
minimalistic build function for simple hypotheses
return key minimalistic build function for simple hypotheses
Definition at line 249 of file TtSemiLepHypothesis.cc.
References TtSemiLepEvtPartons::HadB, hadronicB_, isValid(), jetCorrectionLevel(), fwrapper::jets, TtSemiLepEvtPartons::LepB, lepton_, leptonicB_, TtSemiLepEvtPartons::LightQ, lightQ_, TtSemiLepEvtPartons::LightQBar, lightQBar_, neutrino_, neutrinoSolutionType_, setCandidate(), and setNeutrino().
Referenced by TtSemiLepHypGeom::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypMVADisc::buildHypo(), and produce().
|
protectedpure virtual |
build event hypothesis from the reco objects of a semi-leptonic event
Implemented in TtSemiLepHypGenMatch, TtSemiLepHypGeom, TtSemiLepHypMaxSumPtWMass, TtSemiLepHypMVADisc, TtSemiLepHypWMassDeltaTopMass, TtSemiLepHypWMassMaxSumPt, TtSemiLepHypHitFit, and TtSemiLepHypKinFit.
|
protectedpure virtual |
build the event hypothesis key
Implemented in TtSemiLepHypGenMatch, TtSemiLepHypGeom, TtSemiLepHypMaxSumPtWMass, TtSemiLepHypMVADisc, TtSemiLepHypWMassDeltaTopMass, TtSemiLepHypWMassMaxSumPt, TtSemiLepHypHitFit, and TtSemiLepHypKinFit.
Referenced by produce().
|
protected |
return event hypothesis
Definition at line 126 of file TtSemiLepHypothesis.cc.
References reco::CompositeCandidate::addDaughter(), TtSemiLepDaughter::HadB, TtSemiLepDaughter::HadP, TtSemiLepDaughter::HadQ, hadronicB_, TtSemiLepDaughter::HadTop, TtSemiLepDaughter::HadW, TtSemiLepDaughter::Lep, TtSemiLepDaughter::LepB, lepton_, leptonicB_, TtSemiLepDaughter::LepTop, TtSemiLepDaughter::LepW, lightQ_, lightQBar_, neutrino_, TtSemiLepDaughter::Nu, and AddFourMomenta::set().
Referenced by produce().
|
inlineprotected |
check if index is in valid range of selected jets
Definition at line 64 of file TtSemiLepHypothesis.h.
References fwrapper::jets.
Referenced by TtSemiLepHypGenMatch::buildHypo(), and buildHypo().
|
protected |
helper function to construct the proper correction level string for corresponding quarkType
helper function to construct the proper correction level string for corresponding quarkType, for unknown quarkTypes an empty string is returned
Definition at line 178 of file TtSemiLepHypothesis.cc.
References jetCorrectionLevel_, and testEve_cfg::level.
Referenced by TtSemiLepHypGenMatch::buildHypo(), and buildHypo().
|
inlineprotected |
Definition at line 60 of file TtSemiLepHypothesis.h.
References key_.
Referenced by produce().
|
protected |
determine lepton type of reco candidate and return a corresponding WDecay::LeptonType; the type is kNone if it is whether a muon nor an electron
Definition at line 163 of file TtSemiLepHypothesis.cc.
References WDecay::kElec, WDecay::kMuon, and WDecay::kNone.
Referenced by TtSemiLepHypGenMatch::findMatchingLepton(), and setNeutrino().
|
protectedvirtual |
produce the event hypothesis as CompositeCandidate and Key
Implements edm::EDProducer.
Definition at line 50 of file TtSemiLepHypothesis.cc.
References buildHypo(), buildKey(), edm::Event::getByLabel(), getMatch_, hypo(), i, fwrapper::jets, jets_, key(), leps_, match(), match_, mets_, nJetsConsidered_, numberOfRealNeutrinoSolutions_, edm::Event::put(), and resetCandidates().
|
protected |
reset candidate pointers before hypo build process
Definition at line 113 of file TtSemiLepHypothesis.cc.
References hadronicB_, lepton_, leptonicB_, lightQ_, lightQBar_, neutrino_, and numberOfRealNeutrinoSolutions_.
Referenced by produce().
|
protected |
use one object in a collection to set a ShallowClonePtrCandidate
Definition at line 117 of file TtSemiLepHypothesis.h.
References patZpeak::handle.
Referenced by TtSemiLepHypHitFit::buildHypo(), TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), and buildHypo().
|
protected |
use one object in a jet collection to set a ShallowClonePtrCandidate with proper jet corrections
Definition at line 212 of file TtSemiLepHypothesis.cc.
References patZpeak::handle, and launcher::step.
|
protected |
set neutrino, using mW = 80.4 to calculate the neutrino pz
Definition at line 229 of file TtSemiLepHypothesis.cc.
References edm::hlt::Exception, WDecay::kElec, WDecay::kMuon, leptonType(), CaloMET_cfi::met, neutrino_, numberOfRealNeutrinoSolutions_, p4, and mathSSE::sqrt().
Referenced by TtSemiLepHypGenMatch::buildHypo(), and buildHypo().
|
protected |
internal check whether the match information exists or not, if false a blind dummy match vector will be used internally
Definition at line 86 of file TtSemiLepHypothesis.h.
Referenced by produce(), and TtSemiLepHypothesis().
|
protected |
Definition at line 107 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypHitFit::buildHypo(), TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
specify the desired jet correction level (the default should be L3Absolute-'abs')
Definition at line 95 of file TtSemiLepHypothesis.h.
Referenced by jetCorrectionLevel(), and TtSemiLepHypothesis().
|
protected |
input label for all necessary collections
Definition at line 88 of file TtSemiLepHypothesis.h.
Referenced by produce().
|
protected |
hypothesis key (to be set by the buildKey function)
Definition at line 97 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypHitFit::buildKey(), TtSemiLepHypKinFit::buildKey(), TtSemiLepHypWMassMaxSumPt::buildKey(), TtSemiLepHypMVADisc::buildKey(), TtSemiLepHypMaxSumPtWMass::buildKey(), TtSemiLepHypGenMatch::buildKey(), TtSemiLepHypWMassDeltaTopMass::buildKey(), TtSemiLepHypGeom::buildKey(), and key().
|
protected |
Definition at line 89 of file TtSemiLepHypothesis.h.
Referenced by produce().
|
protected |
Definition at line 110 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypHitFit::buildHypo(), TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
Definition at line 108 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypHitFit::buildHypo(), TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
candidates for internal use for the creation of the hypothesis candidate
Definition at line 105 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypHitFit::buildHypo(), TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
Definition at line 106 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypHitFit::buildHypo(), TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
Definition at line 91 of file TtSemiLepHypothesis.h.
Referenced by produce(), and TtSemiLepHypothesis().
|
protected |
Definition at line 90 of file TtSemiLepHypothesis.h.
Referenced by produce().
|
protected |
Definition at line 109 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypHitFit::buildHypo(), TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), buildHypo(), hypo(), resetCandidates(), setNeutrino(), and ~TtSemiLepHypothesis().
|
protected |
algorithm used to calculate neutrino solutions (see cfi for further details)
Definition at line 99 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypGenMatch::buildHypo(), buildHypo(), and TtSemiLepHypothesis().
|
protected |
Definition at line 92 of file TtSemiLepHypothesis.h.
Referenced by produce().
|
protected |
number of real neutrino solutions: -1 if not determined, 0 if only complex, 2 if two real solutions
Definition at line 102 of file TtSemiLepHypothesis.h.
Referenced by produce(), resetCandidates(), and setNeutrino().