CMS 3D CMS Logo

TtFullLeptonicEvent.h

Go to the documentation of this file.
00001 #ifndef TopObjects_TtFullLeptonicEvent_h
00002 #define TopObjects_TtFullLeptonicEvent_h
00003 
00004 #include "AnalysisDataFormats/TopObjects/interface/TtEvent.h"
00005 
00006 namespace TtFullLepDaughter{
00009   static const std::string Nu   ="Nu"   , LepBar="LepBar", WPlus ="WPlus" , B   ="B"   , Top   ="Top";
00010   static const std::string NuBar="NuBar", Lep   ="Lep"   , WMinus="WMinus", BBar="BBar", TopBar="TopBar"; 
00011 }
00012 
00013 // ----------------------------------------------------------------------
00014 // derived class for: 
00015 //
00016 //  * TtSemiLeptonicEvent
00017 //
00018 //  the structure holds information on the leptonic decay channels, 
00019 //  all event hypotheses of different classes (user defined during
00020 //  production) and a reference to the TtGenEvent (if available) 
00021 //  and provides access and administration; the derived class 
00022 //  contains a few additional getters with respect to its base class
00023 // ----------------------------------------------------------------------
00024 
00025 class TtFullLeptonicEvent: public TtEvent {
00026   
00027  public:
00028 
00030   TtFullLeptonicEvent(){};
00032   virtual ~TtFullLeptonicEvent(){};
00033 
00035   const reco::Candidate* top        (const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : eventHypo(key,cmb). daughter(TtFullLepDaughter::Top   ); };
00037   const reco::Candidate* b          (const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : top      (key,cmb)->daughter(TtFullLepDaughter::B     ); };
00039   const reco::Candidate* wPlus      (const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : top      (key,cmb)->daughter(TtFullLepDaughter::WPlus ); };
00041   const reco::Candidate* leptonBar  (const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : wPlus    (key,cmb)->daughter(TtFullLepDaughter::LepBar); };
00043   const reco::Candidate* neutrino   (const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : wPlus    (key,cmb)->daughter(TtFullLepDaughter::Nu    ); };
00045   const reco::Candidate* topBar     (const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : eventHypo(key,cmb). daughter(TtFullLepDaughter::TopBar); };
00047   const reco::Candidate* bBar       (const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : topBar   (key,cmb)->daughter(TtFullLepDaughter::BBar  ); };
00049   const reco::Candidate* wMinus     (const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : topBar   (key,cmb)->daughter(TtFullLepDaughter::WMinus); };
00051   const reco::Candidate* lepton     (const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : wMinus   (key,cmb)->daughter(TtFullLepDaughter::Lep   ); };
00053   const reco::Candidate* neutrinoBar(const HypoClassKey& key, const unsigned& cmb=0) const { return !isHypoValid(key,cmb) ? 0 : wMinus   (key,cmb)->daughter(TtFullLepDaughter::NuBar ); };
00054 
00056   const reco::GenParticle* genTop        () const { return (!genEvt_ ? 0 : this->genEvent()->top()        ); };
00058   const reco::GenParticle* genB          () const { return (!genEvt_ ? 0 : this->genEvent()->b()          ); };
00060   const reco::GenParticle* genWPlus      () const { return (!genEvt_ ? 0 : this->genEvent()->wPlus()      ); };
00062   const reco::GenParticle* genLeptonBar  () const { return (!genEvt_ ? 0 : this->genEvent()->leptonBar()  ); };
00064   const reco::GenParticle* genNeutrino   () const { return (!genEvt_ ? 0 : this->genEvent()->neutrino()   ); };
00066   const reco::GenParticle* genTopBar     () const { return (!genEvt_ ? 0 : this->genEvent()->topBar()     ); };
00068   const reco::GenParticle* genBBar       () const { return (!genEvt_ ? 0 : this->genEvent()->bBar()       ); };
00070   const reco::GenParticle* genWMinus     () const { return (!genEvt_ ? 0 : this->genEvent()->wMinus()     ); };
00072   const reco::GenParticle* genLepton     () const { return (!genEvt_ ? 0 : this->genEvent()->lepton()     ); };
00074   const reco::GenParticle* genNeutrinoBar() const { return (!genEvt_ ? 0 : this->genEvent()->neutrinoBar()); };
00075 
00078   void print();
00079 };
00080 
00081 #endif

Generated on Tue Jun 9 17:25:09 2009 for CMSSW by  doxygen 1.5.4