CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
TtSemiLeptonicEvent Class Reference

Class derived from the TtEvent for the semileptonic decay channel. More...

#include "AnalysisDataFormats/TopObjects/interface/TtSemiLeptonicEvent.h"

Inheritance diagram for TtSemiLeptonicEvent:
TtEvent

Public Member Functions

const reco::CandidatehadronicDecayB (const std::string &key, const unsigned &cmb=0) const
 get hadronic b of the given hypothesis More...
 
const reco::CandidatehadronicDecayB (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic b of the given hypothesis More...
 
const reco::GenParticlehadronicDecayB () const
 get hadronic b of the TtGenEvent More...
 
const reco::CandidatehadronicDecayQuark (const std::string &key, const unsigned &cmb=0) const
 get hadronic light quark of the given hypothesis More...
 
const reco::CandidatehadronicDecayQuark (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic light quark of the given hypothesis More...
 
const reco::GenParticlehadronicDecayQuark () const
 get hadronic light quark of the TtGenEvent More...
 
const reco::CandidatehadronicDecayQuarkBar (const std::string &key, const unsigned &cmb=0) const
 get hadronic light quark of the given hypothesis More...
 
const reco::CandidatehadronicDecayQuarkBar (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic light quark of the given hypothesis More...
 
const reco::GenParticlehadronicDecayQuarkBar () const
 get hadronic light quark of the TtGenEvent More...
 
const reco::CandidatehadronicDecayTop (const std::string &key, const unsigned &cmb=0) const
 get hadronic top of the given hypothesis More...
 
const reco::CandidatehadronicDecayTop (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic top of the given hypothesis More...
 
const reco::GenParticlehadronicDecayTop () const
 get hadronic top of the TtGenEvent More...
 
const reco::CandidatehadronicDecayW (const std::string &key, const unsigned &cmb=0) const
 get hadronic W of the given hypothesis More...
 
const reco::CandidatehadronicDecayW (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic W of the given hypothesis More...
 
const reco::GenParticlehadronicDecayW () const
 get hadronic W of the TtGenEvent More...
 
const reco::CandidateleptonicDecayB (const std::string &key, const unsigned &cmb=0) const
 get leptonic b of the given hypothesis More...
 
const reco::CandidateleptonicDecayB (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic b of the given hypothesis More...
 
const reco::GenParticleleptonicDecayB () const
 get leptonic b of the TtGenEvent More...
 
const reco::CandidateleptonicDecayTop (const std::string &key, const unsigned &cmb=0) const
 get leptonic top of the given hypothesis More...
 
const reco::CandidateleptonicDecayTop (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic top of the given hypothesis More...
 
const reco::GenParticleleptonicDecayTop () const
 get leptonic top of the TtGenEvent More...
 
const reco::CandidateleptonicDecayW (const std::string &key, const unsigned &cmb=0) const
 get leptonic W of the given hypothesis More...
 
const reco::CandidateleptonicDecayW (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic W of the given hypothesis More...
 
const reco::GenParticleleptonicDecayW () const
 get leptonic W of the TtGenEvent More...
 
const int numberOfRealNeutrinoSolutions (const HypoClassKey &key) const
 get number of real neutrino solutions for a given hypo class More...
 
const int numberOfRealNeutrinoSolutions (const std::string &key) const
 get number of real neutrino solutions for a given hypo class More...
 
void print (const int verbosity=1) const
 
void setNumberOfRealNeutrinoSolutions (const HypoClassKey &key, const int &nr)
 set number of real neutrino solutions for a given hypo class More...
 
const reco::CandidatesingleLepton (const std::string &key, const unsigned &cmb=0) const
 get leptonic light quark of the given hypothesis More...
 
const reco::CandidatesingleLepton (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic light quark of the given hypothesis More...
 
const reco::GenParticlesingleLepton () const
 get lepton top of the TtGenEvent More...
 
const reco::CandidatesingleNeutrino (const std::string &key, const unsigned &cmb=0) const
 get leptonic light quark of the given hypothesis More...
 
const reco::CandidatesingleNeutrino (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic light quark of the given hypothesis More...
 
const reco::GenParticlesingleNeutrino () const
 get neutrino of the TtGenEvent More...
 
 TtSemiLeptonicEvent ()
 empty constructor More...
 
 ~TtSemiLeptonicEvent () override
 default destructor More...
 
- Public Member Functions inherited from TtEvent
void addEventHypo (const HypoClassKey &key, const HypoCombPair &hyp)
 add new hypotheses More...
 
int correspondingHypo (const std::string &key1, const unsigned &hyp1, const std::string &key2) const
 return the hypothesis in hypothesis class 'key2', which corresponds to hypothesis 'hyp1' in hypothesis class 'key1' More...
 
int correspondingHypo (const HypoClassKey &key1, const unsigned &hyp1, const HypoClassKey &key2) const
 return the hypothesis in hypothesis class 'key2', which corresponds to hypothesis 'hyp1' in hypothesis class 'key1' More...
 
const reco::CompositeCandidateeventHypo (const HypoClassKey &key, const unsigned &cmb=0) const
 
double fitChi2 (const unsigned &cmb=0) const
 return the chi2 of the kinematic fit of hypothesis 'cmb' if available; -1 else More...
 
double fitProb (const unsigned &cmb=0) const
 return the fit probability of hypothesis 'cmb' if available; -1 else More...
 
const edm::RefProd< TtGenEvent > & genEvent () const
 get TtGenEvent More...
 
double genMatchSumDR (const unsigned &cmb=0) const
 return the sum dr of the generator match if available; -1 else More...
 
double genMatchSumPt (const unsigned &cmb=0) const
 return the sum pt of the generator match if available; -1 else More...
 
double hitFitChi2 (const unsigned &cmb=0) const
 return the hitfit chi2 of hypothesis 'cmb' if available; -1 else More...
 
double hitFitMT (const unsigned &cmb=0) const
 return the hitfit top mass of hypothesis 'cmb' if available; -1 else More...
 
double hitFitProb (const unsigned &cmb=0) const
 return the hitfit probability of hypothesis 'cmb' if available; -1 else More...
 
double hitFitSigMT (const unsigned &cmb=0) const
 return the hitfit top mass uncertainty of hypothesis 'cmb' if available; -1 else More...
 
bool isHypoAvailable (const std::string &key, const unsigned &cmb=0) const
 
bool isHypoAvailable (const HypoClassKey &key, const unsigned &cmb=0) const
 check if hypothesis 'cmb' is available within the hypothesis class More...
 
bool isHypoClassAvailable (const std::string &key) const
 check if hypothesis class 'key' was added to the event structure More...
 
bool isHypoClassAvailable (const HypoClassKey &key) const
 check if hypothesis class 'key' was added to the event structure More...
 
bool isHypoValid (const std::string &key, const unsigned &cmb=0) const
 check if hypothesis 'cmb' within the hypothesis class was valid; if not it lead to an empty CompositeCandidate More...
 
bool isHypoValid (const HypoClassKey &key, const unsigned &cmb=0) const
 check if hypothesis 'cmb' within the hypothesis class was valid; if not it lead to an empty CompositeCandidate More...
 
std::vector< int > jetLeptonCombination (const std::string &key, const unsigned &cmb=0) const
 return the vector of jet lepton combinatorics for a given hypothesis and class More...
 
std::vector< int > jetLeptonCombination (const HypoClassKey &key, const unsigned &cmb=0) const
 return the vector of jet lepton combinatorics for a given hypothesis and class More...
 
std::pair< WDecay::LeptonType, WDecay::LeptonTypelepDecays () const
 get leptonic decay channels More...
 
double mvaDisc (const unsigned &cmb=0) const
 return the mva discriminant value of hypothesis 'cmb' if available; -1 else More...
 
std::string mvaMethod () const
 return the label of the mva method in use for the jet parton association (if kMVADisc is not available the string is empty) More...
 
unsigned int numberOfAvailableHypoClasses () const
 return number of available hypothesis classes More...
 
unsigned int numberOfAvailableHypos (const std::string &key) const
 return number of available hypotheses within a given hypothesis class More...
 
unsigned int numberOfAvailableHypos (const HypoClassKey &key) const
 return number of available hypotheses within a given hypothesis class More...
 
int numberOfConsideredJets (const std::string &key) const
 return number of jets that were considered when building a given hypothesis More...
 
int numberOfConsideredJets (const HypoClassKey &key) const
 return number of jets that were considered when building a given hypothesis More...
 
void setFitChi2 (const std::vector< double > &val)
 set chi2 of kKinFit hypothesis More...
 
void setFitProb (const std::vector< double > &val)
 set fit probability of kKinFit hypothesis More...
 
void setGenEvent (const edm::Handle< TtGenEvent > &evt)
 set TtGenEvent More...
 
void setGenMatchSumDR (const std::vector< double > &val)
 set sum dr of kGenMatch hypothesis More...
 
void setGenMatchSumPt (const std::vector< double > &val)
 set sum pt of kGenMatch hypothesis More...
 
void setHitFitChi2 (const std::vector< double > &val)
 set chi2 of kHitFit hypothesis More...
 
void setHitFitMT (const std::vector< double > &val)
 set fitted top mass of kHitFit hypothesis More...
 
void setHitFitProb (const std::vector< double > &val)
 set fit probability of kHitFit hypothesis More...
 
void setHitFitSigMT (const std::vector< double > &val)
 set fitted top mass uncertainty of kHitFit hypothesis More...
 
void setLepDecays (const WDecay::LeptonType &lepDecTop1, const WDecay::LeptonType &lepDecTop2)
 set leptonic decay channels More...
 
void setMvaDiscriminators (const std::vector< double > &val)
 set mva discriminant values of kMVADisc hypothesis More...
 
void setMvaMethod (const std::string &name)
 set label of mva method for kMVADisc hypothesis More...
 
void setNumberOfConsideredJets (const HypoClassKey &key, const unsigned int nJets)
 set number of jets considered when building a given hypothesis More...
 
const reco::CandidatetopPair (const std::string &key, const unsigned &cmb=0) const
 get combined 4-vector of top and topBar of the given hypothesis More...
 
const reco::CandidatetopPair (const HypoClassKey &key, const unsigned &cmb=0) const
 get combined 4-vector of top and topBar of the given hypothesis More...
 
const math::XYZTLorentzVectortopPair () const
 get combined 4-vector of top and topBar from the TtGenEvent More...
 
 TtEvent ()
 empty constructor More...
 
virtual ~TtEvent ()
 default destructor More...
 

Protected Attributes

std::map< HypoClassKey, int > numberOfRealNeutrinoSolutions_
 number of real neutrino solutions for all hypo classes More...
 
- Protected Attributes inherited from TtEvent
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
 
std::vector< double > fitChi2_
 result of kinematic fit More...
 
std::vector< double > fitProb_
 result of kinematic fit More...
 
edm::RefProd< TtGenEventgenEvt_
 reference to TtGenEvent (has to be kept in the event!) More...
 
std::vector< double > genMatchSumDR_
 result of gen match More...
 
std::vector< double > genMatchSumPt_
 result of gen match More...
 
std::vector< double > hitFitChi2_
 
std::vector< double > hitFitMT_
 result of hitfit More...
 
std::vector< double > hitFitProb_
 
std::vector< double > hitFitSigMT_
 
std::pair< WDecay::LeptonType, WDecay::LeptonTypelepDecays_
 leptonic decay channels More...
 
std::vector< double > mvaDisc_
 MVA discriminants. More...
 
std::string mvaMethod_
 label of the MVA method More...
 
std::map< HypoClassKey, int > nJetsConsidered_
 number of jets considered when building the hypotheses More...
 

Additional Inherited Members

- Public Types inherited from TtEvent
enum  HypoClassKey {
  kGeom, kWMassMaxSumPt, kMaxSumPtWMass, kGenMatch,
  kMVADisc, kKinFit, kKinSolution, kWMassDeltaTopMass,
  kHitFit
}
 supported classes of event hypotheses More...
 
typedef std::pair< reco::CompositeCandidate, std::vector< int > > HypoCombPair
 pair of hypothesis and lepton jet combinatorics for a given hypothesis More...
 
- Protected Member Functions inherited from TtEvent
HypoClassKey hypoClassKeyFromString (const std::string &label) const
 return the corresponding enum value from a string More...
 

Detailed Description

Class derived from the TtEvent for the semileptonic decay channel.

The structure holds information on the leptonic decay channels, all event hypotheses of different classes (user defined during production) and a reference to the TtGenEvent (if available). It provides access and administration.

Definition at line 24 of file TtSemiLeptonicEvent.h.

Constructor & Destructor Documentation

◆ TtSemiLeptonicEvent()

TtSemiLeptonicEvent::TtSemiLeptonicEvent ( )
inline

empty constructor

Definition at line 27 of file TtSemiLeptonicEvent.h.

27 {}

◆ ~TtSemiLeptonicEvent()

TtSemiLeptonicEvent::~TtSemiLeptonicEvent ( )
inlineoverride

default destructor

Definition at line 29 of file TtSemiLeptonicEvent.h.

29 {}

Member Function Documentation

◆ hadronicDecayB() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayB ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get hadronic b of the given hypothesis

Definition at line 40 of file TtSemiLeptonicEvent.h.

References hadronicDecayB(), TtEvent::hypoClassKeyFromString(), and submitPVResolutionJobs::key.

40  {
42  };
const reco::GenParticle * hadronicDecayB() const
get hadronic b of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ hadronicDecayB() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayB ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get hadronic b of the given hypothesis

Definition at line 44 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtSemiLepDaughter::HadB, hadronicDecayTop(), TtEvent::isHypoValid(), and submitPVResolutionJobs::key.

44  {
45  return !isHypoValid(key, cmb) ? nullptr : hadronicDecayTop(key, cmb)->daughter(TtSemiLepDaughter::HadB);
46  };
static const std::string HadB
key
prepare the HTCondor submission files and eventually submit them
const reco::GenParticle * hadronicDecayTop() const
get hadronic top of the TtGenEvent
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...

◆ hadronicDecayB() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayB ( ) const
inline

get hadronic b of the TtGenEvent

Definition at line 117 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), TtEvent::genEvt_, and hadronicDecayB().

Referenced by hadronicDecayB(), and print().

117 { return (!genEvt_ ? nullptr : this->genEvent()->hadronicDecayB()); };
const reco::GenParticle * hadronicDecayB() const
get hadronic b of the TtGenEvent
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

◆ hadronicDecayQuark() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayQuark ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get hadronic light quark of the given hypothesis

Definition at line 56 of file TtSemiLeptonicEvent.h.

References hadronicDecayQuark(), TtEvent::hypoClassKeyFromString(), and submitPVResolutionJobs::key.

56  {
58  };
key
prepare the HTCondor submission files and eventually submit them
const reco::GenParticle * hadronicDecayQuark() const
get hadronic light quark of the TtGenEvent
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ hadronicDecayQuark() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayQuark ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get hadronic light quark of the given hypothesis

Definition at line 60 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtSemiLepDaughter::HadP, hadronicDecayW(), TtEvent::isHypoValid(), and submitPVResolutionJobs::key.

60  {
61  return !isHypoValid(key, cmb) ? nullptr : hadronicDecayW(key, cmb)->daughter(TtSemiLepDaughter::HadP);
62  };
const reco::GenParticle * hadronicDecayW() const
get hadronic W of the TtGenEvent
static const std::string HadP
key
prepare the HTCondor submission files and eventually submit them
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...

◆ hadronicDecayQuark() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayQuark ( ) const
inline

get hadronic light quark of the TtGenEvent

Definition at line 121 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by hadronicDecayQuark(), and print().

121  {
122  return (!genEvt_ ? nullptr : this->genEvent()->hadronicDecayQuark());
123  };
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
const reco::GenParticle * hadronicDecayQuark() const
get hadronic light quark of the TtGenEvent
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

◆ hadronicDecayQuarkBar() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayQuarkBar ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get hadronic light quark of the given hypothesis

Definition at line 64 of file TtSemiLeptonicEvent.h.

References hadronicDecayQuarkBar(), TtEvent::hypoClassKeyFromString(), and submitPVResolutionJobs::key.

64  {
66  };
key
prepare the HTCondor submission files and eventually submit them
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15
const reco::GenParticle * hadronicDecayQuarkBar() const
get hadronic light quark of the TtGenEvent

◆ hadronicDecayQuarkBar() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayQuarkBar ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get hadronic light quark of the given hypothesis

Definition at line 68 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtSemiLepDaughter::HadQ, hadronicDecayW(), TtEvent::isHypoValid(), and submitPVResolutionJobs::key.

68  {
69  return !isHypoValid(key, cmb) ? nullptr : hadronicDecayW(key, cmb)->daughter(TtSemiLepDaughter::HadQ);
70  };
const reco::GenParticle * hadronicDecayW() const
get hadronic W of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
static const std::string HadQ
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...

◆ hadronicDecayQuarkBar() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayQuarkBar ( ) const
inline

get hadronic light quark of the TtGenEvent

Definition at line 125 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by hadronicDecayQuarkBar(), and print().

125  {
126  return (!genEvt_ ? nullptr : this->genEvent()->hadronicDecayQuarkBar());
127  };
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188
const reco::GenParticle * hadronicDecayQuarkBar() const
get hadronic light quark of the TtGenEvent

◆ hadronicDecayTop() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayTop ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get hadronic top of the given hypothesis

Definition at line 32 of file TtSemiLeptonicEvent.h.

References hadronicDecayTop(), TtEvent::hypoClassKeyFromString(), and submitPVResolutionJobs::key.

32  {
34  };
key
prepare the HTCondor submission files and eventually submit them
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15
const reco::GenParticle * hadronicDecayTop() const
get hadronic top of the TtGenEvent

◆ hadronicDecayTop() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayTop ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get hadronic top of the given hypothesis

Definition at line 36 of file TtSemiLeptonicEvent.h.

References reco::CompositeCandidate::daughter(), TtEvent::eventHypo(), TtSemiLepDaughter::HadTop, TtEvent::isHypoValid(), and submitPVResolutionJobs::key.

36  {
37  return !isHypoValid(key, cmb) ? nullptr : eventHypo(key, cmb).daughter(TtSemiLepDaughter::HadTop);
38  };
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
key
prepare the HTCondor submission files and eventually submit them
static const std::string HadTop
const reco::CompositeCandidate & eventHypo(const HypoClassKey &key, const unsigned &cmb=0) const
Definition: TtEvent.h:59
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78

◆ hadronicDecayTop() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayTop ( ) const
inline

get hadronic top of the TtGenEvent

Definition at line 113 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by hadronicDecayB(), hadronicDecayTop(), hadronicDecayW(), and print().

113  {
114  return (!genEvt_ ? nullptr : this->genEvent()->hadronicDecayTop());
115  };
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
const reco::GenParticle * hadronicDecayTop() const
get hadronic top of the TtGenEvent
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

◆ hadronicDecayW() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayW ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get hadronic W of the given hypothesis

Definition at line 48 of file TtSemiLeptonicEvent.h.

References hadronicDecayW(), TtEvent::hypoClassKeyFromString(), and submitPVResolutionJobs::key.

48  {
50  };
const reco::GenParticle * hadronicDecayW() const
get hadronic W of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ hadronicDecayW() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayW ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get hadronic W of the given hypothesis

Definition at line 52 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), hadronicDecayTop(), TtSemiLepDaughter::HadW, TtEvent::isHypoValid(), and submitPVResolutionJobs::key.

52  {
53  return !isHypoValid(key, cmb) ? nullptr : hadronicDecayTop(key, cmb)->daughter(TtSemiLepDaughter::HadW);
54  };
key
prepare the HTCondor submission files and eventually submit them
const reco::GenParticle * hadronicDecayTop() const
get hadronic top of the TtGenEvent
static const std::string HadW
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...

◆ hadronicDecayW() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayW ( ) const
inline

get hadronic W of the TtGenEvent

Definition at line 119 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), TtEvent::genEvt_, and hadronicDecayW().

Referenced by hadronicDecayQuark(), hadronicDecayQuarkBar(), hadronicDecayW(), and print().

119 { return (!genEvt_ ? nullptr : this->genEvent()->hadronicDecayW()); };
const reco::GenParticle * hadronicDecayW() const
get hadronic W of the TtGenEvent
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

◆ leptonicDecayB() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayB ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get leptonic b of the given hypothesis

Definition at line 80 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), submitPVResolutionJobs::key, and leptonicDecayB().

80  {
82  };
const reco::GenParticle * leptonicDecayB() const
get leptonic b of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ leptonicDecayB() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayB ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get leptonic b of the given hypothesis

Definition at line 84 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), submitPVResolutionJobs::key, TtSemiLepDaughter::LepB, and leptonicDecayTop().

84  {
85  return !isHypoValid(key, cmb) ? nullptr : leptonicDecayTop(key, cmb)->daughter(TtSemiLepDaughter::LepB);
86  };
const reco::GenParticle * leptonicDecayTop() const
get leptonic top of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78
static const std::string LepB
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...

◆ leptonicDecayB() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::leptonicDecayB ( ) const
inline

get leptonic b of the TtGenEvent

Definition at line 133 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), TtEvent::genEvt_, and leptonicDecayB().

Referenced by leptonicDecayB(), and print().

133 { return (!genEvt_ ? nullptr : this->genEvent()->leptonicDecayB()); };
const reco::GenParticle * leptonicDecayB() const
get leptonic b of the TtGenEvent
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

◆ leptonicDecayTop() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayTop ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get leptonic top of the given hypothesis

Definition at line 72 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), submitPVResolutionJobs::key, and leptonicDecayTop().

72  {
74  };
const reco::GenParticle * leptonicDecayTop() const
get leptonic top of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ leptonicDecayTop() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayTop ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get leptonic top of the given hypothesis

Definition at line 76 of file TtSemiLeptonicEvent.h.

References reco::CompositeCandidate::daughter(), TtEvent::eventHypo(), TtEvent::isHypoValid(), submitPVResolutionJobs::key, and TtSemiLepDaughter::LepTop.

76  {
77  return !isHypoValid(key, cmb) ? nullptr : eventHypo(key, cmb).daughter(TtSemiLepDaughter::LepTop);
78  };
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
static const std::string LepTop
key
prepare the HTCondor submission files and eventually submit them
const reco::CompositeCandidate & eventHypo(const HypoClassKey &key, const unsigned &cmb=0) const
Definition: TtEvent.h:59
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78

◆ leptonicDecayTop() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::leptonicDecayTop ( ) const
inline

get leptonic top of the TtGenEvent

Definition at line 129 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by leptonicDecayB(), leptonicDecayTop(), leptonicDecayW(), and print().

129  {
130  return (!genEvt_ ? nullptr : this->genEvent()->leptonicDecayTop());
131  };
const reco::GenParticle * leptonicDecayTop() const
get leptonic top of the TtGenEvent
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

◆ leptonicDecayW() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayW ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get leptonic W of the given hypothesis

Definition at line 88 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), submitPVResolutionJobs::key, and leptonicDecayW().

88  {
90  };
const reco::GenParticle * leptonicDecayW() const
get leptonic W of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ leptonicDecayW() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayW ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get leptonic W of the given hypothesis

Definition at line 92 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), submitPVResolutionJobs::key, leptonicDecayTop(), and TtSemiLepDaughter::LepW.

92  {
93  return !isHypoValid(key, cmb) ? nullptr : leptonicDecayTop(key, cmb)->daughter(TtSemiLepDaughter::LepW);
94  };
static const std::string LepW
const reco::GenParticle * leptonicDecayTop() const
get leptonic top of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...

◆ leptonicDecayW() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::leptonicDecayW ( ) const
inline

get leptonic W of the TtGenEvent

Definition at line 135 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), TtEvent::genEvt_, and leptonicDecayW().

Referenced by leptonicDecayW(), print(), singleLepton(), and singleNeutrino().

135 { return (!genEvt_ ? nullptr : this->genEvent()->leptonicDecayW()); };
const reco::GenParticle * leptonicDecayW() const
get leptonic W of the TtGenEvent
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

◆ numberOfRealNeutrinoSolutions() [1/2]

const int TtSemiLeptonicEvent::numberOfRealNeutrinoSolutions ( const HypoClassKey key) const
inline

get number of real neutrino solutions for a given hypo class

Definition at line 146 of file TtSemiLeptonicEvent.h.

References submitPVResolutionJobs::key, and numberOfRealNeutrinoSolutions_.

Referenced by numberOfRealNeutrinoSolutions(), and print().

146  {
148  ? -999
149  : numberOfRealNeutrinoSolutions_.find(key)->second);
150  };
key
prepare the HTCondor submission files and eventually submit them
std::map< HypoClassKey, int > numberOfRealNeutrinoSolutions_
number of real neutrino solutions for all hypo classes

◆ numberOfRealNeutrinoSolutions() [2/2]

const int TtSemiLeptonicEvent::numberOfRealNeutrinoSolutions ( const std::string &  key) const
inline

get number of real neutrino solutions for a given hypo class

Definition at line 152 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), submitPVResolutionJobs::key, and numberOfRealNeutrinoSolutions().

152  {
154  };
key
prepare the HTCondor submission files and eventually submit them
const int numberOfRealNeutrinoSolutions(const HypoClassKey &key) const
get number of real neutrino solutions for a given hypo class
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ print()

void TtSemiLeptonicEvent::print ( const int  verbosity = 1) const

print full content of the structure as formated LogInfo to the MessageLogger output for debugging

Definition at line 9 of file TtSemiLeptonicEvent.cc.

References TtEvent::evtHyp_, TtEvent::fitChi2(), TtEvent::fitProb(), TtEvent::genEvent(), TtEvent::genEvt_, TtEvent::genMatchSumDR(), TtEvent::genMatchSumPt(), TtSemiLepEvtPartons::HadB, hadronicDecayB(), hadronicDecayQuark(), hadronicDecayQuarkBar(), hadronicDecayTop(), hadronicDecayW(), TtEvent::hitFitChi2(), TtEvent::hitFitMT(), TtEvent::hitFitProb(), TtEvent::hitFitSigMT(), heavyIonCSV_trainingSettings::idx, TtEvent::isHypoValid(), TtEvent::jetLeptonCombination(), PDWG_EXODelayedJetMET_cff::jets, WDecay::kElec, TtEvent::kGenMatch, TtEvent::kGeom, TtEvent::kHitFit, TtEvent::kKinFit, TtEvent::kKinSolution, TtEvent::kMaxSumPtWMass, WDecay::kMuon, TtEvent::kMVADisc, WDecay::kTau, TtEvent::kWMassDeltaTopMass, TtEvent::kWMassMaxSumPt, TtSemiLepEvtPartons::LepB, TtSemiLepEvtPartons::Lepton, leptonicDecayB(), leptonicDecayTop(), leptonicDecayW(), TtSemiLepEvtPartons::LightQ, TtSemiLepEvtPartons::LightQBar, CrabHelper::log, TtEvent::mvaDisc(), TtEvent::mvaMethod(), TtEvent::numberOfAvailableHypoClasses(), TtEvent::numberOfAvailableHypos(), TtEvent::numberOfConsideredJets(), numberOfRealNeutrinoSolutions(), ttevent::printParticle(), singleLepton(), singleNeutrino(), TtEvent::topPair(), and verbosity.

9  {
10  if (verbosity % 10 <= 0)
11  return;
12 
13  edm::LogInfo log("TtSemiLeptonicEvent");
14 
15  log << "++++++++++++++++++++++++++++++++++++++++++++++++++ \n";
16 
17  // get some information from the genEvent (if available)
18  if (!genEvt_)
19  log << " TtGenEvent not available! \n";
20  else {
21  log << " TtGenEvent says: ";
22  if (!this->genEvent()->isTtBar())
23  log << "Not TtBar";
24  else if (this->genEvent()->isFullHadronic())
25  log << "Fully Hadronic TtBar";
26  else if (this->genEvent()->isFullLeptonic())
27  log << "Fully Leptonic TtBar";
28  else if (this->genEvent()->isSemiLeptonic()) {
29  log << "Semi-leptonic TtBar, ";
30  switch (this->genEvent()->semiLeptonicChannel()) {
31  case WDecay::kElec:
32  log << "Electron";
33  break;
34  case WDecay::kMuon:
35  log << "Muon";
36  break;
37  case WDecay::kTau:
38  log << "Tau";
39  break;
40  default:
41  log << "Unknown";
42  break;
43  }
44  log << " Channel";
45  }
46  log << "\n";
47  }
48 
49  // get number of available hypothesis classes
50  log << " Number of available event hypothesis classes: " << this->numberOfAvailableHypoClasses() << " \n";
51 
52  // create a legend for the jetLepComb
53  log << " - JetLepComb: ";
54  for (unsigned idx = 0; idx < 5; idx++) {
55  switch (idx) {
57  log << "LightP ";
58  break;
60  log << "LightQ ";
61  break;
63  log << " HadB ";
64  break;
66  log << " LepB ";
67  break;
69  log << "Lepton ";
70  break;
71  }
72  }
73  log << "\n";
74 
75  // get details from the hypotheses
76  typedef std::map<HypoClassKey, std::vector<HypoCombPair> >::const_iterator EventHypo;
77  for (EventHypo hyp = evtHyp_.begin(); hyp != evtHyp_.end(); ++hyp) {
78  HypoClassKey hypKey = (*hyp).first;
79  // header for each hypothesis
80  log << "-------------------------------------------------- \n";
81  switch (hypKey) {
82  case kGeom:
83  log << " Geom";
84  break;
85  case kWMassMaxSumPt:
86  log << " WMassMaxSumPt";
87  break;
88  case kMaxSumPtWMass:
89  log << " MaxSumPtWMass";
90  break;
91  case kGenMatch:
92  log << " GenMatch";
93  break;
94  case kMVADisc:
95  log << " MVADisc";
96  break;
97  case kKinFit:
98  log << " KinFit";
99  break;
100  case kKinSolution:
101  log << " KinSolution not (yet) applicable to TtSemiLeptonicEvent --> skipping";
102  continue;
103  case kWMassDeltaTopMass:
104  log << " WMassDeltaTopMass";
105  break;
106  case kHitFit:
107  log << " HitFit";
108  break;
109  default:
110  log << " Unknown TtEvent::HypoClassKey provided --> skipping";
111  continue;
112  }
113  log << "-Hypothesis: \n";
114  log << " * Number of real neutrino solutions: " << this->numberOfRealNeutrinoSolutions(hypKey) << "\n";
115  log << " * Number of considered jets : " << this->numberOfConsideredJets(hypKey) << "\n";
116  unsigned nOfHyp = this->numberOfAvailableHypos(hypKey);
117  if (nOfHyp > 1) {
118  log << " * Number of stored jet combinations: " << nOfHyp << "\n";
119  if (verbosity < 10)
120  log << " The following was found to be the best one:\n";
121  }
122  // if verbosity level is smaller than 10, never show more than the best jet combination
123  if (verbosity < 10)
124  nOfHyp = 1;
125  for (unsigned cmb = 0; cmb < nOfHyp; cmb++) {
126  // check if hypothesis is valid
127  if (!this->isHypoValid(hypKey, cmb))
128  log << " * Not valid! \n";
129  // get meta information for valid hypothesis
130  else {
131  // jetLepComb
132  log << " * JetLepComb:";
133  std::vector<int> jets = this->jetLeptonCombination(hypKey, cmb);
134  for (unsigned int iJet = 0; iJet < jets.size(); iJet++) {
135  log << " " << jets[iJet] << " ";
136  }
137  log << "\n";
138  // specialties for some hypotheses
139  switch (hypKey) {
140  case kGenMatch:
141  log << " * Sum(DeltaR) : " << this->genMatchSumDR(cmb) << " \n"
142  << " * Sum(DeltaPt): " << this->genMatchSumPt(cmb) << " \n";
143  break;
144  case kMVADisc:
145  log << " * Method : " << this->mvaMethod() << " \n"
146  << " * Discrim.: " << this->mvaDisc(cmb) << " \n";
147  break;
148  case kKinFit:
149  log << " * Chi^2 : " << this->fitChi2(cmb) << " \n"
150  << " * Prob(Chi^2): " << this->fitProb(cmb) << " \n";
151  break;
152  case kHitFit:
153  log << " * Chi^2 : " << this->hitFitChi2(cmb) << " \n"
154  << " * Prob(Chi^2): " << this->hitFitProb(cmb) << " \n"
155  << " * Top mass : " << this->hitFitMT(cmb) << " +/- " << this->hitFitSigMT(cmb) << " \n";
156  break;
157  default:
158  break;
159  }
160  // kinematic quantities of particles (if last digit of verbosity level > 1)
161  if (verbosity % 10 >= 2) {
162  log << " * Candidates (pt; eta; phi; mass):\n";
163  if (verbosity % 10 >= 3)
164  printParticle(log, "top pair", this->topPair(hypKey, cmb));
165  printParticle(log, "hadronic top", this->hadronicDecayTop(hypKey, cmb));
166  printParticle(log, "hadronic W ", this->hadronicDecayW(hypKey, cmb));
167  if (verbosity % 10 >= 3) {
168  printParticle(log, "hadronic b ", this->hadronicDecayB(hypKey, cmb));
169  printParticle(log, "hadronic p ", this->hadronicDecayQuark(hypKey, cmb));
170  printParticle(log, "hadronic q ", this->hadronicDecayQuarkBar(hypKey, cmb));
171  }
172  printParticle(log, "leptonic top", this->leptonicDecayTop(hypKey, cmb));
173  printParticle(log, "leptonic W ", this->leptonicDecayW(hypKey, cmb));
174  if (verbosity % 10 >= 3) {
175  printParticle(log, "leptonic b ", this->leptonicDecayB(hypKey, cmb));
176  printParticle(log, "lepton ", this->singleLepton(hypKey, cmb));
177  printParticle(log, "neutrino ", this->singleNeutrino(hypKey, cmb));
178  }
179  }
180  }
181  }
182  }
183 
184  log << "++++++++++++++++++++++++++++++++++++++++++++++++++";
185 }
unsigned int numberOfAvailableHypoClasses() const
return number of available hypothesis classes
Definition: TtEvent.h:86
unsigned int numberOfAvailableHypos(const std::string &key) const
return number of available hypotheses within a given hypothesis class
Definition: TtEvent.h:88
HypoClassKey
supported classes of event hypotheses
Definition: TtEvent.h:26
const reco::GenParticle * singleLepton() const
get lepton top of the TtGenEvent
double hitFitProb(const unsigned &cmb=0) const
return the hitfit probability of hypothesis &#39;cmb&#39; if available; -1 else
Definition: TtEvent.h:130
double fitChi2(const unsigned &cmb=0) const
return the chi2 of the kinematic fit of hypothesis &#39;cmb&#39; if available; -1 else
Definition: TtEvent.h:124
const reco::GenParticle * leptonicDecayTop() const
get leptonic top of the TtGenEvent
std::string mvaMethod() const
return the label of the mva method in use for the jet parton association (if kMVADisc is not availabl...
Definition: TtEvent.h:120
const reco::GenParticle * hadronicDecayB() const
get hadronic b of the TtGenEvent
const reco::GenParticle * hadronicDecayW() const
get hadronic W of the TtGenEvent
const math::XYZTLorentzVector * topPair() const
get combined 4-vector of top and topBar from the TtGenEvent
Definition: TtEvent.h:151
const reco::GenParticle * leptonicDecayW() const
get leptonic W of the TtGenEvent
void printParticle(edm::LogInfo &log, const char *name, const reco::Candidate *cand)
print pt, eta, phi, mass of a given candidate into an existing LogInfo
const reco::GenParticle * leptonicDecayB() const
get leptonic b of the TtGenEvent
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
const reco::GenParticle * singleNeutrino() const
get neutrino of the TtGenEvent
double hitFitChi2(const unsigned &cmb=0) const
return the hitfit chi2 of hypothesis &#39;cmb&#39; if available; -1 else
Definition: TtEvent.h:126
const reco::GenParticle * hadronicDecayQuark() const
get hadronic light quark of the TtGenEvent
double genMatchSumDR(const unsigned &cmb=0) const
return the sum dr of the generator match if available; -1 else
Definition: TtEvent.h:116
double hitFitMT(const unsigned &cmb=0) const
return the hitfit top mass of hypothesis &#39;cmb&#39; if available; -1 else
Definition: TtEvent.h:132
const int numberOfRealNeutrinoSolutions(const HypoClassKey &key) const
get number of real neutrino solutions for a given hypo class
const int verbosity
const reco::GenParticle * hadronicDecayTop() const
get hadronic top of the TtGenEvent
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188
double fitProb(const unsigned &cmb=0) const
return the fit probability of hypothesis &#39;cmb&#39; if available; -1 else
Definition: TtEvent.h:128
std::vector< int > jetLeptonCombination(const std::string &key, const unsigned &cmb=0) const
return the vector of jet lepton combinatorics for a given hypothesis and class
Definition: TtEvent.h:104
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78
int numberOfConsideredJets(const std::string &key) const
return number of jets that were considered when building a given hypothesis
Definition: TtEvent.h:96
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:191
double genMatchSumPt(const unsigned &cmb=0) const
return the sum pt of the generator match if available; -1 else
Definition: TtEvent.h:112
double mvaDisc(const unsigned &cmb=0) const
return the mva discriminant value of hypothesis &#39;cmb&#39; if available; -1 else
Definition: TtEvent.h:122
double hitFitSigMT(const unsigned &cmb=0) const
return the hitfit top mass uncertainty of hypothesis &#39;cmb&#39; if available; -1 else
Definition: TtEvent.h:134
const reco::GenParticle * hadronicDecayQuarkBar() const
get hadronic light quark of the TtGenEvent

◆ setNumberOfRealNeutrinoSolutions()

void TtSemiLeptonicEvent::setNumberOfRealNeutrinoSolutions ( const HypoClassKey key,
const int &  nr 
)
inline

set number of real neutrino solutions for a given hypo class

Definition at line 157 of file TtSemiLeptonicEvent.h.

References submitPVResolutionJobs::key, EgHLTOffHistBins_cfi::nr, and numberOfRealNeutrinoSolutions_.

Referenced by TtEvtBuilder< C >::fillSpecific().

157  {
159  };
key
prepare the HTCondor submission files and eventually submit them
std::map< HypoClassKey, int > numberOfRealNeutrinoSolutions_
number of real neutrino solutions for all hypo classes

◆ singleLepton() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::singleLepton ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get leptonic light quark of the given hypothesis

Definition at line 104 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), submitPVResolutionJobs::key, and singleLepton().

104  {
106  };
const reco::GenParticle * singleLepton() const
get lepton top of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ singleLepton() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::singleLepton ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get leptonic light quark of the given hypothesis

Definition at line 108 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), submitPVResolutionJobs::key, TtSemiLepDaughter::Lep, and leptonicDecayW().

108  {
109  return !isHypoValid(key, cmb) ? nullptr : leptonicDecayW(key, cmb)->daughter(TtSemiLepDaughter::Lep);
110  };
static const std::string Lep
const reco::GenParticle * leptonicDecayW() const
get leptonic W of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...

◆ singleLepton() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::singleLepton ( ) const
inline

get lepton top of the TtGenEvent

Definition at line 137 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), TtEvent::genEvt_, and singleLepton().

Referenced by print(), and singleLepton().

137 { return (!genEvt_ ? nullptr : this->genEvent()->singleLepton()); };
const reco::GenParticle * singleLepton() const
get lepton top of the TtGenEvent
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

◆ singleNeutrino() [1/3]

const reco::Candidate* TtSemiLeptonicEvent::singleNeutrino ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

get leptonic light quark of the given hypothesis

Definition at line 96 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), submitPVResolutionJobs::key, and singleNeutrino().

96  {
98  };
const reco::GenParticle * singleNeutrino() const
get neutrino of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ singleNeutrino() [2/3]

const reco::Candidate* TtSemiLeptonicEvent::singleNeutrino ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get leptonic light quark of the given hypothesis

Definition at line 100 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), submitPVResolutionJobs::key, leptonicDecayW(), and TtSemiLepDaughter::Nu.

100  {
101  return !isHypoValid(key, cmb) ? nullptr : leptonicDecayW(key, cmb)->daughter(TtSemiLepDaughter::Nu);
102  };
const reco::GenParticle * leptonicDecayW() const
get leptonic W of the TtGenEvent
key
prepare the HTCondor submission files and eventually submit them
bool isHypoValid(const std::string &key, const unsigned &cmb=0) const
check if hypothesis &#39;cmb&#39; within the hypothesis class was valid; if not it lead to an empty Composite...
Definition: TtEvent.h:78
static const std::string Nu
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...

◆ singleNeutrino() [3/3]

const reco::GenParticle* TtSemiLeptonicEvent::singleNeutrino ( ) const
inline

get neutrino of the TtGenEvent

Definition at line 139 of file TtSemiLeptonicEvent.h.

References TtEvent::genEvent(), TtEvent::genEvt_, and singleNeutrino().

Referenced by print(), and singleNeutrino().

139 { return (!genEvt_ ? nullptr : this->genEvent()->singleNeutrino()); };
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:63
const reco::GenParticle * singleNeutrino() const
get neutrino of the TtGenEvent
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

Member Data Documentation

◆ numberOfRealNeutrinoSolutions_

std::map<HypoClassKey, int> TtSemiLeptonicEvent::numberOfRealNeutrinoSolutions_
protected

number of real neutrino solutions for all hypo classes

Definition at line 159 of file TtSemiLeptonicEvent.h.

Referenced by numberOfRealNeutrinoSolutions(), and setNumberOfRealNeutrinoSolutions().