//////////////////////////////////////////////////////////////////////////
// //
// 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.