CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
TtEvent Class Reference

Base class to hold information for ttbar event interpretation. More...

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

Inheritance diagram for TtEvent:
TtFullHadronicEvent TtFullLeptonicEvent TtSemiLeptonicEvent

Classes

struct  HypoClassKeyStringToEnum
 a lightweight map for selection type string label and enum value More...
 

Public Types

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...
 

Public Member Functions

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 Member Functions

HypoClassKey hypoClassKeyFromString (const std::string &label) const
 return the corresponding enum value from a string More...
 

Protected Attributes

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...
 

Detailed Description

Base class to hold information for ttbar event interpretation.

The structure holds information for ttbar event interpretation. 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 23 of file TtEvent.h.

Member Typedef Documentation

◆ HypoCombPair

typedef std::pair<reco::CompositeCandidate, std::vector<int> > TtEvent::HypoCombPair

pair of hypothesis and lepton jet combinatorics for a given hypothesis

Definition at line 38 of file TtEvent.h.

Member Enumeration Documentation

◆ HypoClassKey

supported classes of event hypotheses

Enumerator
kGeom 
kWMassMaxSumPt 
kMaxSumPtWMass 
kGenMatch 
kMVADisc 
kKinFit 
kKinSolution 
kWMassDeltaTopMass 
kHitFit 

Definition at line 26 of file TtEvent.h.

Constructor & Destructor Documentation

◆ TtEvent()

TtEvent::TtEvent ( )
inline

empty constructor

Definition at line 51 of file TtEvent.h.

51 {}

◆ ~TtEvent()

virtual TtEvent::~TtEvent ( )
inlinevirtual

default destructor

Definition at line 53 of file TtEvent.h.

53 {}

Member Function Documentation

◆ addEventHypo()

void TtEvent::addEventHypo ( const HypoClassKey key,
const HypoCombPair hyp 
)
inline

add new hypotheses

Definition at line 160 of file TtEvent.h.

References evtHyp_, and submitPVResolutionJobs::key.

160 { evtHyp_[key].push_back(hyp); };
key
prepare the HTCondor submission files and eventually submit them
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:191

◆ correspondingHypo() [1/2]

int TtEvent::correspondingHypo ( const std::string &  key1,
const unsigned &  hyp1,
const std::string &  key2 
) const
inline

return the hypothesis in hypothesis class 'key2', which corresponds to hypothesis 'hyp1' in hypothesis class 'key1'

Definition at line 136 of file TtEvent.h.

References hypoClassKeyFromString().

136  {
138  };
int correspondingHypo(const std::string &key1, const unsigned &hyp1, const std::string &key2) const
return the hypothesis in hypothesis class &#39;key2&#39;, which corresponds to hypothesis &#39;hyp1&#39; in hypothesi...
Definition: TtEvent.h:136
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:15

◆ correspondingHypo() [2/2]

int TtEvent::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'

Definition at line 6 of file TtEvent.cc.

References jetLeptonCombination(), and numberOfAvailableHypos().

6  {
7  for (unsigned hyp2 = 0; hyp2 < this->numberOfAvailableHypos(key2); ++hyp2) {
8  if (this->jetLeptonCombination(key1, hyp1) == this->jetLeptonCombination(key2, hyp2))
9  return hyp2;
10  }
11  return -1; // if no corresponding hypothesis was found
12 }
unsigned int numberOfAvailableHypos(const std::string &key) const
return number of available hypotheses within a given hypothesis class
Definition: TtEvent.h:88
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

◆ eventHypo()

const reco::CompositeCandidate& TtEvent::eventHypo ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

get event hypothesis; there can be more hypotheses of a certain class (sorted by quality); per default the best hypothesis is returned

Definition at line 59 of file TtEvent.h.

References evtHyp_, dqmdumpme::first, and submitPVResolutionJobs::key.

Referenced by TtSemiLeptonicEvent::hadronicDecayTop(), isHypoValid(), TtSemiLeptonicEvent::leptonicDecayTop(), TtFullLeptonicEvent::top(), TtFullHadronicEvent::top(), TtFullLeptonicEvent::topBar(), TtFullHadronicEvent::topBar(), and topPair().

59  {
60  return (evtHyp_.find(key)->second)[cmb].first;
61  };
key
prepare the HTCondor submission files and eventually submit them
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:191

◆ fitChi2()

double TtEvent::fitChi2 ( const unsigned &  cmb = 0) const
inline

return the chi2 of the kinematic fit of hypothesis 'cmb' if available; -1 else

Definition at line 124 of file TtEvent.h.

References fitChi2_.

Referenced by TtSemiLeptonicEvent::print(), and TtFullHadronicEvent::print().

124 { return (cmb < fitChi2_.size() ? fitChi2_[cmb] : -1.); }
std::vector< double > fitChi2_
result of kinematic fit
Definition: TtEvent.h:196

◆ fitProb()

double TtEvent::fitProb ( const unsigned &  cmb = 0) const
inline

return the fit probability of hypothesis 'cmb' if available; -1 else

Definition at line 128 of file TtEvent.h.

References fitProb_.

Referenced by TtSemiLeptonicEvent::print(), and TtFullHadronicEvent::print().

128 { return (cmb < fitProb_.size() ? fitProb_[cmb] : -1.); }
std::vector< double > fitProb_
result of kinematic fit
Definition: TtEvent.h:199

◆ genEvent()

const edm::RefProd<TtGenEvent>& TtEvent::genEvent ( ) const
inline

◆ genMatchSumDR()

double TtEvent::genMatchSumDR ( const unsigned &  cmb = 0) const
inline

return the sum dr of the generator match if available; -1 else

Definition at line 116 of file TtEvent.h.

References genMatchSumDR_.

Referenced by TtSemiLeptonicEvent::print(), TtFullLeptonicEvent::print(), and TtFullHadronicEvent::print().

116  {
117  return (cmb < genMatchSumDR_.size() ? genMatchSumDR_[cmb] : -1.);
118  };
std::vector< double > genMatchSumDR_
result of gen match
Definition: TtEvent.h:207

◆ genMatchSumPt()

double TtEvent::genMatchSumPt ( const unsigned &  cmb = 0) const
inline

return the sum pt of the generator match if available; -1 else

Definition at line 112 of file TtEvent.h.

References genMatchSumPt_.

Referenced by TtSemiLeptonicEvent::print(), TtFullLeptonicEvent::print(), and TtFullHadronicEvent::print().

112  {
113  return (cmb < genMatchSumPt_.size() ? genMatchSumPt_[cmb] : -1.);
114  };
std::vector< double > genMatchSumPt_
result of gen match
Definition: TtEvent.h:205

◆ hitFitChi2()

double TtEvent::hitFitChi2 ( const unsigned &  cmb = 0) const
inline

return the hitfit chi2 of hypothesis 'cmb' if available; -1 else

Definition at line 126 of file TtEvent.h.

References hitFitChi2_.

Referenced by TtSemiLeptonicEvent::print().

126 { return (cmb < hitFitChi2_.size() ? hitFitChi2_[cmb] : -1.); }
std::vector< double > hitFitChi2_
Definition: TtEvent.h:197

◆ hitFitMT()

double TtEvent::hitFitMT ( const unsigned &  cmb = 0) const
inline

return the hitfit top mass of hypothesis 'cmb' if available; -1 else

Definition at line 132 of file TtEvent.h.

References hitFitMT_.

Referenced by TtSemiLeptonicEvent::print().

132 { return (cmb < hitFitMT_.size() ? hitFitMT_[cmb] : -1.); }
std::vector< double > hitFitMT_
result of hitfit
Definition: TtEvent.h:202

◆ hitFitProb()

double TtEvent::hitFitProb ( const unsigned &  cmb = 0) const
inline

return the hitfit probability of hypothesis 'cmb' if available; -1 else

Definition at line 130 of file TtEvent.h.

References hitFitProb_.

Referenced by TtSemiLeptonicEvent::print().

130 { return (cmb < hitFitProb_.size() ? hitFitProb_[cmb] : -1.); }
std::vector< double > hitFitProb_
Definition: TtEvent.h:200

◆ hitFitSigMT()

double TtEvent::hitFitSigMT ( const unsigned &  cmb = 0) const
inline

return the hitfit top mass uncertainty of hypothesis 'cmb' if available; -1 else

Definition at line 134 of file TtEvent.h.

References hitFitSigMT_.

Referenced by TtSemiLeptonicEvent::print().

134 { return (cmb < hitFitSigMT_.size() ? hitFitSigMT_[cmb] : -1.); }
std::vector< double > hitFitSigMT_
Definition: TtEvent.h:203

◆ hypoClassKeyFromString()

TtEvent::HypoClassKey TtEvent::hypoClassKeyFromString ( const std::string &  label) const
protected

return the corresponding enum value from a string

Definition at line 15 of file TtEvent.cc.

References label.

Referenced by TtFullLeptonicEvent::b(), TtFullHadronicEvent::b(), TtFullLeptonicEvent::bBar(), TtFullHadronicEvent::bBar(), correspondingHypo(), TtSemiLeptonicEvent::hadronicDecayB(), TtSemiLeptonicEvent::hadronicDecayQuark(), TtSemiLeptonicEvent::hadronicDecayQuarkBar(), TtSemiLeptonicEvent::hadronicDecayTop(), TtSemiLeptonicEvent::hadronicDecayW(), isHypoAvailable(), isHypoClassAvailable(), isHypoValid(), jetLeptonCombination(), TtFullLeptonicEvent::lepton(), TtFullLeptonicEvent::leptonBar(), TtSemiLeptonicEvent::leptonicDecayB(), TtSemiLeptonicEvent::leptonicDecayTop(), TtSemiLeptonicEvent::leptonicDecayW(), TtFullHadronicEvent::lightP(), TtFullHadronicEvent::lightPBar(), TtFullHadronicEvent::lightQ(), TtFullHadronicEvent::lightQBar(), TtFullLeptonicEvent::neutrino(), TtFullLeptonicEvent::neutrinoBar(), numberOfAvailableHypos(), numberOfConsideredJets(), TtSemiLeptonicEvent::numberOfRealNeutrinoSolutions(), TtSemiLeptonicEvent::singleLepton(), TtSemiLeptonicEvent::singleNeutrino(), TtFullLeptonicEvent::top(), TtFullHadronicEvent::top(), TtFullLeptonicEvent::topBar(), TtFullHadronicEvent::topBar(), topPair(), TtFullLeptonicEvent::wMinus(), TtFullHadronicEvent::wMinus(), TtFullLeptonicEvent::wPlus(), and TtFullHadronicEvent::wPlus().

15  {
16  return (HypoClassKey)StringToEnumValue<HypoClassKey>(label);
17 }
HypoClassKey
supported classes of event hypotheses
Definition: TtEvent.h:26
char const * label

◆ isHypoAvailable() [1/2]

bool TtEvent::isHypoAvailable ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

Definition at line 70 of file TtEvent.h.

References hypoClassKeyFromString(), and submitPVResolutionJobs::key.

Referenced by TtEvtBuilder< C >::fillSpecific(), isHypoValid(), numberOfAvailableHypos(), and numberOfConsideredJets().

70  {
72  };
bool isHypoAvailable(const std::string &key, const unsigned &cmb=0) const
Definition: TtEvent.h:70
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

◆ isHypoAvailable() [2/2]

bool TtEvent::isHypoAvailable ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

check if hypothesis 'cmb' is available within the hypothesis class

Definition at line 74 of file TtEvent.h.

References evtHyp_, isHypoClassAvailable(), and submitPVResolutionJobs::key.

74  {
75  return isHypoClassAvailable(key) ? (cmb < evtHyp_.find(key)->second.size()) : false;
76  };
key
prepare the HTCondor submission files and eventually submit them
bool isHypoClassAvailable(const std::string &key) const
check if hypothesis class &#39;key&#39; was added to the event structure
Definition: TtEvent.h:66
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:191

◆ isHypoClassAvailable() [1/2]

bool TtEvent::isHypoClassAvailable ( const std::string &  key) const
inline

check if hypothesis class 'key' was added to the event structure

Definition at line 66 of file TtEvent.h.

References hypoClassKeyFromString(), isHypoClassAvailable(), and submitPVResolutionJobs::key.

Referenced by isHypoAvailable(), and isHypoClassAvailable().

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
bool isHypoClassAvailable(const std::string &key) const
check if hypothesis class &#39;key&#39; was added to the event structure
Definition: TtEvent.h:66

◆ isHypoClassAvailable() [2/2]

bool TtEvent::isHypoClassAvailable ( const HypoClassKey key) const
inline

check if hypothesis class 'key' was added to the event structure

Definition at line 68 of file TtEvent.h.

References evtHyp_, and submitPVResolutionJobs::key.

68 { return (evtHyp_.find(key) != evtHyp_.end()); };
key
prepare the HTCondor submission files and eventually submit them
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:191

◆ isHypoValid() [1/2]

bool TtEvent::isHypoValid ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

check if hypothesis 'cmb' within the hypothesis class was valid; if not it lead to an empty CompositeCandidate

Definition at line 78 of file TtEvent.h.

References hypoClassKeyFromString(), and submitPVResolutionJobs::key.

Referenced by TtFullLeptonicEvent::b(), TtFullHadronicEvent::b(), TtFullLeptonicEvent::bBar(), TtFullHadronicEvent::bBar(), TtSemiLeptonicEvent::hadronicDecayB(), TtSemiLeptonicEvent::hadronicDecayQuark(), TtSemiLeptonicEvent::hadronicDecayQuarkBar(), TtSemiLeptonicEvent::hadronicDecayTop(), TtSemiLeptonicEvent::hadronicDecayW(), TtFullLeptonicEvent::lepton(), TtFullLeptonicEvent::leptonBar(), TtSemiLeptonicEvent::leptonicDecayB(), TtSemiLeptonicEvent::leptonicDecayTop(), TtSemiLeptonicEvent::leptonicDecayW(), TtFullHadronicEvent::lightP(), TtFullHadronicEvent::lightPBar(), TtFullHadronicEvent::lightQ(), TtFullHadronicEvent::lightQBar(), TtFullLeptonicEvent::neutrino(), TtFullLeptonicEvent::neutrinoBar(), TtSemiLeptonicEvent::print(), TtFullLeptonicEvent::print(), TtFullHadronicEvent::print(), TtSemiLeptonicEvent::singleLepton(), TtSemiLeptonicEvent::singleNeutrino(), TtFullLeptonicEvent::top(), TtFullHadronicEvent::top(), TtFullLeptonicEvent::topBar(), TtFullHadronicEvent::topBar(), topPair(), TtFullLeptonicEvent::wMinus(), TtFullHadronicEvent::wMinus(), TtFullLeptonicEvent::wPlus(), and TtFullHadronicEvent::wPlus().

78  {
80  };
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
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

◆ isHypoValid() [2/2]

bool TtEvent::isHypoValid ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

check if hypothesis 'cmb' within the hypothesis class was valid; if not it lead to an empty CompositeCandidate

Definition at line 82 of file TtEvent.h.

References eventHypo(), isHypoAvailable(), submitPVResolutionJobs::key, and reco::CompositeCandidate::roles().

82  {
83  return isHypoAvailable(key, cmb) ? !eventHypo(key, cmb).roles().empty() : false;
84  };
bool isHypoAvailable(const std::string &key, const unsigned &cmb=0) const
Definition: TtEvent.h:70
role_collection const & roles() const
get the roles
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

◆ jetLeptonCombination() [1/2]

std::vector<int> TtEvent::jetLeptonCombination ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

return the vector of jet lepton combinatorics for a given hypothesis and class

Definition at line 104 of file TtEvent.h.

References hypoClassKeyFromString(), and submitPVResolutionJobs::key.

Referenced by correspondingHypo(), TtSemiLeptonicEvent::print(), TtFullLeptonicEvent::print(), and TtFullHadronicEvent::print().

104  {
106  };
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
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

◆ jetLeptonCombination() [2/2]

std::vector<int> TtEvent::jetLeptonCombination ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const
inline

return the vector of jet lepton combinatorics for a given hypothesis and class

Definition at line 108 of file TtEvent.h.

References evtHyp_, submitPVResolutionJobs::key, and edm::second().

108  {
109  return (evtHyp_.find(key)->second)[cmb].second;
110  };
U second(std::pair< T, U > const &p)
key
prepare the HTCondor submission files and eventually submit them
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:191

◆ lepDecays()

std::pair<WDecay::LeptonType, WDecay::LeptonType> TtEvent::lepDecays ( ) const
inline

get leptonic decay channels

Definition at line 56 of file TtEvent.h.

References lepDecays_.

56 { return lepDecays_; }
std::pair< WDecay::LeptonType, WDecay::LeptonType > lepDecays_
leptonic decay channels
Definition: TtEvent.h:182

◆ mvaDisc()

double TtEvent::mvaDisc ( const unsigned &  cmb = 0) const
inline

return the mva discriminant value of hypothesis 'cmb' if available; -1 else

Definition at line 122 of file TtEvent.h.

References mvaDisc_.

Referenced by TtSemiLeptonicEvent::print().

122 { return (cmb < mvaDisc_.size() ? mvaDisc_[cmb] : -1.); }
std::vector< double > mvaDisc_
MVA discriminants.
Definition: TtEvent.h:211

◆ mvaMethod()

std::string TtEvent::mvaMethod ( ) const
inline

return the label of the mva method in use for the jet parton association (if kMVADisc is not available the string is empty)

Definition at line 120 of file TtEvent.h.

References mvaMethod_.

Referenced by TtSemiLeptonicEvent::print().

120 { return mvaMethod_; }
std::string mvaMethod_
label of the MVA method
Definition: TtEvent.h:209

◆ numberOfAvailableHypoClasses()

unsigned int TtEvent::numberOfAvailableHypoClasses ( ) const
inline

return number of available hypothesis classes

Definition at line 86 of file TtEvent.h.

References evtHyp_.

Referenced by TtSemiLeptonicEvent::print(), TtFullLeptonicEvent::print(), and TtFullHadronicEvent::print().

86 { return evtHyp_.size(); };
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:191

◆ numberOfAvailableHypos() [1/2]

unsigned int TtEvent::numberOfAvailableHypos ( const std::string &  key) const
inline

return number of available hypotheses within a given hypothesis class

Definition at line 88 of file TtEvent.h.

References hypoClassKeyFromString(), and submitPVResolutionJobs::key.

Referenced by correspondingHypo(), TtSemiLeptonicEvent::print(), TtFullLeptonicEvent::print(), and TtFullHadronicEvent::print().

88  {
90  };
unsigned int numberOfAvailableHypos(const std::string &key) const
return number of available hypotheses within a given hypothesis class
Definition: TtEvent.h:88
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

◆ numberOfAvailableHypos() [2/2]

unsigned int TtEvent::numberOfAvailableHypos ( const HypoClassKey key) const
inline

return number of available hypotheses within a given hypothesis class

Definition at line 92 of file TtEvent.h.

References evtHyp_, isHypoAvailable(), and submitPVResolutionJobs::key.

92  {
93  return isHypoAvailable(key) ? evtHyp_.find(key)->second.size() : 0;
94  };
bool isHypoAvailable(const std::string &key, const unsigned &cmb=0) const
Definition: TtEvent.h:70
key
prepare the HTCondor submission files and eventually submit them
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:191

◆ numberOfConsideredJets() [1/2]

int TtEvent::numberOfConsideredJets ( const std::string &  key) const
inline

return number of jets that were considered when building a given hypothesis

Definition at line 96 of file TtEvent.h.

References hypoClassKeyFromString(), and submitPVResolutionJobs::key.

Referenced by TtSemiLeptonicEvent::print().

96  {
98  };
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
int numberOfConsideredJets(const std::string &key) const
return number of jets that were considered when building a given hypothesis
Definition: TtEvent.h:96

◆ numberOfConsideredJets() [2/2]

int TtEvent::numberOfConsideredJets ( const HypoClassKey key) const
inline

return number of jets that were considered when building a given hypothesis

Definition at line 100 of file TtEvent.h.

References isHypoAvailable(), submitPVResolutionJobs::key, and nJetsConsidered_.

100  {
101  return (isHypoAvailable(key) ? nJetsConsidered_.find(key)->second : -1);
102  };
std::map< HypoClassKey, int > nJetsConsidered_
number of jets considered when building the hypotheses
Definition: TtEvent.h:193
bool isHypoAvailable(const std::string &key, const unsigned &cmb=0) const
Definition: TtEvent.h:70
key
prepare the HTCondor submission files and eventually submit them

◆ setFitChi2()

void TtEvent::setFitChi2 ( const std::vector< double > &  val)
inline

set chi2 of kKinFit hypothesis

Definition at line 172 of file TtEvent.h.

References fitChi2_, and heppy_batch::val.

172 { fitChi2_ = val; };
std::vector< double > fitChi2_
result of kinematic fit
Definition: TtEvent.h:196

◆ setFitProb()

void TtEvent::setFitProb ( const std::vector< double > &  val)
inline

set fit probability of kKinFit hypothesis

Definition at line 176 of file TtEvent.h.

References fitProb_, and heppy_batch::val.

176 { fitProb_ = val; };
std::vector< double > fitProb_
result of kinematic fit
Definition: TtEvent.h:199

◆ setGenEvent()

void TtEvent::setGenEvent ( const edm::Handle< TtGenEvent > &  evt)
inline

set TtGenEvent

Definition at line 158 of file TtEvent.h.

References genEvt_.

edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:188

◆ setGenMatchSumDR()

void TtEvent::setGenMatchSumDR ( const std::vector< double > &  val)
inline

set sum dr of kGenMatch hypothesis

Definition at line 166 of file TtEvent.h.

References genMatchSumDR_, and heppy_batch::val.

166 { genMatchSumDR_ = val; };
std::vector< double > genMatchSumDR_
result of gen match
Definition: TtEvent.h:207

◆ setGenMatchSumPt()

void TtEvent::setGenMatchSumPt ( const std::vector< double > &  val)
inline

set sum pt of kGenMatch hypothesis

Definition at line 164 of file TtEvent.h.

References genMatchSumPt_, and heppy_batch::val.

164 { genMatchSumPt_ = val; };
std::vector< double > genMatchSumPt_
result of gen match
Definition: TtEvent.h:205

◆ setHitFitChi2()

void TtEvent::setHitFitChi2 ( const std::vector< double > &  val)
inline

set chi2 of kHitFit hypothesis

Definition at line 174 of file TtEvent.h.

References hitFitChi2_, and heppy_batch::val.

174 { hitFitChi2_ = val; };
std::vector< double > hitFitChi2_
Definition: TtEvent.h:197

◆ setHitFitMT()

void TtEvent::setHitFitMT ( const std::vector< double > &  val)
inline

set fitted top mass of kHitFit hypothesis

Definition at line 180 of file TtEvent.h.

References hitFitMT_, and heppy_batch::val.

180 { hitFitMT_ = val; };
std::vector< double > hitFitMT_
result of hitfit
Definition: TtEvent.h:202

◆ setHitFitProb()

void TtEvent::setHitFitProb ( const std::vector< double > &  val)
inline

set fit probability of kHitFit hypothesis

Definition at line 178 of file TtEvent.h.

References hitFitProb_, and heppy_batch::val.

178 { hitFitProb_ = val; };
std::vector< double > hitFitProb_
Definition: TtEvent.h:200

◆ setHitFitSigMT()

void TtEvent::setHitFitSigMT ( const std::vector< double > &  val)
inline

set fitted top mass uncertainty of kHitFit hypothesis

Definition at line 182 of file TtEvent.h.

References hitFitSigMT_, and heppy_batch::val.

182 { hitFitSigMT_ = val; };
std::vector< double > hitFitSigMT_
Definition: TtEvent.h:203

◆ setLepDecays()

void TtEvent::setLepDecays ( const WDecay::LeptonType lepDecTop1,
const WDecay::LeptonType lepDecTop2 
)
inline

set leptonic decay channels

Definition at line 154 of file TtEvent.h.

References lepDecays_.

154  {
155  lepDecays_ = std::make_pair(lepDecTop1, lepDecTop2);
156  };
std::pair< WDecay::LeptonType, WDecay::LeptonType > lepDecays_
leptonic decay channels
Definition: TtEvent.h:182

◆ setMvaDiscriminators()

void TtEvent::setMvaDiscriminators ( const std::vector< double > &  val)
inline

set mva discriminant values of kMVADisc hypothesis

Definition at line 170 of file TtEvent.h.

References mvaDisc_, and heppy_batch::val.

170 { mvaDisc_ = val; };
std::vector< double > mvaDisc_
MVA discriminants.
Definition: TtEvent.h:211

◆ setMvaMethod()

void TtEvent::setMvaMethod ( const std::string &  name)
inline

set label of mva method for kMVADisc hypothesis

Definition at line 168 of file TtEvent.h.

References mvaMethod_, and mergeVDriftHistosByStation::name.

168 { mvaMethod_ = name; };
std::string mvaMethod_
label of the MVA method
Definition: TtEvent.h:209

◆ setNumberOfConsideredJets()

void TtEvent::setNumberOfConsideredJets ( const HypoClassKey key,
const unsigned int  nJets 
)
inline

set number of jets considered when building a given hypothesis

Definition at line 162 of file TtEvent.h.

References submitPVResolutionJobs::key, nJets, and nJetsConsidered_.

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

162 { nJetsConsidered_[key] = nJets; };
std::map< HypoClassKey, int > nJetsConsidered_
number of jets considered when building the hypotheses
Definition: TtEvent.h:193
static constexpr int nJets
key
prepare the HTCondor submission files and eventually submit them

◆ topPair() [1/3]

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

get combined 4-vector of top and topBar of the given hypothesis

Definition at line 143 of file TtEvent.h.

References hypoClassKeyFromString(), submitPVResolutionJobs::key, and topPair().

143  {
144  return topPair(hypoClassKeyFromString(key), cmb);
145  };
const math::XYZTLorentzVector * topPair() const
get combined 4-vector of top and topBar from the TtGenEvent
Definition: TtEvent.h:151
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

◆ topPair() [2/3]

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

get combined 4-vector of top and topBar of the given hypothesis

Definition at line 147 of file TtEvent.h.

References eventHypo(), isHypoValid(), and submitPVResolutionJobs::key.

147  {
148  return !isHypoValid(key, cmb) ? nullptr : (reco::Candidate*)&eventHypo(key, cmb);
149  };
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

◆ topPair() [3/3]

const math::XYZTLorentzVector* TtEvent::topPair ( ) const
inline

get combined 4-vector of top and topBar from the TtGenEvent

Definition at line 151 of file TtEvent.h.

References genEvent(), genEvt_, and topPair().

Referenced by TtSemiLeptonicEvent::print(), TtFullLeptonicEvent::print(), TtFullHadronicEvent::print(), and topPair().

151 { return (!genEvt_ ? nullptr : this->genEvent()->topPair()); };
const math::XYZTLorentzVector * topPair() const
get combined 4-vector of top and topBar from the TtGenEvent
Definition: TtEvent.h:151
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

Member Data Documentation

◆ evtHyp_

std::map<HypoClassKey, std::vector<HypoCombPair> > TtEvent::evtHyp_
protected

map of hypotheses; for each HypoClassKey a vector of hypothesis and their lepton jet combinatorics are kept

Definition at line 191 of file TtEvent.h.

Referenced by addEventHypo(), eventHypo(), isHypoAvailable(), isHypoClassAvailable(), jetLeptonCombination(), numberOfAvailableHypoClasses(), numberOfAvailableHypos(), TtSemiLeptonicEvent::print(), TtFullLeptonicEvent::print(), and TtFullHadronicEvent::print().

◆ fitChi2_

std::vector<double> TtEvent::fitChi2_
protected

result of kinematic fit

Definition at line 196 of file TtEvent.h.

Referenced by fitChi2(), and setFitChi2().

◆ fitProb_

std::vector<double> TtEvent::fitProb_
protected

result of kinematic fit

Definition at line 199 of file TtEvent.h.

Referenced by fitProb(), and setFitProb().

◆ genEvt_

edm::RefProd<TtGenEvent> TtEvent::genEvt_
protected

◆ genMatchSumDR_

std::vector<double> TtEvent::genMatchSumDR_
protected

result of gen match

Definition at line 207 of file TtEvent.h.

Referenced by genMatchSumDR(), and setGenMatchSumDR().

◆ genMatchSumPt_

std::vector<double> TtEvent::genMatchSumPt_
protected

result of gen match

Definition at line 205 of file TtEvent.h.

Referenced by genMatchSumPt(), and setGenMatchSumPt().

◆ hitFitChi2_

std::vector<double> TtEvent::hitFitChi2_
protected

Definition at line 197 of file TtEvent.h.

Referenced by hitFitChi2(), and setHitFitChi2().

◆ hitFitMT_

std::vector<double> TtEvent::hitFitMT_
protected

result of hitfit

Definition at line 202 of file TtEvent.h.

Referenced by hitFitMT(), and setHitFitMT().

◆ hitFitProb_

std::vector<double> TtEvent::hitFitProb_
protected

Definition at line 200 of file TtEvent.h.

Referenced by hitFitProb(), and setHitFitProb().

◆ hitFitSigMT_

std::vector<double> TtEvent::hitFitSigMT_
protected

Definition at line 203 of file TtEvent.h.

Referenced by hitFitSigMT(), and setHitFitSigMT().

◆ lepDecays_

std::pair<WDecay::LeptonType, WDecay::LeptonType> TtEvent::lepDecays_
protected

leptonic decay channels

Definition at line 182 of file TtEvent.h.

Referenced by lepDecays(), and setLepDecays().

◆ mvaDisc_

std::vector<double> TtEvent::mvaDisc_
protected

MVA discriminants.

Definition at line 211 of file TtEvent.h.

Referenced by mvaDisc(), and setMvaDiscriminators().

◆ mvaMethod_

std::string TtEvent::mvaMethod_
protected

label of the MVA method

Definition at line 209 of file TtEvent.h.

Referenced by mvaMethod(), and setMvaMethod().

◆ nJetsConsidered_

std::map<HypoClassKey, int> TtEvent::nJetsConsidered_
protected

number of jets considered when building the hypotheses

Definition at line 193 of file TtEvent.h.

Referenced by numberOfConsideredJets(), and setNumberOfConsideredJets().