#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 | |
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 |
return key More... | |
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 | 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) |
Definition at line 31 of file TtSemiLepHypothesis.h.
|
explicit |
default constructor
Definition at line 9 of file TtSemiLepHypothesis.cc.
References edm::ParameterSet::exists(), getMatch_, edm::ParameterSet::getParameter(), jetCorrectionLevel_, and match_.
TtSemiLepHypothesis::~TtSemiLepHypothesis | ( | ) |
default destructor
Definition at line 31 of file TtSemiLepHypothesis.cc.
References hadronicB_, lepton_, leptonicB_, lightQ_, lightQBar_, and neutrino_.
|
protectedpure virtual |
build event hypothesis from the reco objects of a semi-leptonic event
Implemented in TtSemiLepHypGenMatch, TtSemiLepHypGeom, TtSemiLepHypMaxSumPtWMass, TtSemiLepHypMVADisc, TtSemiLepHypWMassDeltaTopMass, TtSemiLepHypWMassMaxSumPt, and TtSemiLepHypKinFit.
Referenced by produce().
|
protectedpure virtual |
build the event hypothesis key
Implemented in TtSemiLepHypGenMatch, TtSemiLepHypGeom, TtSemiLepHypMaxSumPtWMass, TtSemiLepHypMVADisc, TtSemiLepHypWMassDeltaTopMass, TtSemiLepHypWMassMaxSumPt, and TtSemiLepHypKinFit.
Referenced by produce().
|
protected |
return event hypothesis
Definition at line 111 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 59 of file TtSemiLepHypothesis.h.
References analyzePatCleaning_cfg::jets.
Referenced by TtSemiLepHypGenMatch::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypMVADisc::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), and TtSemiLepHypGeom::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 163 of file TtSemiLepHypothesis.cc.
References jetCorrectionLevel_, and testEve_cfg::level.
Referenced by TtSemiLepHypGenMatch::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), and TtSemiLepHypGeom::buildHypo().
|
inlineprotected |
return key
Definition at line 55 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 148 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 43 of file TtSemiLepHypothesis.cc.
References buildHypo(), buildKey(), edm::Event::getByLabel(), getMatch_, hypo(), i, analyzePatCleaning_cfg::jets, jets_, key(), leps_, match(), match_, mets_, numberOfRealNeutrinoSolutions_, edm::Event::put(), and resetCandidates().
|
protected |
reset candidate pointers before hypo build process
Definition at line 98 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 109 of file TtSemiLepHypothesis.h.
References patZpeak::handle.
Referenced by TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypMVADisc::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), and TtSemiLepHypGeom::buildHypo().
|
protected |
use one object in a jet collection to set a ShallowClonePtrCandidate with proper jet corrections
Definition at line 197 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 214 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(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), and TtSemiLepHypGeom::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 81 of file TtSemiLepHypothesis.h.
Referenced by produce(), and TtSemiLepHypothesis().
|
protected |
Definition at line 99 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGeom::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), TtSemiLepHypMVADisc::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
specify the desired jet correction level (the default should be L3Absolute-'abs')
Definition at line 89 of file TtSemiLepHypothesis.h.
Referenced by jetCorrectionLevel(), and TtSemiLepHypothesis().
|
protected |
input label for all necessary collections
Definition at line 83 of file TtSemiLepHypothesis.h.
Referenced by produce().
|
protected |
hypothesis key (to be set by the buildKey function)
Definition at line 91 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypKinFit::buildKey(), TtSemiLepHypGenMatch::buildKey(), TtSemiLepHypWMassDeltaTopMass::buildKey(), TtSemiLepHypMVADisc::buildKey(), TtSemiLepHypMaxSumPtWMass::buildKey(), TtSemiLepHypWMassMaxSumPt::buildKey(), TtSemiLepHypGeom::buildKey(), and key().
|
protected |
Definition at line 84 of file TtSemiLepHypothesis.h.
Referenced by produce().
|
protected |
Definition at line 102 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGeom::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), TtSemiLepHypMVADisc::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
Definition at line 100 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGeom::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), TtSemiLepHypMVADisc::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
candidates for internal use for the creation of the hypothesis candidate
Definition at line 97 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGeom::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), TtSemiLepHypMVADisc::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
Definition at line 98 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGeom::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), TtSemiLepHypMVADisc::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), hypo(), resetCandidates(), and ~TtSemiLepHypothesis().
|
protected |
Definition at line 86 of file TtSemiLepHypothesis.h.
Referenced by produce(), and TtSemiLepHypothesis().
|
protected |
Definition at line 85 of file TtSemiLepHypothesis.h.
Referenced by produce().
|
protected |
Definition at line 101 of file TtSemiLepHypothesis.h.
Referenced by TtSemiLepHypKinFit::buildHypo(), TtSemiLepHypGeom::buildHypo(), TtSemiLepHypMaxSumPtWMass::buildHypo(), TtSemiLepHypMVADisc::buildHypo(), TtSemiLepHypGenMatch::buildHypo(), TtSemiLepHypWMassMaxSumPt::buildHypo(), TtSemiLepHypWMassDeltaTopMass::buildHypo(), hypo(), resetCandidates(), setNeutrino(), and ~TtSemiLepHypothesis().
|
protected |
number of real neutrino solutions: -1 if not determined, 0 if only complex, 2 if two real solutions
Definition at line 94 of file TtSemiLepHypothesis.h.
Referenced by produce(), resetCandidates(), and setNeutrino().