1 #ifndef TopObjects_TtEvent_h
2 #define TopObjects_TtEvent_h
33 typedef std::pair<reco::CompositeCandidate, std::vector<int> >
HypoCombPair;
119 std::pair<WDecay::LeptonType, WDecay::LeptonType>
lepDecays_;
124 std::map<HypoClassKey, std::vector<HypoCombPair> >
evtHyp_;
void setMvaDiscriminators(const std::vector< double > &val)
set mva discriminant values of kMVADisc hypothesis
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
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
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
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 kinemtaic fit of hypothesis 'cmb' if available; -1 else
void addEventHypo(const HypoClassKey &key, HypoCombPair hyp)
add new hypotheses
virtual ~TtEvent()
default destructor
double genMatchSumDR(const unsigned &cmb=0) const
return the sum dr of the generator match if available; -1 else
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
std::vector< double > genMatchSumPt_
result of gen match
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
void setFitProb(const std::vector< double > &val)
set fit probability of kKinFit hypothesis
void setGenEvent(const edm::Handle< TtGenEvent > &evt)
set TtGenEvent
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
const reco::CompositeCandidate & eventHypo(const HypoClassKey &key, const unsigned &cmb=0) const
Log< T >::type log(const T &t)
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 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
std::string mvaMethod() const
return the label of the mva method in use for the jet parton association (if kMVADisc is not availabl...
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
unsigned int numberOfAvailableHypos(const HypoClassKey &key) const
return number of available hypotheses within a given hypothesis class