This is tmb_tree, version p16-br-05 | See all available versions

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TMBTree class for BCJet tags                                         //
//                                                                      //
// Created: 18-JUL-2002  A. Naumann (axel@fnal.gov)                     //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#include "tmb_tree/TMBBCLikeTagger.hpp"
#include "tmb_tree/TMBBCETagger.hpp"
#include "tmb_tree/TMBBCMuTagger.hpp"
#include "tmb_tree/TMBBCImpTagger.hpp"
#include "tmb_tree/TMBBCVertexTagger.hpp"

ClassImp(TMBBCLikeTagger)

 Float_t TMBBCLikeTagger::GetTagOutput(UInt_t tag){
  switch (tag) {
  case param2ndVtxDecayLength: return GetSVtxDecayLength();
  case param2ndVtxInvMassPtCorrected: return GetSVtxInvMassPtCorrected();
  case param2ndVtxInvMass: return GetSVtxInvMass();
  case param2ndVtxTrackPt: return GetSVtxTrackPt();
  case param2ndVtxChargedEFraction: return GetSVtxChargedEFraction();
  case param2ndVtxTrackRapidity: return GetSVtxTrackRapidity();
  case paramMuonPtRel: return GetMuonPtRel();
  case paramElecPtRel: return GetElecPtRel();
  case paramIPDiscr: return GetIPDiscr();
  }
  Warning("GetTagOutput(UInt_t)","No such tag!"); 
  return TMBBCJet::InvalidValue;
}

 Float_t TMBBCLikeTagger::GetSVtxDecayLength(UInt_t iVtx){
  return GetParameterOutput(param2ndVtxDecayLength, iVtx);
}

 Float_t TMBBCLikeTagger::GetSVtxInvMassPtCorrected(UInt_t iVtx){
  return GetParameterOutput(param2ndVtxInvMassPtCorrected, iVtx);
}

 Float_t TMBBCLikeTagger::GetSVtxInvMass(UInt_t iVtx){
  return GetParameterOutput(param2ndVtxInvMass, iVtx);
}

 Float_t TMBBCLikeTagger::GetSVtxTrackPt(UInt_t iVtx){
  return GetParameterOutput(param2ndVtxTrackPt, iVtx);
}

 Float_t TMBBCLikeTagger::GetSVtxChargedEFraction(UInt_t iVtx){
  return GetParameterOutput(param2ndVtxChargedEFraction, iVtx);
}

 Float_t TMBBCLikeTagger::GetSVtxTrackRapidity(UInt_t iVtx){
  return GetParameterOutput(param2ndVtxTrackRapidity, iVtx);
}

 Float_t TMBBCLikeTagger::GetMuonPtRel() const {
  TMBBCMuTagger* mutag=GetMuTagger();
  if (mutag) return mutag->GetPtRel(0);
  return TMBBCJet::InvalidValue;
}

 Float_t TMBBCLikeTagger::GetElecPtRel() const {
  TMBBCETagger* etag=GetETagger();
  if (etag) return etag->GetPtRel(0);
  return TMBBCJet::InvalidValue;
}

 Float_t TMBBCLikeTagger::GetIPDiscr() const {
  TMBBCImpTagger* imptag=GetImpTagger();
  if (imptag) return imptag->GetDiscriminant();
  return TMBBCJet::InvalidValue;
}

 TMBBCVertexTagger* TMBBCLikeTagger::GetVertexTagger() const {
  TMBBCJet* jet=(TMBBCJet*) fJetRef.GetObject();
  if (jet) return (TMBBCVertexTagger*)jet->GetTagger(TMBBCLikeTagger::Class());
  else return NULL;
}

 TMBBCMuTagger* TMBBCLikeTagger::GetMuTagger() const {
  TMBBCJet* jet=(TMBBCJet*) fJetRef.GetObject();
  if (jet) return (TMBBCMuTagger*)jet->GetTagger(TMBBCMuTagger::Class());
  else return NULL;
}

 TMBBCETagger* TMBBCLikeTagger::GetETagger() const {
  TMBBCJet* jet=(TMBBCJet*) fJetRef.GetObject();
  if (jet) return (TMBBCETagger*)jet->GetTagger(TMBBCETagger::Class());
  else return NULL;
}

 TMBBCImpTagger* TMBBCLikeTagger::GetImpTagger() const {
  TMBBCJet* jet=(TMBBCJet*) fJetRef.GetObject();
  if (jet) return (TMBBCImpTagger*)jet->GetTagger(TMBBCImpTagger::Class());
  else return NULL;
}

 void TMBBCLikeTagger::SetTagOutput(ELikeParameter param, Float_t val) {
  switch (param) {
  case param2ndVtxDecayLength: fDL=val; return;
  case param2ndVtxInvMassPtCorrected: fInvMPt=val; return;
  case param2ndVtxInvMass: fInvMass=val; return;
  case param2ndVtxTrackPt: fPt=val; return;
  case param2ndVtxChargedEFraction: fXch=val; return;
  case param2ndVtxTrackRapidity: fRtr=val; return;
  default:
    Warning("SetTagOutput(ELikeParameter, Float_t)","Parameter out of range, or can\'t be set!");
  }
}


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.