#ifndef TMBBCETagger_H #define TMBBCETagger_H ////////////////////////////////////////////////////////////////////////// // // // TMBTree class for the BCJet electron tagger // // // // Created: 18-JUL-2002 A. Naumann (axel@fnal.gov) // // // ////////////////////////////////////////////////////////////////////////// #ifndef TMBBCJet_H #include "tmb_tree/TMBBCJet.hpp" #endif #ifndef TMBBCTagger_H #include "tmb_tree/TMBBCTagger.hpp" #endif class TMBEmcl; class TMBBCETagger : public TMBBCTagger { public: typedef enum _EEParameter { paramPtRel, paramDr, // paramChiSq, paramDCA, paramDCAz, paramSEMMatchQual, paramRoadEMF, paramRoadEoP, paramPoE, paramCombined, numParameters } EEParameter; inline TMBBCETagger(UInt_t numElectrons=0); inline virtual ~TMBBCETagger(); // Accessors inline virtual Float_t GetCombinedOutput(UInt_t obj); inline Float_t GetPtRel(UInt_t iElectron); inline Float_t GetPtRelError(UInt_t iElectron); inline Float_t GetDr(UInt_t iElectron); inline Float_t GetDrError(UInt_t iElectron); inline Float_t GetDCA(UInt_t iElectron); inline Float_t GetDCAError(UInt_t iElectron); inline Float_t GetDCAz(UInt_t iElectron); inline Float_t GetDCAzError(UInt_t iElectron); inline Float_t GetSEMMatchQual(UInt_t iElectron); inline Float_t GetRoadEMF(UInt_t iElectron); inline Float_t GetRoadEoP(UInt_t iElectron); inline Float_t GetPoE(UInt_t iElectron); inline Float_t GetPoEError(UInt_t iElectron); inline UInt_t GetNumElectrons(); inline TMBEmcl* GetElectron(UInt_t iElectron) const; private: ClassDef(TMBBCETagger, 0) // thumbnail data of muon bc jet id tagger }; TMBBCETagger::TMBBCETagger(UInt_t numElectrons): TMBBCTagger(numParameters, numElectrons) {} TMBBCETagger::~TMBBCETagger(){} Float_t TMBBCETagger::GetCombinedOutput(UInt_t obj){ return GetParameterOutput(paramCombined, obj); } Float_t TMBBCETagger::GetPtRel(UInt_t iElectron) { return GetParameterOutput(paramPtRel, iElectron); } Float_t TMBBCETagger::GetPtRelError(UInt_t iElectron){ return GetParameterError(paramPtRel, iElectron); } Float_t TMBBCETagger::GetDr(UInt_t iElectron){ return GetParameterOutput(paramDr, iElectron); } Float_t TMBBCETagger::GetDrError(UInt_t iElectron){ return GetParameterError(paramDr, iElectron); } Float_t TMBBCETagger::GetDCA(UInt_t iElectron){ return GetParameterOutput(paramDCA, iElectron); } Float_t TMBBCETagger::GetDCAError(UInt_t iElectron){ return GetParameterError(paramDCA, iElectron); } Float_t TMBBCETagger::GetDCAz(UInt_t iElectron){ return GetParameterOutput(paramDCAz, iElectron); } Float_t TMBBCETagger::GetDCAzError(UInt_t iElectron){ return GetParameterError(paramDCAz, iElectron); } Float_t TMBBCETagger::GetSEMMatchQual(UInt_t iElectron){ return GetParameterOutput(paramSEMMatchQual, iElectron); } Float_t TMBBCETagger::GetRoadEMF(UInt_t iElectron){ return GetParameterOutput(paramRoadEMF, iElectron); } Float_t TMBBCETagger::GetRoadEoP(UInt_t iElectron){ return GetParameterOutput(paramRoadEoP, iElectron); } Float_t TMBBCETagger::GetPoE(UInt_t iElectron){ return GetParameterOutput(paramPoE, iElectron); } Float_t TMBBCETagger::GetPoEError(UInt_t iElectron){ return GetParameterError(paramPoE, iElectron); } UInt_t TMBBCETagger::GetNumElectrons() { return GetNumTags(); } TMBEmcl* TMBBCETagger::GetElectron(UInt_t iElectron) const { return (TMBEmcl*) GetTagObject(iElectron); } #endif // ifndef TMBBCETagger_H