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