CMS 3D CMS Logo

TtFullHadronicEvent.h
Go to the documentation of this file.
1 #ifndef TopObjects_TtFullHadronicEvent_h
2 #define TopObjects_TtFullHadronicEvent_h
3 
5 
6 namespace TtFullHadDaughter{
9  static const std::string LightQ ="LightQ" , LightP ="LightP", WPlus ="WPlus" , B ="B" , Top ="Top";
10  static const std::string LightQBar="LightQBar", LightPBar="LightPBar", WMinus="WMinus", BBar="BBar", TopBar="TopBar";
11 }
12 
25 
26  public:
30  ~TtFullHadronicEvent() override{};
31 
33  const reco::Candidate* top(const std::string& key, const unsigned& cmb=0) const { return top(hypoClassKeyFromString(key), cmb); };
35  const reco::Candidate* top(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : eventHypo(key,cmb). daughter(TtFullHadDaughter::Top); };
37  const reco::Candidate* b(const std::string& key, const unsigned& cmb=0) const { return b(hypoClassKeyFromString(key), cmb); };
39  const reco::Candidate* b(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : top(key,cmb)->daughter(TtFullHadDaughter::B); };
40 
42  const reco::Candidate* lightQ(const std::string& key, const unsigned& cmb=0) const { return lightQ(hypoClassKeyFromString(key), cmb); };
44  const reco::Candidate* lightQ(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : wPlus(key,cmb)->daughter(TtFullHadDaughter::LightQ); };
45 
47  const reco::Candidate* lightP(const std::string& key, const unsigned& cmb=0) const { return lightP(hypoClassKeyFromString(key), cmb); };
49  const reco::Candidate* lightP(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : wMinus(key,cmb)->daughter(TtFullHadDaughter::LightP); };
50 
52  const reco::Candidate* wPlus(const std::string& key, const unsigned& cmb=0) const { return wPlus(hypoClassKeyFromString(key), cmb); };
54  const reco::Candidate* wPlus(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : top(key,cmb)->daughter(TtFullHadDaughter::WPlus); };
55 
57  const reco::Candidate* topBar(const std::string& key, const unsigned& cmb=0) const { return topBar(hypoClassKeyFromString(key), cmb); };
59  const reco::Candidate* topBar(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : eventHypo(key,cmb). daughter(TtFullHadDaughter::TopBar); };
61  const reco::Candidate* bBar(const std::string& key, const unsigned& cmb=0) const { return bBar(hypoClassKeyFromString(key), cmb); };
63  const reco::Candidate* bBar(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : topBar(key,cmb)->daughter(TtFullHadDaughter::BBar ); };
64 
66  const reco::Candidate* lightQBar(const std::string& key, const unsigned& cmb=0) const { return lightQBar(hypoClassKeyFromString(key), cmb); };
68  const reco::Candidate* lightQBar(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : wPlus(key,cmb)->daughter(TtFullHadDaughter::LightQBar); };
69 
71  const reco::Candidate* lightPBar(const std::string& key, const unsigned& cmb=0) const { return lightPBar(hypoClassKeyFromString(key), cmb); };
73  const reco::Candidate* lightPBar(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : wMinus(key,cmb)->daughter(TtFullHadDaughter::LightPBar); };
74 
76  const reco::Candidate* wMinus(const std::string& key, const unsigned& cmb=0) const { return wMinus(hypoClassKeyFromString(key), cmb); };
78  const reco::Candidate* wMinus(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? nullptr : topBar(key,cmb)->daughter(TtFullHadDaughter::WMinus); };
79 
81  const reco::GenParticle* top () const { return (!genEvt_ ? nullptr : this->genEvent()->top() ); };
83  const reco::GenParticle* b () const { return (!genEvt_ ? nullptr : this->genEvent()->b() ); };
84 
86  const reco::GenParticle* lightQ () const { return (!genEvt_ ? nullptr : this->genEvent()->daughterQuarkOfWPlus() ); };
88  const reco::GenParticle* lightP () const { return (!genEvt_ ? nullptr : this->genEvent()->daughterQuarkOfWMinus() ); };
89 
91  const reco::GenParticle* wPlus () const { return (!genEvt_ ? nullptr : this->genEvent()->wPlus() ); };
92 
94  const reco::GenParticle* topBar () const { return (!genEvt_ ? nullptr : this->genEvent()->topBar() ); };
96  const reco::GenParticle* bBar () const { return (!genEvt_ ? nullptr : this->genEvent()->bBar() ); };
97 
99  const reco::GenParticle* lightQBar () const { return (!genEvt_ ? nullptr : this->genEvent()->daughterQuarkBarOfWPlus() ); };
101  const reco::GenParticle* lightPBar () const { return (!genEvt_ ? nullptr : this->genEvent()->daughterQuarkBarOfWMinus() ); };
102 
104  const reco::GenParticle* wMinus () const { return (!genEvt_ ? nullptr : this->genEvent()->wMinus() ); };
105 
108  void print(const int verbosity=1) const;
109 };
110 
111 #endif
const reco::Candidate * topBar(const std::string &key, const unsigned &cmb=0) const
get anti-top of the given hypothesis
const reco::Candidate * lightQBar(const HypoClassKey &key, const unsigned &cmb=0) const
get light Q bar of the given hypothesis
HypoClassKey
supported classes of event hypotheses
Definition: TtEvent.h:31
const reco::Candidate * wMinus(const HypoClassKey &key, const unsigned &cmb=0) const
get Wminus of the given hypothesis
const reco::GenParticle * lightQBar() const
get light Q bar of the TtGenEvent
const reco::GenParticle * wMinus() const
get Wminus of the TtGenEvent
const reco::GenParticle * topBar() const
get anti-top of the TtGenEvent
~TtFullHadronicEvent() override
default destructor
std::string print(const Track &, edm::Verbosity=edm::Concise)
Track print utility.
Definition: print.cc:10
static const std::string LightPBar
const reco::Candidate * wPlus(const std::string &key, const unsigned &cmb=0) const
get Wplus of the given hypothesis
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
const reco::Candidate * wMinus(const std::string &key, const unsigned &cmb=0) const
get Wminus of the given hypothesis
const reco::Candidate * top(const std::string &key, const unsigned &cmb=0) const
get top of the given hypothesis
const reco::GenParticle * lightQ() const
get light Q of the TtGenEvent
static const std::string LightQ
const reco::Candidate * b(const std::string &key, const unsigned &cmb=0) const
get b of the given hypothesis
const reco::GenParticle * wPlus() const
get Wplus of the TtGenEvent
TtFullHadronicEvent()
empty constructor
const reco::GenParticle * bBar() const
get anti-b of the TtGenEvent
const reco::GenParticle * top() const
get top of the TtGenEvent
const reco::Candidate * top(const HypoClassKey &key, const unsigned &cmb=0) const
get top of the given hypothesis
const reco::Candidate * lightQBar(const std::string &key, const unsigned &cmb=0) const
get light Q bar of the given hypothesis
static const std::string Top
const reco::Candidate * lightQ(const std::string &key, const unsigned &cmb=0) const
get light Q of the given hypothesis
const reco::Candidate * b(const HypoClassKey &key, const unsigned &cmb=0) const
get b of the given hypothesis
const reco::Candidate * bBar(const std::string &key, const unsigned &cmb=0) const
get anti-b of the given hypothesis
const reco::Candidate * bBar(const HypoClassKey &key, const unsigned &cmb=0) const
get anti-b of the given hypothesis
static const std::string LightP
const reco::Candidate * lightPBar(const HypoClassKey &key, const unsigned &cmb=0) const
get light P bar of the given hypothesis
static const std::string WMinus
const reco::Candidate * lightQ(const HypoClassKey &key, const unsigned &cmb=0) const
get light Q of the given hypothesis
const reco::GenParticle * b() const
get b of the TtGenEvent
static const std::string B
static const std::string WPlus
static const std::string BBar
static const std::string TopBar
Class derived from the TtEvent for the full hadronic decay channel.
const reco::Candidate * topBar(const HypoClassKey &key, const unsigned &cmb=0) const
get anti-top of the given hypothesis
Base class to hold information for ttbar event interpretation.
Definition: TtEvent.h:27
const reco::Candidate * lightP(const std::string &key, const unsigned &cmb=0) const
get light P of the given hypothesis
const reco::GenParticle * lightP() const
get light P of the TtGenEvent
const reco::GenParticle * lightPBar() const
get light P bar of the TtGenEvent
const reco::Candidate * lightPBar(const std::string &key, const unsigned &cmb=0) const
get light P bar of the given hypothesis
const reco::Candidate * lightP(const HypoClassKey &key, const unsigned &cmb=0) const
get light P of the given hypothesis
const reco::Candidate * wPlus(const HypoClassKey &key, const unsigned &cmb=0) const
get Wplus of the given hypothesis
static const std::string LightQBar