CMS 3D CMS Logo

Public Member Functions | Protected Attributes

TtSemiLeptonicEvent Class Reference

Class derived from the TtEvent for the semileptonic decay channel. More...

#include <AnalysisDataFormats/TopObjects/interface/TtSemiLeptonicEvent.h>

Inheritance diagram for TtSemiLeptonicEvent:
TtEvent

List of all members.

Public Member Functions

const reco::CandidatehadronicDecayB (const std::string &key, const unsigned &cmb=0) const
 get hadronic b of the given hypothesis
const reco::CandidatehadronicDecayB (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic b of the given hypothesis
const reco::GenParticlehadronicDecayB () const
 get hadronic b of the TtGenEvent
const reco::CandidatehadronicDecayQuark (const std::string &key, const unsigned &cmb=0) const
 get hadronic light quark of the given hypothesis
const reco::CandidatehadronicDecayQuark (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic light quark of the given hypothesis
const reco::GenParticlehadronicDecayQuark () const
 get hadronic light quark of the TtGenEvent
const reco::CandidatehadronicDecayQuarkBar (const std::string &key, const unsigned &cmb=0) const
 get hadronic light quark of the given hypothesis
const reco::CandidatehadronicDecayQuarkBar (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic light quark of the given hypothesis
const reco::GenParticlehadronicDecayQuarkBar () const
 get hadronic light quark of the TtGenEvent
const reco::CandidatehadronicDecayTop (const std::string &key, const unsigned &cmb=0) const
 get hadronic top of the given hypothesis
const reco::CandidatehadronicDecayTop (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic top of the given hypothesis
const reco::GenParticlehadronicDecayTop () const
 get hadronic top of the TtGenEvent
const reco::CandidatehadronicDecayW (const HypoClassKey &key, const unsigned &cmb=0) const
 get hadronic W of the given hypothesis
const reco::GenParticlehadronicDecayW () const
 get hadronic W of the TtGenEvent
const reco::CandidatehadronicDecayW (const std::string &key, const unsigned &cmb=0) const
 get hadronic W of the given hypothesis
const reco::CandidateleptonicDecayB (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic b of the given hypothesis
const reco::GenParticleleptonicDecayB () const
 get leptonic b of the TtGenEvent
const reco::CandidateleptonicDecayB (const std::string &key, const unsigned &cmb=0) const
 get leptonic b of the given hypothesis
const reco::GenParticleleptonicDecayTop () const
 get leptonic top of the TtGenEvent
const reco::CandidateleptonicDecayTop (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic top of the given hypothesis
const reco::CandidateleptonicDecayTop (const std::string &key, const unsigned &cmb=0) const
 get leptonic top of the given hypothesis
const reco::CandidateleptonicDecayW (const std::string &key, const unsigned &cmb=0) const
 get leptonic W of the given hypothesis
const reco::CandidateleptonicDecayW (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic W of the given hypothesis
const reco::GenParticleleptonicDecayW () const
 get leptonic W of the TtGenEvent
const int numberOfRealNeutrinoSolutions (const std::string &key) const
 get number of real neutrino solutions for a given hypo class
const int numberOfRealNeutrinoSolutions (const HypoClassKey &key) const
 get number of real neutrino solutions for a given hypo class
void print (const int verbosity=1) const
void setNumberOfRealNeutrinoSolutions (const HypoClassKey &key, const int &nr)
 set number of real neutrino solutions for a given hypo class
const reco::CandidatesingleLepton (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic light quark of the given hypothesis
const reco::GenParticlesingleLepton () const
 get lepton top of the TtGenEvent
const reco::CandidatesingleLepton (const std::string &key, const unsigned &cmb=0) const
 get leptonic light quark of the given hypothesis
const reco::CandidatesingleNeutrino (const std::string &key, const unsigned &cmb=0) const
 get leptonic light quark of the given hypothesis
const reco::GenParticlesingleNeutrino () const
 get neutrino of the TtGenEvent
const reco::CandidatesingleNeutrino (const HypoClassKey &key, const unsigned &cmb=0) const
 get leptonic light quark of the given hypothesis
 TtSemiLeptonicEvent ()
 empty constructor
virtual ~TtSemiLeptonicEvent ()
 default destructor

Protected Attributes

std::map< HypoClassKey, int > numberOfRealNeutrinoSolutions_
 number of real neutrino solutions for all hypo classes

Detailed Description

Class derived from the TtEvent for the semileptonic decay channel.

The structure holds information on the leptonic 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 24 of file TtSemiLeptonicEvent.h.


Constructor & Destructor Documentation

TtSemiLeptonicEvent::TtSemiLeptonicEvent ( ) [inline]

empty constructor

Definition at line 29 of file TtSemiLeptonicEvent.h.

{};
virtual TtSemiLeptonicEvent::~TtSemiLeptonicEvent ( ) [inline, virtual]

default destructor

Definition at line 31 of file TtSemiLeptonicEvent.h.

{};

Member Function Documentation

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayB ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic b of the given hypothesis

Definition at line 38 of file TtSemiLeptonicEvent.h.

References hadronicDecayB(), and TtEvent::hypoClassKeyFromString().

Referenced by hadronicDecayB().

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayB ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic b of the given hypothesis

Definition at line 40 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtSemiLepDaughter::HadB, hadronicDecayTop(), and TtEvent::isHypoValid().

const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayB ( ) const [inline]

get hadronic b of the TtGenEvent

Definition at line 77 of file TtSemiLeptonicEvent.h.

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

Referenced by hadronicDecayB(), and print().

{ return (!genEvt_ ? 0 : this->genEvent()->hadronicDecayB()); };
const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayQuark ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic light quark of the given hypothesis

Definition at line 48 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtSemiLepDaughter::HadP, hadronicDecayW(), and TtEvent::isHypoValid().

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayQuark ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic light quark of the given hypothesis

Definition at line 46 of file TtSemiLeptonicEvent.h.

References hadronicDecayQuark(), and TtEvent::hypoClassKeyFromString().

Referenced by hadronicDecayQuark().

const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayQuark ( ) const [inline]

get hadronic light quark of the TtGenEvent

Definition at line 81 of file TtSemiLeptonicEvent.h.

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

Referenced by hadronicDecayQuark(), and print().

{ return (!genEvt_ ? 0 : this->genEvent()->hadronicDecayQuark()); };
const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayQuarkBar ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic light quark of the given hypothesis

Definition at line 50 of file TtSemiLeptonicEvent.h.

References hadronicDecayQuarkBar(), and TtEvent::hypoClassKeyFromString().

Referenced by hadronicDecayQuarkBar().

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayQuarkBar ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic light quark of the given hypothesis

Definition at line 52 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtSemiLepDaughter::HadQ, hadronicDecayW(), and TtEvent::isHypoValid().

const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayQuarkBar ( ) const [inline]

get hadronic light quark of the TtGenEvent

Definition at line 83 of file TtSemiLeptonicEvent.h.

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

Referenced by hadronicDecayQuarkBar(), and print().

{ return (!genEvt_ ? 0 : this->genEvent()->hadronicDecayQuarkBar()); };
const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayTop ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic top of the given hypothesis

Definition at line 36 of file TtSemiLeptonicEvent.h.

References TtEvent::eventHypo(), TtSemiLepDaughter::HadTop, and TtEvent::isHypoValid().

{ return !isHypoValid(key,cmb) ? 0 : eventHypo(key,cmb). daughter(TtSemiLepDaughter::HadTop); };
const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayTop ( ) const [inline]

get hadronic top of the TtGenEvent

Definition at line 75 of file TtSemiLeptonicEvent.h.

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

Referenced by hadronicDecayB(), hadronicDecayTop(), hadronicDecayW(), and print().

{ return (!genEvt_ ? 0 : this->genEvent()->hadronicDecayTop()); };
const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayTop ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic top of the given hypothesis

Definition at line 34 of file TtSemiLeptonicEvent.h.

References hadronicDecayTop(), and TtEvent::hypoClassKeyFromString().

Referenced by hadronicDecayTop(), and main().

const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayW ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic W of the given hypothesis

Definition at line 42 of file TtSemiLeptonicEvent.h.

References hadronicDecayW(), and TtEvent::hypoClassKeyFromString().

Referenced by hadronicDecayW(), and main().

const reco::GenParticle* TtSemiLeptonicEvent::hadronicDecayW ( ) const [inline]

get hadronic W of the TtGenEvent

Definition at line 79 of file TtSemiLeptonicEvent.h.

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

Referenced by hadronicDecayQuark(), hadronicDecayQuarkBar(), hadronicDecayW(), and print().

{ return (!genEvt_ ? 0 : this->genEvent()->hadronicDecayW()); };
const reco::Candidate* TtSemiLeptonicEvent::hadronicDecayW ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get hadronic W of the given hypothesis

Definition at line 44 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), hadronicDecayTop(), TtSemiLepDaughter::HadW, and TtEvent::isHypoValid().

const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayB ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic b of the given hypothesis

Definition at line 58 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), and leptonicDecayB().

Referenced by leptonicDecayB().

const reco::GenParticle* TtSemiLeptonicEvent::leptonicDecayB ( ) const [inline]

get leptonic b of the TtGenEvent

Definition at line 87 of file TtSemiLeptonicEvent.h.

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

Referenced by leptonicDecayB(), and print().

{ return (!genEvt_ ? 0 : this->genEvent()->leptonicDecayB()); };
const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayB ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic b of the given hypothesis

Definition at line 60 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), TtSemiLepDaughter::LepB, and leptonicDecayTop().

const reco::GenParticle* TtSemiLeptonicEvent::leptonicDecayTop ( ) const [inline]

get leptonic top of the TtGenEvent

Definition at line 85 of file TtSemiLeptonicEvent.h.

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

Referenced by leptonicDecayB(), leptonicDecayTop(), leptonicDecayW(), and print().

{ return (!genEvt_ ? 0 : this->genEvent()->leptonicDecayTop()); };
const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayTop ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic top of the given hypothesis

Definition at line 54 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), and leptonicDecayTop().

Referenced by leptonicDecayTop(), and main().

const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayTop ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic top of the given hypothesis

Definition at line 56 of file TtSemiLeptonicEvent.h.

References TtEvent::eventHypo(), TtEvent::isHypoValid(), and TtSemiLepDaughter::LepTop.

{ return !isHypoValid(key,cmb) ? 0 : eventHypo(key,cmb). daughter(TtSemiLepDaughter::LepTop); };
const reco::GenParticle* TtSemiLeptonicEvent::leptonicDecayW ( ) const [inline]

get leptonic W of the TtGenEvent

Definition at line 89 of file TtSemiLeptonicEvent.h.

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

Referenced by leptonicDecayW(), print(), singleLepton(), and singleNeutrino().

{ return (!genEvt_ ? 0 : this->genEvent()->leptonicDecayW()); };
const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayW ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic W of the given hypothesis

Definition at line 64 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), leptonicDecayTop(), and TtSemiLepDaughter::LepW.

const reco::Candidate* TtSemiLeptonicEvent::leptonicDecayW ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic W of the given hypothesis

Definition at line 62 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), and leptonicDecayW().

Referenced by leptonicDecayW(), and main().

const int TtSemiLeptonicEvent::numberOfRealNeutrinoSolutions ( const HypoClassKey key) const [inline]

get number of real neutrino solutions for a given hypo class

Definition at line 100 of file TtSemiLeptonicEvent.h.

References numberOfRealNeutrinoSolutions_.

Referenced by print().

const int TtSemiLeptonicEvent::numberOfRealNeutrinoSolutions ( const std::string &  key) const [inline]

get number of real neutrino solutions for a given hypo class

Definition at line 102 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), and numberOfRealNeutrinoSolutions().

Referenced by numberOfRealNeutrinoSolutions().

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

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

Definition at line 7 of file TtSemiLeptonicEvent.cc.

References TtEvent::evtHyp_, TtEvent::fitChi2(), TtEvent::fitProb(), TtEvent::genEvent(), TtEvent::genEvt_, TtEvent::genMatchSumDR(), TtEvent::genMatchSumPt(), TtSemiLepEvtPartons::HadB, hadronicDecayB(), hadronicDecayQuark(), hadronicDecayQuarkBar(), hadronicDecayTop(), hadronicDecayW(), TtEvent::hitFitChi2(), TtEvent::hitFitMT(), TtEvent::hitFitProb(), TtEvent::hitFitSigMT(), UserOptions_cff::idx, TtEvent::isHypoValid(), TtEvent::jetLeptonCombination(), analyzePatCleaning_cfg::jets, WDecay::kElec, TtEvent::kGenMatch, TtEvent::kGeom, TtEvent::kHitFit, TtEvent::kKinFit, TtEvent::kKinSolution, TtEvent::kMaxSumPtWMass, WDecay::kMuon, TtEvent::kMVADisc, WDecay::kTau, TtEvent::kWMassDeltaTopMass, TtEvent::kWMassMaxSumPt, TtSemiLepEvtPartons::LepB, TtSemiLepEvtPartons::Lepton, leptonicDecayB(), leptonicDecayTop(), leptonicDecayW(), TtSemiLepEvtPartons::LightQ, TtSemiLepEvtPartons::LightQBar, funct::log(), TtEvent::mvaDisc(), TtEvent::mvaMethod(), TtEvent::numberOfAvailableHypoClasses(), TtEvent::numberOfAvailableHypos(), TtEvent::numberOfConsideredJets(), numberOfRealNeutrinoSolutions(), TtEvent::printParticle(), singleLepton(), singleNeutrino(), and TtEvent::topPair().

{
  if(verbosity%10 <= 0)
    return;

  edm::LogInfo log("TtSemiLeptonicEvent");

  log << "++++++++++++++++++++++++++++++++++++++++++++++++++ \n";

  // get some information from the genEvent (if available)
  if( !genEvt_ ) log << " TtGenEvent not available! \n";
  else {
    log << " TtGenEvent says: ";
    if( !this->genEvent()->isTtBar() )            log << "Not TtBar";
    else if( this->genEvent()->isFullHadronic() ) log << "Fully Hadronic TtBar";
    else if( this->genEvent()->isFullLeptonic() ) log << "Fully Leptonic TtBar";
    else if( this->genEvent()->isSemiLeptonic() ) {
      log << "Semi-leptonic TtBar, ";
      switch( this->genEvent()->semiLeptonicChannel() ) {
      case WDecay::kElec : log << "Electron"; break;
      case WDecay::kMuon : log << "Muon"    ; break;
      case WDecay::kTau  : log << "Tau"     ; break;
      default            : log << "Unknown" ; break;
      }
      log << " Channel";
    }
    log << "\n";
  }

  // get number of available hypothesis classes
  log << " Number of available event hypothesis classes: " << this->numberOfAvailableHypoClasses() << " \n";

  // create a legend for the jetLepComb
  log << " - JetLepComb: ";
  for(unsigned idx = 0; idx < 5; idx++) {
    switch(idx) {
    case TtSemiLepEvtPartons::LightQ    : log << "LightP "; break;
    case TtSemiLepEvtPartons::LightQBar : log << "LightQ "; break;
    case TtSemiLepEvtPartons::HadB      : log << " HadB  "; break;
    case TtSemiLepEvtPartons::LepB      : log << " LepB  "; break;
    case TtSemiLepEvtPartons::Lepton    : log << "Lepton "; break;
    }
  }
  log << "\n";

  // get details from the hypotheses
  typedef std::map<HypoClassKey, std::vector<HypoCombPair> >::const_iterator EventHypo;
  for(EventHypo hyp = evtHyp_.begin(); hyp != evtHyp_.end(); ++hyp) {
    HypoClassKey hypKey = (*hyp).first;
    // header for each hypothesis
    log << "-------------------------------------------------- \n";
    switch(hypKey) {
    case kGeom              : log << " Geom"                                                                ; break;
    case kWMassMaxSumPt     : log << " WMassMaxSumPt"                                                       ; break;
    case kMaxSumPtWMass     : log << " MaxSumPtWMass"                                                       ; break;
    case kGenMatch          : log << " GenMatch"                                                            ; break;
    case kMVADisc           : log << " MVADisc"                                                             ; break;
    case kKinFit            : log << " KinFit"                                                              ; break;
    case kKinSolution       : log << " KinSolution not (yet) applicable to TtSemiLeptonicEvent --> skipping"; continue;
    case kWMassDeltaTopMass : log << " WMassDeltaTopMass"                                                   ; break;
    case kHitFit            : log << " HitFit"                                                              ; break;
    default                 : log << " Unknown TtEvent::HypoClassKey provided --> skipping"                 ; continue;
    }
    log << "-Hypothesis: \n";
    log << " * Number of real neutrino solutions: " << this->numberOfRealNeutrinoSolutions(hypKey) << "\n";
    log << " * Number of considered jets        : " << this->numberOfConsideredJets(hypKey) << "\n";
    unsigned nOfHyp = this->numberOfAvailableHypos(hypKey);
    if(nOfHyp > 1) {
      log << " * Number of stored jet combinations: " << nOfHyp << "\n";
      if(verbosity < 10)
        log << " The following was found to be the best one:\n";
    }
    // if verbosity level is smaller than 10, never show more than the best jet combination
    if(verbosity < 10)
      nOfHyp = 1;
    for(unsigned cmb=0; cmb<nOfHyp; cmb++) {
      // check if hypothesis is valid
      if( !this->isHypoValid(hypKey, cmb) )
        log << " * Not valid! \n";
      // get meta information for valid hypothesis
      else {
        // jetLepComb
        log << " * JetLepComb:";
        std::vector<int> jets = this->jetLeptonCombination(hypKey, cmb);
        for(unsigned int iJet = 0; iJet < jets.size(); iJet++) {
          log << "   " << jets[iJet] << "   ";
        }
        log << "\n";
        // specialties for some hypotheses
        switch(hypKey) {
        case kGenMatch : log << " * Sum(DeltaR) : " << this->genMatchSumDR(cmb) << " \n"
                             << " * Sum(DeltaPt): " << this->genMatchSumPt(cmb) << " \n"; break;
        case kMVADisc  : log << " * Method  : "     << this->mvaMethod()        << " \n"
                             << " * Discrim.: "     << this->mvaDisc(cmb)       << " \n"; break;
        case kKinFit   : log << " * Chi^2      : "  << this->fitChi2(cmb)       << " \n"
                             << " * Prob(Chi^2): "  << this->fitProb(cmb)       << " \n"; break;
        case kHitFit   : log << " * Chi^2      : "  << this->hitFitChi2(cmb)    << " \n"
                             << " * Prob(Chi^2): "  << this->hitFitProb(cmb)    << " \n"
                             << " * Top mass   : "  << this->hitFitMT(cmb)      << " +/- " << this->hitFitSigMT(cmb) << " \n"; break;
        default        : break;
        }
        // kinematic quantities of particles (if last digit of verbosity level > 1)
        if(verbosity%10 >= 2) {
          log << " * Candidates (pt; eta; phi; mass):\n";
          if(verbosity%10 >= 3)
            printParticle(log, "top pair", this->topPair(hypKey, cmb));
          printParticle(log, "hadronic top", this->hadronicDecayTop(hypKey, cmb));
          printParticle(log, "hadronic W  ", this->hadronicDecayW  (hypKey, cmb));
          if(verbosity%10 >= 3) {
            printParticle(log, "hadronic b  ", this->hadronicDecayB       (hypKey, cmb));
            printParticle(log, "hadronic p  ", this->hadronicDecayQuark   (hypKey, cmb));
            printParticle(log, "hadronic q  ", this->hadronicDecayQuarkBar(hypKey, cmb));
          }
          printParticle(log, "leptonic top", this->leptonicDecayTop(hypKey, cmb));
          printParticle(log, "leptonic W  ", this->leptonicDecayW  (hypKey, cmb));
          if(verbosity%10 >= 3) {
            printParticle(log, "leptonic b  ", this->leptonicDecayB(hypKey, cmb));
            printParticle(log, "lepton      ", this->singleLepton  (hypKey, cmb));
            printParticle(log, "neutrino    ", this->singleNeutrino(hypKey, cmb));
          }
        }
      }
    }
  }

  log << "++++++++++++++++++++++++++++++++++++++++++++++++++";
}
void TtSemiLeptonicEvent::setNumberOfRealNeutrinoSolutions ( const HypoClassKey key,
const int &  nr 
) [inline]

set number of real neutrino solutions for a given hypo class

Definition at line 105 of file TtSemiLeptonicEvent.h.

References combine::key, and numberOfRealNeutrinoSolutions_.

Referenced by TtEvtBuilder< C >::fillSpecific().

const reco::Candidate* TtSemiLeptonicEvent::singleLepton ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic light quark of the given hypothesis

Definition at line 70 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), and singleLepton().

Referenced by singleLepton().

const reco::Candidate* TtSemiLeptonicEvent::singleLepton ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic light quark of the given hypothesis

Definition at line 72 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), TtSemiLepDaughter::Lep, and leptonicDecayW().

const reco::GenParticle* TtSemiLeptonicEvent::singleLepton ( ) const [inline]

get lepton top of the TtGenEvent

Definition at line 91 of file TtSemiLeptonicEvent.h.

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

Referenced by print(), and singleLepton().

{ return (!genEvt_ ? 0 : this->genEvent()->singleLepton());   };
const reco::GenParticle* TtSemiLeptonicEvent::singleNeutrino ( ) const [inline]

get neutrino of the TtGenEvent

Definition at line 93 of file TtSemiLeptonicEvent.h.

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

Referenced by print(), and singleNeutrino().

{ return (!genEvt_ ? 0 : this->genEvent()->singleNeutrino()); };
const reco::Candidate* TtSemiLeptonicEvent::singleNeutrino ( const std::string &  key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic light quark of the given hypothesis

Definition at line 66 of file TtSemiLeptonicEvent.h.

References TtEvent::hypoClassKeyFromString(), and singleNeutrino().

Referenced by singleNeutrino().

const reco::Candidate* TtSemiLeptonicEvent::singleNeutrino ( const HypoClassKey key,
const unsigned &  cmb = 0 
) const [inline]

get leptonic light quark of the given hypothesis

Definition at line 68 of file TtSemiLeptonicEvent.h.

References reco::CompositeRefCandidateT< D >::daughter(), TtEvent::isHypoValid(), leptonicDecayW(), and TtSemiLepDaughter::Nu.


Member Data Documentation

number of real neutrino solutions for all hypo classes

Definition at line 105 of file TtSemiLeptonicEvent.h.

Referenced by numberOfRealNeutrinoSolutions(), and setNumberOfRealNeutrinoSolutions().