Go to the documentation of this file. 1 #ifndef TopObjects_TtEvent_h
2 #define TopObjects_TtEvent_h
42 typedef std::pair<reco::CompositeCandidate, std::vector<int> >
HypoCombPair;
162 lepDecays_ = std::make_pair(lepDecTop1, lepDecTop2);
193 std::pair<WDecay::LeptonType, WDecay::LeptonType>
lepDecays_;
198 std::map<HypoClassKey, std::vector<HypoCombPair> >
evtHyp_;
void setHitFitMT(const std::vector< double > &val)
set fitted top mass of kHitFit hypothesis
std::vector< double > mvaDisc_
MVA discriminants.
void setGenMatchSumDR(const std::vector< double > &val)
set sum dr of kGenMatch hypothesis
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
bool isHypoClassAvailable(const HypoClassKey &key) const
check if hypothesis class 'key' was added to the event structure
double hitFitSigMT(const unsigned &cmb=0) const
return the hitfit top mass uncertainty of hypothesis 'cmb' if available; -1 else
std::pair< WDecay::LeptonType, WDecay::LeptonType > lepDecays() const
get leptonic decay channels
std::vector< double > hitFitSigMT_
void addEventHypo(const HypoClassKey &key, const HypoCombPair &hyp)
add new hypotheses
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 Composite...
void setFitProb(const std::vector< double > &val)
set fit probability of kKinFit hypothesis
virtual ~TtEvent()
default destructor
bool isHypoAvailable(const std::string &key, const unsigned &cmb=0) const
std::string mvaMethod_
label of the MVA method
int numberOfConsideredJets(const std::string &key) const
return number of jets that were considered when building a given hypothesis
TtEvent()
empty constructor
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
U second(std::pair< T, U > const &p)
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
std::pair< reco::CompositeCandidate, std::vector< int > > HypoCombPair
pair of hypothesis and lepton jet combinatorics for a given hypothesis
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
double genMatchSumDR(const unsigned &cmb=0) const
return the sum dr of the generator match if available; -1 else
double hitFitMT(const unsigned &cmb=0) const
return the hitfit top mass of hypothesis 'cmb' if available; -1 else
double fitChi2(const unsigned &cmb=0) const
return the chi2 of the kinematic fit of hypothesis 'cmb' if available; -1 else
double fitProb(const unsigned &cmb=0) const
return the fit probability of hypothesis 'cmb' if available; -1 else
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
std::vector< double > hitFitProb_
const reco::CompositeCandidate & eventHypo(const HypoClassKey &key, const unsigned &cmb=0) const
unsigned int numberOfAvailableHypos(const std::string &key) const
return number of available hypotheses within a given hypothesis class
bool isHypoClassAvailable(const std::string &key) const
check if hypothesis class 'key' was added to the event structure
Base class to hold information for ttbar event interpretation.
std::vector< double > fitProb_
result of kinematic fit
std::vector< double > genMatchSumPt_
result of gen match
unsigned int numberOfAvailableHypos(const HypoClassKey &key) const
return number of available hypotheses within a given hypothesis class
double mvaDisc(const unsigned &cmb=0) const
return the mva discriminant value of hypothesis 'cmb' if available; -1 else
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
void setNumberOfConsideredJets(const HypoClassKey &key, const unsigned int nJets)
set number of jets considered when building a given hypothesis
void setGenEvent(const edm::Handle< TtGenEvent > &evt)
set TtGenEvent
void setHitFitProb(const std::vector< double > &val)
set fit probability of kHitFit hypothesis
std::vector< double > hitFitChi2_
role_collection const & roles() const
get the roles
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
std::vector< double > hitFitMT_
result of hitfit
std::pair< WDecay::LeptonType, WDecay::LeptonType > lepDecays_
leptonic decay channels
void setMvaDiscriminators(const std::vector< double > &val)
set mva discriminant values of kMVADisc hypothesis
void setHitFitSigMT(const std::vector< double > &val)
set fitted top mass uncertainty of kHitFit hypothesis
std::map< HypoClassKey, int > nJetsConsidered_
number of jets considered when building the hypotheses
HypoClassKey
supported classes of event hypotheses
double hitFitProb(const unsigned &cmb=0) const
return the hitfit probability of hypothesis 'cmb' if available; -1 else
void setMvaMethod(const std::string &name)
set label of mva method for kMVADisc hypothesis
int numberOfConsideredJets(const HypoClassKey &key) const
return number of jets that were considered when building a given hypothesis
double hitFitChi2(const unsigned &cmb=0) const
return the hitfit chi2 of hypothesis 'cmb' if available; -1 else
void setLepDecays(const WDecay::LeptonType &lepDecTop1, const WDecay::LeptonType &lepDecTop2)
set leptonic decay channels
const reco::Candidate * topPair(const HypoClassKey &key, const unsigned &cmb=0) const
get combined 4-vector of top and topBar of the given hypothesis
a lightweight map for selection type string label and enum value
std::vector< double > fitChi2_
result of kinematic fit
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 Composite...
std::vector< double > genMatchSumDR_
result of gen match
void setGenMatchSumPt(const std::vector< double > &val)
set sum pt of kGenMatch hypothesis
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
const math::XYZTLorentzVector * topPair() const
get combined 4-vector of top and topBar from the TtGenEvent
bool isHypoAvailable(const HypoClassKey &key, const unsigned &cmb=0) const
check if hypothesis 'cmb' is available within the hypothesis class
std::string mvaMethod() const
return the label of the mva method in use for the jet parton association (if kMVADisc is not availabl...
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 hypothesi...
unsigned int numberOfAvailableHypoClasses() const
return number of available hypothesis classes
void setFitChi2(const std::vector< double > &val)
set chi2 of kKinFit hypothesis
const reco::Candidate * topPair(const std::string &key, const unsigned &cmb=0) const
get combined 4-vector of top and topBar of the given hypothesis
void setHitFitChi2(const std::vector< double > &val)
set chi2 of kHitFit hypothesis
double genMatchSumPt(const unsigned &cmb=0) const
return the sum pt of the generator match if available; -1 else