CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
}
 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, 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 kinemtaic 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...
 
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::LeptonType
lepDecays () 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...
 
void printParticle (edm::LogInfo &log, const char *name, const reco::Candidate *cand) const
 print pt, eta, phi, mass of a given candidate into an existing LogInfo 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 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...
 
 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::pair< WDecay::LeptonType,
WDecay::LeptonType
lepDecays_
 leptonic decay channels More...
 
std::vector< double > mvaDisc_
 MVA discriminants. More...
 
std::string mvaMethod_
 label of the MVA method 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 27 of file TtEvent.h.

Member Typedef Documentation

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

pair of hypothesis and lepton jet combinatorics for a given hypothesis

Definition at line 33 of file TtEvent.h.

Member Enumeration Documentation

supported classes of event hypotheses

Enumerator
kGeom 
kWMassMaxSumPt 
kMaxSumPtWMass 
kGenMatch 
kMVADisc 
kKinFit 
kKinSolution 
kWMassDeltaTopMass 

Definition at line 31 of file TtEvent.h.

Constructor & Destructor Documentation

TtEvent::TtEvent ( )
inline

empty constructor

Definition at line 43 of file TtEvent.h.

43 {};
virtual TtEvent::~TtEvent ( )
inlinevirtual

default destructor

Definition at line 45 of file TtEvent.h.

45 {};

Member Function Documentation

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

add new hypotheses

Definition at line 102 of file TtEvent.h.

References evtHyp_, and combine::key.

102 { evtHyp_[key].push_back(hyp); };
list key
Definition: combine.py:13
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:124
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 90 of file TtEvent.h.

References correspondingHypo(), and hypoClassKeyFromString().

Referenced by correspondingHypo().

90 { return correspondingHypo(hypoClassKeyFromString(key1), hyp1, hypoClassKeyFromString(key2) ); };
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:18
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:90
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 7 of file TtEvent.cc.

References jetLeptonCombination(), and numberOfAvailableHypos().

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

References evtHyp_, and first.

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

51 { return (evtHyp_.find(key)->second)[cmb].first; };
bool first
Definition: L1TdeRCT.cc:79
list key
Definition: combine.py:13
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:124
double TtEvent::fitChi2 ( const unsigned &  cmb = 0) const
inline

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

Definition at line 86 of file TtEvent.h.

References fitChi2_.

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

86 { return (cmb<fitChi2_.size() ? fitChi2_[cmb] : -1.); }
std::vector< double > fitChi2_
result of kinematic fit
Definition: TtEvent.h:127
double TtEvent::fitProb ( const unsigned &  cmb = 0) const
inline

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

Definition at line 88 of file TtEvent.h.

References fitProb_.

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

88 { return (cmb<fitProb_.size() ? fitProb_[cmb] : -1.); }
std::vector< double > fitProb_
result of kinematic fit
Definition: TtEvent.h:129
const edm::RefProd<TtGenEvent>& TtEvent::genEvent ( ) const
inline
double TtEvent::genMatchSumDR ( const unsigned &  cmb = 0) const
inline

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

Definition at line 80 of file TtEvent.h.

References genMatchSumDR_.

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

80 { return (cmb<genMatchSumDR_.size() ? genMatchSumDR_[cmb] : -1.); };
std::vector< double > genMatchSumDR_
result of gen match
Definition: TtEvent.h:133
double TtEvent::genMatchSumPt ( const unsigned &  cmb = 0) const
inline

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

Definition at line 78 of file TtEvent.h.

References genMatchSumPt_.

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

78 { return (cmb<genMatchSumPt_.size() ? genMatchSumPt_[cmb] : -1.); };
std::vector< double > genMatchSumPt_
result of gen match
Definition: TtEvent.h:131
TtEvent::HypoClassKey TtEvent::hypoClassKeyFromString ( const std::string &  label) const
protected

return the corresponding enum value from a string

Definition at line 18 of file TtEvent.cc.

References edm::hlt::Exception, newFWLiteAna::found, i, kGenMatch, kGeom, kKinFit, kKinSolution, kMaxSumPtWMass, kMVADisc, kWMassDeltaTopMass, kWMassMaxSumPt, TtEvent::HypoClassKeyStringToEnum::label, TtEvent::HypoClassKeyStringToEnum::value, and relativeConstraints::value.

Referenced by TtFullHadronicEvent::b(), TtFullLeptonicEvent::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(), TtSemiLeptonicEvent::numberOfRealNeutrinoSolutions(), TtSemiLeptonicEvent::singleLepton(), TtSemiLeptonicEvent::singleNeutrino(), TtFullHadronicEvent::top(), TtFullLeptonicEvent::top(), TtFullLeptonicEvent::topBar(), TtFullHadronicEvent::topBar(), TtFullLeptonicEvent::wMinus(), TtFullHadronicEvent::wMinus(), TtFullLeptonicEvent::wPlus(), and TtFullHadronicEvent::wPlus().

19 {
20  static HypoClassKeyStringToEnum hypoClassKeyStringToEnumMap[] = {
21  { "kGeom", kGeom },
22  { "kWMassMaxSumPt", kWMassMaxSumPt },
23  { "kMaxSumPtWMass", kMaxSumPtWMass },
24  { "kGenMatch", kGenMatch },
25  { "kMVADisc", kMVADisc },
26  { "kKinFit", kKinFit },
27  { "kKinSolution", kKinSolution },
28  { "kWMassDeltaTopMass", kWMassDeltaTopMass},
29  { 0, (HypoClassKey)-1 }
30  };
31 
32  bool found = false;
34  for(int i = 0; hypoClassKeyStringToEnumMap[i].label && (!found); ++i){
35  if(!strcmp(label.c_str(), hypoClassKeyStringToEnumMap[i].label)){
36  found = true;
37  value = hypoClassKeyStringToEnumMap[i].value;
38  }
39  }
40 
41  // in case of unrecognized selection type
42  if(!found){
43  throw cms::Exception("TtEventError") << label << " is not a recognized HypoClassKey";
44  }
45  return value;
46 }
int i
Definition: DBlmapReader.cc:9
HypoClassKey
supported classes of event hypotheses
Definition: TtEvent.h:31
const std::string & label
Definition: MVAComputer.cc:186
bool TtEvent::isHypoAvailable ( const std::string &  key,
const unsigned &  cmb = 0 
) const
inline

Definition at line 60 of file TtEvent.h.

References hypoClassKeyFromString(), and isHypoAvailable().

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

60 { return isHypoAvailable( hypoClassKeyFromString(key), cmb ); };
bool isHypoAvailable(const std::string &key, const unsigned &cmb=0) const
Definition: TtEvent.h:60
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:18
list key
Definition: combine.py:13
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 62 of file TtEvent.h.

References evtHyp_, and isHypoClassAvailable().

62 { return isHypoClassAvailable(key) ? (cmb<evtHyp_.find(key)->second.size()) : false; };
bool isHypoClassAvailable(const std::string &key) const
check if hypothesis class &#39;key&#39; was added to the event structure
Definition: TtEvent.h:56
list key
Definition: combine.py:13
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:124
bool TtEvent::isHypoClassAvailable ( const std::string &  key) const
inline

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

Definition at line 56 of file TtEvent.h.

References hypoClassKeyFromString(), and isHypoClassAvailable().

Referenced by isHypoAvailable(), and isHypoClassAvailable().

bool isHypoClassAvailable(const std::string &key) const
check if hypothesis class &#39;key&#39; was added to the event structure
Definition: TtEvent.h:56
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:18
list key
Definition: combine.py:13
bool TtEvent::isHypoClassAvailable ( const HypoClassKey key) const
inline

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

Definition at line 58 of file TtEvent.h.

References evtHyp_.

58 { return (evtHyp_.find(key)!=evtHyp_.end()); };
list key
Definition: combine.py:13
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:124
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 64 of file TtEvent.h.

References hypoClassKeyFromString(), and isHypoValid().

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

64 { return isHypoValid( hypoClassKeyFromString(key), cmb ); };
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:18
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:64
list key
Definition: combine.py:13
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 66 of file TtEvent.h.

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

66 { return isHypoAvailable(key, cmb) ? !eventHypo(key, cmb).roles().empty() : false; };
bool isHypoAvailable(const std::string &key, const unsigned &cmb=0) const
Definition: TtEvent.h:60
role_collection const & roles() const
get the roles
const reco::CompositeCandidate & eventHypo(const HypoClassKey &key, const unsigned &cmb=0) const
Definition: TtEvent.h:51
list key
Definition: combine.py:13
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 74 of file TtEvent.h.

References hypoClassKeyFromString(), and jetLeptonCombination().

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

HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:18
list key
Definition: combine.py:13
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:74
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 76 of file TtEvent.h.

References evtHyp_, and edm::second().

76 { return (evtHyp_.find(key)->second)[cmb].second; };
U second(std::pair< T, U > const &p)
list key
Definition: combine.py:13
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:124
std::pair<WDecay::LeptonType, WDecay::LeptonType> TtEvent::lepDecays ( ) const
inline

get leptonic decay channels

Definition at line 48 of file TtEvent.h.

References lepDecays_.

48 { return lepDecays_; }
std::pair< WDecay::LeptonType, WDecay::LeptonType > lepDecays_
leptonic decay channels
Definition: TtEvent.h:114
double TtEvent::mvaDisc ( const unsigned &  cmb = 0) const
inline

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

Definition at line 84 of file TtEvent.h.

References mvaDisc_.

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

84 { return (cmb<mvaDisc_.size() ? mvaDisc_[cmb] : -1.); }
std::vector< double > mvaDisc_
MVA discriminants.
Definition: TtEvent.h:137
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 82 of file TtEvent.h.

References mvaMethod_.

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

82 { return mvaMethod_; }
std::string mvaMethod_
label of the MVA method
Definition: TtEvent.h:135
unsigned int TtEvent::numberOfAvailableHypoClasses ( ) const
inline

return number of available hypothesis classes

Definition at line 68 of file TtEvent.h.

References evtHyp_.

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

68 { return evtHyp_.size(); };
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:124
unsigned int TtEvent::numberOfAvailableHypos ( const std::string &  key) const
inline

return number of available hypotheses within a given hypothesis class

Definition at line 70 of file TtEvent.h.

References hypoClassKeyFromString(), and numberOfAvailableHypos().

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

unsigned int numberOfAvailableHypos(const std::string &key) const
return number of available hypotheses within a given hypothesis class
Definition: TtEvent.h:70
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:18
list key
Definition: combine.py:13
unsigned int TtEvent::numberOfAvailableHypos ( const HypoClassKey key) const
inline

return number of available hypotheses within a given hypothesis class

Definition at line 72 of file TtEvent.h.

References evtHyp_, and isHypoAvailable().

72 { return isHypoAvailable(key) ? evtHyp_.find(key)->second.size() : 0; };
bool isHypoAvailable(const std::string &key, const unsigned &cmb=0) const
Definition: TtEvent.h:60
list key
Definition: combine.py:13
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:124
void TtEvent::printParticle ( edm::LogInfo log,
const char *  name,
const reco::Candidate cand 
) const

print pt, eta, phi, mass of a given candidate into an existing LogInfo

Definition at line 50 of file TtEvent.cc.

References reco::Candidate::eta(), reco::Candidate::mass(), reco::Candidate::phi(), and reco::Candidate::pt().

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

51 {
52  if(!cand) {
53  log << std::setw(15) << name << ": not available!\n";
54  return;
55  }
56  log << std::setprecision(3) << setiosflags(std::ios::fixed | std::ios::showpoint);
57  log << std::setw(15) << name << ": "
58  << std::setw( 7) << cand->pt() << "; "
59  << std::setw( 7) << cand->eta() << "; "
60  << std::setw( 7) << cand->phi() << "; "
61  << resetiosflags(std::ios::fixed | std::ios::showpoint) << setiosflags(std::ios::scientific)
62  << std::setw(10) << cand->mass() << "\n";
63  log << resetiosflags(std::ios::scientific);
64 }
virtual double pt() const =0
transverse momentum
virtual double mass() const =0
mass
virtual double phi() const =0
momentum azimuthal angle
virtual double eta() const =0
momentum pseudorapidity
void TtEvent::setFitChi2 ( const std::vector< double > &  val)
inline

set chi2 of kKinFit hypothesis

Definition at line 112 of file TtEvent.h.

References fitChi2_.

112 { fitChi2_=val; };
std::vector< double > fitChi2_
result of kinematic fit
Definition: TtEvent.h:127
void TtEvent::setFitProb ( const std::vector< double > &  val)
inline

set fit probability of kKinFit hypothesis

Definition at line 114 of file TtEvent.h.

References fitProb_.

114 { fitProb_=val; };
std::vector< double > fitProb_
result of kinematic fit
Definition: TtEvent.h:129
void TtEvent::setGenEvent ( const edm::Handle< TtGenEvent > &  evt)
inline

set TtGenEvent

Definition at line 100 of file TtEvent.h.

References genEvt_.

edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:121
void TtEvent::setGenMatchSumDR ( const std::vector< double > &  val)
inline

set sum dr of kGenMatch hypothesis

Definition at line 106 of file TtEvent.h.

References genMatchSumDR_.

106 {genMatchSumDR_=val;};
std::vector< double > genMatchSumDR_
result of gen match
Definition: TtEvent.h:133
void TtEvent::setGenMatchSumPt ( const std::vector< double > &  val)
inline

set sum pt of kGenMatch hypothesis

Definition at line 104 of file TtEvent.h.

References genMatchSumPt_.

104 {genMatchSumPt_=val;};
std::vector< double > genMatchSumPt_
result of gen match
Definition: TtEvent.h:131
void TtEvent::setLepDecays ( const WDecay::LeptonType lepDecTop1,
const WDecay::LeptonType lepDecTop2 
)
inline

set leptonic decay channels

Definition at line 98 of file TtEvent.h.

References lepDecays_.

98 { lepDecays_=std::make_pair(lepDecTop1, lepDecTop2); };
std::pair< WDecay::LeptonType, WDecay::LeptonType > lepDecays_
leptonic decay channels
Definition: TtEvent.h:114
void TtEvent::setMvaDiscriminators ( const std::vector< double > &  val)
inline

set mva discriminant values of kMVADisc hypothesis

Definition at line 110 of file TtEvent.h.

References mvaDisc_.

110 { mvaDisc_=val; };
std::vector< double > mvaDisc_
MVA discriminants.
Definition: TtEvent.h:137
void TtEvent::setMvaMethod ( const std::string &  name)
inline

set label of mva method for kMVADisc hypothesis

Definition at line 108 of file TtEvent.h.

References mvaMethod_, and mergeVDriftHistosByStation::name.

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

Member Data Documentation

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 124 of file TtEvent.h.

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

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

result of kinematic fit

Definition at line 127 of file TtEvent.h.

Referenced by fitChi2(), and setFitChi2().

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

result of kinematic fit

Definition at line 129 of file TtEvent.h.

Referenced by fitProb(), and setFitProb().

edm::RefProd<TtGenEvent> TtEvent::genEvt_
protected
std::vector<double> TtEvent::genMatchSumDR_
protected

result of gen match

Definition at line 133 of file TtEvent.h.

Referenced by genMatchSumDR(), and setGenMatchSumDR().

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

result of gen match

Definition at line 131 of file TtEvent.h.

Referenced by genMatchSumPt(), and setGenMatchSumPt().

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

leptonic decay channels

Definition at line 114 of file TtEvent.h.

Referenced by lepDecays(), and setLepDecays().

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

MVA discriminants.

Definition at line 137 of file TtEvent.h.

Referenced by mvaDisc(), and setMvaDiscriminators().

std::string TtEvent::mvaMethod_
protected

label of the MVA method

Definition at line 135 of file TtEvent.h.

Referenced by mvaMethod(), and setMvaMethod().