CMS 3D CMS Logo

List of all members | Public Member Functions
TtFullHadronicEvent Class Reference

Class derived from the TtEvent for the full hadronic decay channel. More...

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

Inheritance diagram for TtFullHadronicEvent:
TtEvent

Public Member Functions

const reco::GenParticleb () const
 get b of the TtGenEvent More...
 
const reco::Candidateb (const HypoClassKey &key, const unsigned &cmb=0) const
 get b of the given hypothesis More...
 
const reco::Candidateb (const std::string &key, const unsigned &cmb=0) const
 get b of the given hypothesis More...
 
const reco::GenParticlebBar () const
 get anti-b of the TtGenEvent More...
 
const reco::CandidatebBar (const HypoClassKey &key, const unsigned &cmb=0) const
 get anti-b of the given hypothesis More...
 
const reco::CandidatebBar (const std::string &key, const unsigned &cmb=0) const
 get anti-b of the given hypothesis More...
 
const reco::GenParticlelightP () const
 get light P of the TtGenEvent More...
 
const reco::CandidatelightP (const HypoClassKey &key, const unsigned &cmb=0) const
 get light P of the given hypothesis More...
 
const reco::CandidatelightP (const std::string &key, const unsigned &cmb=0) const
 get light P of the given hypothesis More...
 
const reco::GenParticlelightPBar () const
 get light P bar of the TtGenEvent More...
 
const reco::CandidatelightPBar (const HypoClassKey &key, const unsigned &cmb=0) const
 get light P bar of the given hypothesis More...
 
const reco::CandidatelightPBar (const std::string &key, const unsigned &cmb=0) const
 get light P bar of the given hypothesis More...
 
const reco::GenParticlelightQ () const
 get light Q of the TtGenEvent More...
 
const reco::CandidatelightQ (const HypoClassKey &key, const unsigned &cmb=0) const
 get light Q of the given hypothesis More...
 
const reco::CandidatelightQ (const std::string &key, const unsigned &cmb=0) const
 get light Q of the given hypothesis More...
 
const reco::GenParticlelightQBar () const
 get light Q bar of the TtGenEvent More...
 
const reco::CandidatelightQBar (const HypoClassKey &key, const unsigned &cmb=0) const
 get light Q bar of the given hypothesis More...
 
const reco::CandidatelightQBar (const std::string &key, const unsigned &cmb=0) const
 get light Q bar of the given hypothesis More...
 
void print (const int verbosity=1) const
 
const reco::GenParticletop () const
 get top of the TtGenEvent More...
 
const reco::Candidatetop (const HypoClassKey &key, const unsigned &cmb=0) const
 get top of the given hypothesis More...
 
const reco::Candidatetop (const std::string &key, const unsigned &cmb=0) const
 get top of the given hypothesis More...
 
const reco::GenParticletopBar () const
 get anti-top of the TtGenEvent More...
 
const reco::CandidatetopBar (const HypoClassKey &key, const unsigned &cmb=0) const
 get anti-top of the given hypothesis More...
 
const reco::CandidatetopBar (const std::string &key, const unsigned &cmb=0) const
 get anti-top of the given hypothesis More...
 
 TtFullHadronicEvent ()
 empty constructor More...
 
const reco::GenParticlewMinus () const
 get Wminus of the TtGenEvent More...
 
const reco::CandidatewMinus (const HypoClassKey &key, const unsigned &cmb=0) const
 get Wminus of the given hypothesis More...
 
const reco::CandidatewMinus (const std::string &key, const unsigned &cmb=0) const
 get Wminus of the given hypothesis More...
 
const reco::GenParticlewPlus () const
 get Wplus of the TtGenEvent More...
 
const reco::CandidatewPlus (const HypoClassKey &key, const unsigned &cmb=0) const
 get Wplus of the given hypothesis More...
 
const reco::CandidatewPlus (const std::string &key, const unsigned &cmb=0) const
 get Wplus of the given hypothesis More...
 
 ~TtFullHadronicEvent () override
 default destructor More...
 
- Public Member Functions inherited from TtEvent
void addEventHypo (const HypoClassKey &key, const HypoCombPair &hyp)
 add new hypotheses 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...
 
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...
 
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 HypoClassKey &key, const unsigned &cmb=0) const
 check if hypothesis 'cmb' is available within the hypothesis class More...
 
bool isHypoAvailable (const std::string &key, const unsigned &cmb=0) const
 
bool isHypoClassAvailable (const HypoClassKey &key) const
 check if hypothesis class 'key' was added to the event structure More...
 
bool isHypoClassAvailable (const std::string &key) const
 check if hypothesis class 'key' was added to the event structure 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...
 
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...
 
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::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::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 HypoClassKey &key) const
 return number of available hypotheses within a given hypothesis class More...
 
unsigned int numberOfAvailableHypos (const std::string &key) const
 return number of available hypotheses within a given hypothesis class More...
 
int numberOfConsideredJets (const HypoClassKey &key) const
 return number of jets that were considered when building a given hypothesis More...
 
int numberOfConsideredJets (const std::string &key) const
 return number of jets that were considered when building a given hypothesis 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 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 math::XYZTLorentzVectortopPair () const
 get combined 4-vector of top and topBar from the TtGenEvent 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 reco::CandidatetopPair (const std::string &key, const unsigned &cmb=0) const
 get combined 4-vector of top and topBar of the given hypothesis More...
 
 TtEvent ()
 empty constructor More...
 
virtual ~TtEvent ()
 default destructor More...
 

Additional Inherited Members

- Public Types inherited from TtEvent
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...
 
- Protected Member Functions inherited from TtEvent
HypoClassKey hypoClassKeyFromString (const std::string &label) const
 return the corresponding enum value from a string More...
 
- Protected Attributes inherited from TtEvent
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

Class derived from the TtEvent for the full hadronic decay channel.

The structure holds information on the hadronic decay channels, 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 25 of file TtFullHadronicEvent.h.

Constructor & Destructor Documentation

◆ TtFullHadronicEvent()

TtFullHadronicEvent::TtFullHadronicEvent ( )
inline

empty constructor

Definition at line 28 of file TtFullHadronicEvent.h.

28 {};

◆ ~TtFullHadronicEvent()

TtFullHadronicEvent::~TtFullHadronicEvent ( )
inlineoverride

default destructor

Definition at line 30 of file TtFullHadronicEvent.h.

30 {};

Member Function Documentation

◆ b() [1/3]

const reco::GenParticle* TtFullHadronicEvent::b ( ) const
inline

get b of the TtGenEvent

Definition at line 123 of file TtFullHadronicEvent.h.

123 { return (!genEvt_ ? nullptr : this->genEvent()->b()); };

References b(), TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by b(), and print().

◆ b() [2/3]

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

get b of the given hypothesis

Definition at line 45 of file TtFullHadronicEvent.h.

45  {
46  return !isHypoValid(key, cmb) ? nullptr : top(key, cmb)->daughter(TtFullHadDaughter::B);
47  };

References TtFullHadDaughter::B, reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), crabWrapper::key, and top().

◆ b() [3/3]

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

get b of the given hypothesis

Definition at line 41 of file TtFullHadronicEvent.h.

41  {
42  return b(hypoClassKeyFromString(key), cmb);
43  };

References b(), TtEvent::hypoClassKeyFromString(), and crabWrapper::key.

◆ bBar() [1/3]

const reco::GenParticle* TtFullHadronicEvent::bBar ( ) const
inline

get anti-b of the TtGenEvent

Definition at line 136 of file TtFullHadronicEvent.h.

136 { return (!genEvt_ ? nullptr : this->genEvent()->bBar()); };

References bBar(), TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by bBar(), and print().

◆ bBar() [2/3]

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

get anti-b of the given hypothesis

Definition at line 89 of file TtFullHadronicEvent.h.

89  {
90  return !isHypoValid(key, cmb) ? nullptr : topBar(key, cmb)->daughter(TtFullHadDaughter::BBar);
91  };

References TtFullHadDaughter::BBar, reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), crabWrapper::key, and topBar().

◆ bBar() [3/3]

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

get anti-b of the given hypothesis

Definition at line 85 of file TtFullHadronicEvent.h.

85  {
86  return bBar(hypoClassKeyFromString(key), cmb);
87  };

References bBar(), TtEvent::hypoClassKeyFromString(), and crabWrapper::key.

◆ lightP() [1/3]

const reco::GenParticle* TtFullHadronicEvent::lightP ( ) const
inline

get light P of the TtGenEvent

Definition at line 128 of file TtFullHadronicEvent.h.

128 { return (!genEvt_ ? nullptr : this->genEvent()->daughterQuarkOfWMinus()); };

References TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by lightP(), and print().

◆ lightP() [2/3]

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

get light P of the given hypothesis

Definition at line 63 of file TtFullHadronicEvent.h.

63  {
64  return !isHypoValid(key, cmb) ? nullptr : wMinus(key, cmb)->daughter(TtFullHadDaughter::LightP);
65  };

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), crabWrapper::key, TtFullHadDaughter::LightP, and wMinus().

◆ lightP() [3/3]

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

get light P of the given hypothesis

Definition at line 59 of file TtFullHadronicEvent.h.

59  {
60  return lightP(hypoClassKeyFromString(key), cmb);
61  };

References TtEvent::hypoClassKeyFromString(), crabWrapper::key, and lightP().

◆ lightPBar() [1/3]

const reco::GenParticle* TtFullHadronicEvent::lightPBar ( ) const
inline

get light P bar of the TtGenEvent

Definition at line 143 of file TtFullHadronicEvent.h.

143  {
144  return (!genEvt_ ? nullptr : this->genEvent()->daughterQuarkBarOfWMinus());
145  };

References TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by lightPBar(), and print().

◆ lightPBar() [2/3]

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

get light P bar of the given hypothesis

Definition at line 107 of file TtFullHadronicEvent.h.

107  {
108  return !isHypoValid(key, cmb) ? nullptr : wMinus(key, cmb)->daughter(TtFullHadDaughter::LightPBar);
109  };

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), crabWrapper::key, TtFullHadDaughter::LightPBar, and wMinus().

◆ lightPBar() [3/3]

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

get light P bar of the given hypothesis

Definition at line 103 of file TtFullHadronicEvent.h.

103  {
104  return lightPBar(hypoClassKeyFromString(key), cmb);
105  };

References TtEvent::hypoClassKeyFromString(), crabWrapper::key, and lightPBar().

◆ lightQ() [1/3]

const reco::GenParticle* TtFullHadronicEvent::lightQ ( ) const
inline

get light Q of the TtGenEvent

Definition at line 126 of file TtFullHadronicEvent.h.

126 { return (!genEvt_ ? nullptr : this->genEvent()->daughterQuarkOfWPlus()); };

References TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by lightQ(), and print().

◆ lightQ() [2/3]

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

get light Q of the given hypothesis

Definition at line 54 of file TtFullHadronicEvent.h.

54  {
55  return !isHypoValid(key, cmb) ? nullptr : wPlus(key, cmb)->daughter(TtFullHadDaughter::LightQ);
56  };

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), crabWrapper::key, TtFullHadDaughter::LightQ, and wPlus().

◆ lightQ() [3/3]

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

get light Q of the given hypothesis

Definition at line 50 of file TtFullHadronicEvent.h.

50  {
51  return lightQ(hypoClassKeyFromString(key), cmb);
52  };

References TtEvent::hypoClassKeyFromString(), crabWrapper::key, and lightQ().

◆ lightQBar() [1/3]

const reco::GenParticle* TtFullHadronicEvent::lightQBar ( ) const
inline

get light Q bar of the TtGenEvent

Definition at line 139 of file TtFullHadronicEvent.h.

139  {
140  return (!genEvt_ ? nullptr : this->genEvent()->daughterQuarkBarOfWPlus());
141  };

References TtEvent::genEvent(), and TtEvent::genEvt_.

Referenced by lightQBar(), and print().

◆ lightQBar() [2/3]

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

get light Q bar of the given hypothesis

Definition at line 98 of file TtFullHadronicEvent.h.

98  {
99  return !isHypoValid(key, cmb) ? nullptr : wPlus(key, cmb)->daughter(TtFullHadDaughter::LightQBar);
100  };

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), crabWrapper::key, TtFullHadDaughter::LightQBar, and wPlus().

◆ lightQBar() [3/3]

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

get light Q bar of the given hypothesis

Definition at line 94 of file TtFullHadronicEvent.h.

94  {
95  return lightQBar(hypoClassKeyFromString(key), cmb);
96  };

References TtEvent::hypoClassKeyFromString(), crabWrapper::key, and lightQBar().

◆ print()

void TtFullHadronicEvent::print ( const int  verbosity = 1) const

print full content of the structure as formated LogInfo to the MessageLogger output for debugging

Definition at line 6 of file TtFullHadronicEvent.cc.

6  {
7  if (verbosity % 10 <= 0)
8  return;
9 
10  edm::LogInfo log("TtFullHadronicEvent");
11 
12  log << "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \n";
13 
14  // get some information from the genEvent
15  if (!genEvt_)
16  log << " TtGenEvent not available! \n";
17  else {
18  log << " TtGenEvent says: ";
19  if (!this->genEvent()->isTtBar())
20  log << "Not TtBar";
21  else if (this->genEvent()->isFullHadronic())
22  log << "Fully Hadronic TtBar";
23  else if (this->genEvent()->isSemiLeptonic())
24  log << "Semi-leptonic TtBar";
25  else if (this->genEvent()->isFullLeptonic())
26  log << "Fully Leptonic TtBar";
27  log << "\n";
28  }
29  // get number of available hypothesis classes
30  log << " Number of available event hypothesis classes: " << this->numberOfAvailableHypoClasses() << " \n";
31 
32  // create a legend for the jetLepComb
33  log << " - JetCombi : ";
34  for (unsigned idx = 0; idx < 6; idx++) {
35  switch (idx) {
37  log << " LightQ ";
38  break;
40  log << " LightQBar";
41  break;
43  log << " B ";
44  break;
46  log << " LightP ";
47  break;
49  log << " LightPBar";
50  break;
52  log << " BBar ";
53  break;
54  }
55  }
56  log << "\n";
57 
58  // get details from the hypotheses
59  typedef std::map<HypoClassKey, std::vector<HypoCombPair> >::const_iterator EventHypo;
60  for (EventHypo hyp = evtHyp_.begin(); hyp != evtHyp_.end(); ++hyp) {
61  HypoClassKey hypKey = (*hyp).first;
62  // header for each hypothesis
63  log << "---------------------------------------------------------------------------- \n";
64  switch (hypKey) {
65  case kGeom:
66  log << " Geom not (yet) applicable to TtFullHadronicEvent --> skipping";
67  continue;
68  case kWMassMaxSumPt:
69  log << " WMassMaxSumPt not (yet) applicable to TtFullHadronicEvent --> skipping";
70  continue;
71  case kMaxSumPtWMass:
72  log << " MaxSumPtWMass not (yet) applicable to TtFullHadronicEvent --> skipping";
73  continue;
74  case kGenMatch:
75  log << " GenMatch";
76  break;
77  case kMVADisc:
78  log << " MVADisc not (yet) applicable to TtFullHadronicEvent --> skipping";
79  continue;
80  case kKinFit:
81  log << " KinFit";
82  break;
83  case kKinSolution:
84  log << " KinSolution not (yet) applicable to TtFullHadronicEvent --> skipping";
85  continue;
86  case kWMassDeltaTopMass:
87  log << " WMassDeltaTopMass not (yet) applicable to TtFullHadronicEvent --> skipping";
88  continue;
89  case kHitFit:
90  log << " HitFit not (yet) applicable to TtFullHadronicEvent --> skipping";
91  continue;
92  default:
93  log << " Unknown TtEvent::HypoClassKey provided --> skipping";
94  continue;
95  }
96  log << "-Hypothesis: \n";
97  unsigned nOfHyp = this->numberOfAvailableHypos(hypKey);
98  if (nOfHyp > 1) {
99  log << " * Number of available jet combinations: " << nOfHyp << " \n";
100  if (verbosity < 10)
101  log << " The following was found to be the best one: \n";
102  }
103  // if verbosity level is smaller than 10, never show more than the best jet combination
104  if (verbosity < 10)
105  nOfHyp = 1;
106  for (unsigned cmb = 0; cmb < nOfHyp; ++cmb) {
107  // check if hypothesis is valid
108  if (!this->isHypoValid(hypKey, cmb))
109  log << " * Not valid! \n";
110  // get meta information for valid hypothesis
111  else {
112  // jetLepComb
113  log << " * JetCombi :";
114  std::vector<int> jets = this->jetLeptonCombination(hypKey, cmb);
115  for (unsigned int iJet = 0; iJet < jets.size(); iJet++) {
116  log << " " << jets[iJet] << " ";
117  }
118  log << "\n";
119  // specialties for some hypotheses
120  switch (hypKey) {
121  case kGenMatch:
122  log << " * Sum(DeltaR) : " << this->genMatchSumDR(cmb) << " \n"
123  << " * Sum(DeltaPt): " << this->genMatchSumPt(cmb) << " \n";
124  break;
125  case kKinFit:
126  log << " * Chi^2 : " << this->fitChi2(cmb) << " \n"
127  << " * Prob(Chi^2) : " << this->fitProb(cmb) << " \n";
128  break;
129  default:
130  break;
131  }
132  // kinematic quantities of particles (if last digit of verbosity level > 1)
133  if (verbosity % 10 >= 2) {
134  log << " * Candidates (pt; eta; phi; mass) :\n";
135  if (verbosity % 10 >= 3)
136  printParticle(log, "top pair", this->topPair(hypKey, cmb));
137  printParticle(log, "top ", this->top(hypKey, cmb));
138  printParticle(log, "W plus ", this->wPlus(hypKey, cmb));
139  if (verbosity % 10 >= 3) {
140  printParticle(log, "b ", this->b(hypKey, cmb));
141  printParticle(log, "lightQ ", this->lightQ(hypKey, cmb));
142  printParticle(log, "lightQBar ", this->lightQBar(hypKey, cmb));
143  }
144  printParticle(log, "topBar ", this->topBar(hypKey, cmb));
145  printParticle(log, "W minus ", this->wMinus(hypKey, cmb));
146  if (verbosity % 10 >= 3) {
147  printParticle(log, "bBar ", this->bBar(hypKey, cmb));
148  printParticle(log, "lightP ", this->lightP(hypKey, cmb));
149  printParticle(log, "lightPBar ", this->lightPBar(hypKey, cmb));
150  }
151  }
152  }
153  }
154  }
155  log << "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
156 }

References TtFullHadEvtPartons::B, b(), TtFullHadEvtPartons::BBar, bBar(), TtEvent::evtHyp_, TtEvent::fitChi2(), TtEvent::fitProb(), TtEvent::genEvent(), TtEvent::genEvt_, TtEvent::genMatchSumDR(), TtEvent::genMatchSumPt(), charmTagsComputerCvsB_cfi::idx, TtEvent::isHypoValid(), TtEvent::jetLeptonCombination(), singleTopDQM_cfi::jets, TtEvent::kGenMatch, TtEvent::kGeom, TtEvent::kHitFit, TtEvent::kKinFit, TtEvent::kKinSolution, TtEvent::kMaxSumPtWMass, TtEvent::kMVADisc, TtEvent::kWMassDeltaTopMass, TtEvent::kWMassMaxSumPt, TtFullHadEvtPartons::LightP, lightP(), TtFullHadEvtPartons::LightPBar, lightPBar(), TtFullHadEvtPartons::LightQ, lightQ(), TtFullHadEvtPartons::LightQBar, lightQBar(), dqm-mbProfile::log, TtEvent::numberOfAvailableHypoClasses(), TtEvent::numberOfAvailableHypos(), TtEvent::printParticle(), top(), topBar(), TtEvent::topPair(), HIPAlignmentAlgorithm_cfi::verbosity, wMinus(), and wPlus().

◆ top() [1/3]

const reco::GenParticle* TtFullHadronicEvent::top ( ) const
inline

get top of the TtGenEvent

Definition at line 121 of file TtFullHadronicEvent.h.

121 { return (!genEvt_ ? nullptr : this->genEvent()->top()); };

References TtEvent::genEvent(), TtEvent::genEvt_, and top().

Referenced by b(), print(), top(), and wPlus().

◆ top() [2/3]

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

get top of the given hypothesis

Definition at line 37 of file TtFullHadronicEvent.h.

37  {
38  return !isHypoValid(key, cmb) ? nullptr : eventHypo(key, cmb).daughter(TtFullHadDaughter::Top);
39  };

References reco::CompositeCandidate::daughter(), TtEvent::eventHypo(), TtEvent::isHypoValid(), crabWrapper::key, and TtFullHadDaughter::Top.

◆ top() [3/3]

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

get top of the given hypothesis

Definition at line 33 of file TtFullHadronicEvent.h.

33  {
34  return top(hypoClassKeyFromString(key), cmb);
35  };

References TtEvent::hypoClassKeyFromString(), crabWrapper::key, and top().

◆ topBar() [1/3]

const reco::GenParticle* TtFullHadronicEvent::topBar ( ) const
inline

get anti-top of the TtGenEvent

Definition at line 134 of file TtFullHadronicEvent.h.

134 { return (!genEvt_ ? nullptr : this->genEvent()->topBar()); };

References TtEvent::genEvent(), TtEvent::genEvt_, and topBar().

Referenced by bBar(), print(), topBar(), and wMinus().

◆ topBar() [2/3]

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

get anti-top of the given hypothesis

Definition at line 81 of file TtFullHadronicEvent.h.

81  {
82  return !isHypoValid(key, cmb) ? nullptr : eventHypo(key, cmb).daughter(TtFullHadDaughter::TopBar);
83  };

References reco::CompositeCandidate::daughter(), TtEvent::eventHypo(), TtEvent::isHypoValid(), crabWrapper::key, and TtFullHadDaughter::TopBar.

◆ topBar() [3/3]

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

get anti-top of the given hypothesis

Definition at line 77 of file TtFullHadronicEvent.h.

77  {
78  return topBar(hypoClassKeyFromString(key), cmb);
79  };

References TtEvent::hypoClassKeyFromString(), crabWrapper::key, and topBar().

◆ wMinus() [1/3]

const reco::GenParticle* TtFullHadronicEvent::wMinus ( ) const
inline

get Wminus of the TtGenEvent

Definition at line 148 of file TtFullHadronicEvent.h.

148 { return (!genEvt_ ? nullptr : this->genEvent()->wMinus()); };

References TtEvent::genEvent(), TtEvent::genEvt_, and wMinus().

Referenced by lightP(), lightPBar(), print(), and wMinus().

◆ wMinus() [2/3]

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

get Wminus of the given hypothesis

Definition at line 116 of file TtFullHadronicEvent.h.

116  {
117  return !isHypoValid(key, cmb) ? nullptr : topBar(key, cmb)->daughter(TtFullHadDaughter::WMinus);
118  };

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), crabWrapper::key, topBar(), and TtFullHadDaughter::WMinus.

◆ wMinus() [3/3]

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

get Wminus of the given hypothesis

Definition at line 112 of file TtFullHadronicEvent.h.

112  {
113  return wMinus(hypoClassKeyFromString(key), cmb);
114  };

References TtEvent::hypoClassKeyFromString(), crabWrapper::key, and wMinus().

◆ wPlus() [1/3]

const reco::GenParticle* TtFullHadronicEvent::wPlus ( ) const
inline

get Wplus of the TtGenEvent

Definition at line 131 of file TtFullHadronicEvent.h.

131 { return (!genEvt_ ? nullptr : this->genEvent()->wPlus()); };

References TtEvent::genEvent(), TtEvent::genEvt_, and wPlus().

Referenced by lightQ(), lightQBar(), print(), and wPlus().

◆ wPlus() [2/3]

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

get Wplus of the given hypothesis

Definition at line 72 of file TtFullHadronicEvent.h.

72  {
73  return !isHypoValid(key, cmb) ? nullptr : top(key, cmb)->daughter(TtFullHadDaughter::WPlus);
74  };

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), crabWrapper::key, top(), and TtFullHadDaughter::WPlus.

◆ wPlus() [3/3]

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

get Wplus of the given hypothesis

Definition at line 68 of file TtFullHadronicEvent.h.

68  {
69  return wPlus(hypoClassKeyFromString(key), cmb);
70  };

References TtEvent::hypoClassKeyFromString(), crabWrapper::key, and wPlus().

TtEvent::kWMassMaxSumPt
Definition: TtEvent.h:32
HIPAlignmentAlgorithm_cfi.verbosity
verbosity
Definition: HIPAlignmentAlgorithm_cfi.py:7
TtEvent::genEvt_
edm::RefProd< TtGenEvent > genEvt_
reference to TtGenEvent (has to be kept in the event!)
Definition: TtEvent.h:195
TtEvent::isHypoValid
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...
Definition: TtEvent.h:82
TtFullHadEvtPartons::LightQ
Definition: TtFullHadEvtPartons.h:25
TtFullHadronicEvent::lightQ
const reco::GenParticle * lightQ() const
get light Q of the TtGenEvent
Definition: TtFullHadronicEvent.h:126
edm::LogInfo
Definition: MessageLogger.h:254
TtEvent::evtHyp_
std::map< HypoClassKey, std::vector< HypoCombPair > > evtHyp_
Definition: TtEvent.h:198
TtFullHadronicEvent::topBar
const reco::GenParticle * topBar() const
get anti-top of the TtGenEvent
Definition: TtFullHadronicEvent.h:134
charmTagsComputerCvsB_cfi.idx
idx
Definition: charmTagsComputerCvsB_cfi.py:108
TtEvent::printParticle
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
Definition: TtEvent.cc:21
TtFullHadronicEvent::bBar
const reco::GenParticle * bBar() const
get anti-b of the TtGenEvent
Definition: TtFullHadronicEvent.h:136
TtFullHadronicEvent::b
const reco::GenParticle * b() const
get b of the TtGenEvent
Definition: TtFullHadronicEvent.h:123
TtEvent::genMatchSumDR
double genMatchSumDR(const unsigned &cmb=0) const
return the sum dr of the generator match if available; -1 else
Definition: TtEvent.h:120
TtFullHadDaughter::WMinus
static const std::string WMinus
Definition: TtFullHadronicEvent.h:10
TtFullHadEvtPartons::LightP
Definition: TtFullHadEvtPartons.h:25
singleTopDQM_cfi.jets
jets
Definition: singleTopDQM_cfi.py:42
TtEvent::kKinFit
Definition: TtEvent.h:36
TtEvent::fitChi2
double fitChi2(const unsigned &cmb=0) const
return the chi2 of the kinematic fit of hypothesis 'cmb' if available; -1 else
Definition: TtEvent.h:128
TtEvent::fitProb
double fitProb(const unsigned &cmb=0) const
return the fit probability of hypothesis 'cmb' if available; -1 else
Definition: TtEvent.h:132
TtEvent::jetLeptonCombination
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:108
TtEvent::eventHypo
const reco::CompositeCandidate & eventHypo(const HypoClassKey &key, const unsigned &cmb=0) const
Definition: TtEvent.h:63
TtEvent::numberOfAvailableHypos
unsigned int numberOfAvailableHypos(const std::string &key) const
return number of available hypotheses within a given hypothesis class
Definition: TtEvent.h:92
TtEvent::genEvent
const edm::RefProd< TtGenEvent > & genEvent() const
get TtGenEvent
Definition: TtEvent.h:67
TtFullHadDaughter::LightQ
static const std::string LightQ
Definition: TtFullHadronicEvent.h:9
TtFullHadronicEvent::lightP
const reco::GenParticle * lightP() const
get light P of the TtGenEvent
Definition: TtFullHadronicEvent.h:128
TtEvent::hypoClassKeyFromString
HypoClassKey hypoClassKeyFromString(const std::string &label) const
return the corresponding enum value from a string
Definition: TtEvent.cc:16
TtEvent::kMVADisc
Definition: TtEvent.h:35
TtFullHadDaughter::Top
static const std::string Top
Definition: TtFullHadronicEvent.h:9
TtEvent::kHitFit
Definition: TtEvent.h:39
TtEvent::HypoClassKey
HypoClassKey
supported classes of event hypotheses
Definition: TtEvent.h:30
TtFullHadEvtPartons::LightPBar
Definition: TtFullHadEvtPartons.h:25
TtFullHadDaughter::LightP
static const std::string LightP
Definition: TtFullHadronicEvent.h:9
TtFullHadDaughter::WPlus
static const std::string WPlus
Definition: TtFullHadronicEvent.h:9
TtFullHadEvtPartons::LightQBar
Definition: TtFullHadEvtPartons.h:25
TtFullHadDaughter::BBar
static const std::string BBar
Definition: TtFullHadronicEvent.h:10
TtEvent::kWMassDeltaTopMass
Definition: TtEvent.h:38
TtFullHadronicEvent::top
const reco::GenParticle * top() const
get top of the TtGenEvent
Definition: TtFullHadronicEvent.h:121
TtFullHadronicEvent::lightQBar
const reco::GenParticle * lightQBar() const
get light Q bar of the TtGenEvent
Definition: TtFullHadronicEvent.h:139
TtFullHadDaughter::B
static const std::string B
Definition: TtFullHadronicEvent.h:9
TtEvent::kGenMatch
Definition: TtEvent.h:34
TtFullHadDaughter::TopBar
static const std::string TopBar
Definition: TtFullHadronicEvent.h:11
TtEvent::kKinSolution
Definition: TtEvent.h:37
TtFullHadEvtPartons::BBar
Definition: TtFullHadEvtPartons.h:25
TtEvent::topPair
const math::XYZTLorentzVector * topPair() const
get combined 4-vector of top and topBar from the TtGenEvent
Definition: TtEvent.h:155
TtFullHadronicEvent::wPlus
const reco::GenParticle * wPlus() const
get Wplus of the TtGenEvent
Definition: TtFullHadronicEvent.h:131
TtFullHadronicEvent::wMinus
const reco::GenParticle * wMinus() const
get Wminus of the TtGenEvent
Definition: TtFullHadronicEvent.h:148
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
reco::CompositeRefCandidateT::daughter
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode)
TtEvent::kMaxSumPtWMass
Definition: TtEvent.h:33
TtEvent::numberOfAvailableHypoClasses
unsigned int numberOfAvailableHypoClasses() const
return number of available hypothesis classes
Definition: TtEvent.h:90
TtFullHadronicEvent::lightPBar
const reco::GenParticle * lightPBar() const
get light P bar of the TtGenEvent
Definition: TtFullHadronicEvent.h:143
TtFullHadEvtPartons::B
Definition: TtFullHadEvtPartons.h:25
crabWrapper.key
key
Definition: crabWrapper.py:19
reco::CompositeCandidate::daughter
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode)
Definition: CompositeCandidate.cc:30
TtFullHadDaughter::LightQBar
static const std::string LightQBar
Definition: TtFullHadronicEvent.h:10
TtFullHadDaughter::LightPBar
static const std::string LightPBar
Definition: TtFullHadronicEvent.h:10
TtEvent::kGeom
Definition: TtEvent.h:31
TtEvent::genMatchSumPt
double genMatchSumPt(const unsigned &cmb=0) const
return the sum pt of the generator match if available; -1 else
Definition: TtEvent.h:116