#ifndef TMBBCImpTagger_H #define TMBBCImpTagger_H ////////////////////////////////////////////////////////////////////////// // // // TMBTree class for the BCJet muon tagger // // // // Created: 18-JUL-2002 A. Naumann (axel@fnal.gov) // // // ////////////////////////////////////////////////////////////////////////// #ifndef TMBBCTagger_H #include "tmb_tree/TMBBCTagger.hpp" #endif #ifndef TMBBCJet_H #include "tmb_tree/TMBBCJet.hpp" #endif class TMBTrack; class TMBVrts; class TMBBCImpTagger : public TMBBCTagger { public: typedef enum _EImpParameter { paramSignificance, paramProbability, numParameters } EImpParameter; inline TMBBCImpTagger(UInt_t numTracks=0); inline virtual ~TMBBCImpTagger(); // Accessors inline virtual Float_t GetDiscriminant() const; inline Float_t GetTrackSignificance(UInt_t iTrack); inline Float_t GetTrackProbability(UInt_t iTrack); inline TMBTrack* GetTrack(UInt_t iTrack) const; inline UInt_t GetNumTracks() const; inline TMBVrts* GetVertex() const; inline void SetDiscriminant(Float_t val); inline void SetVertex(TMBVrts* vtx); private: Float_t fDiscriminant; // discriminant TRef fRefVtx; // reference to vertex used ClassDef(TMBBCImpTagger, 0) // thumbnail data of muon bc jet id tagger }; // for now, only one vtx/jet -> numTags==1 TMBBCImpTagger::TMBBCImpTagger(UInt_t numTracks): TMBBCTagger(numParameters, numTracks), fDiscriminant(TMBBCJet::InvalidValue) {} TMBBCImpTagger::~TMBBCImpTagger(){} Float_t TMBBCImpTagger::GetDiscriminant() const { return fDiscriminant; } Float_t TMBBCImpTagger::GetTrackSignificance(UInt_t iTrack) { return GetParameterOutput((UInt_t) paramSignificance, iTrack); } Float_t TMBBCImpTagger::GetTrackProbability(UInt_t iTrack) { return GetParameterOutput((UInt_t) paramProbability, iTrack); } TMBTrack* TMBBCImpTagger::GetTrack(UInt_t iTrack) const { return (TMBTrack*) GetTagObject(iTrack); } UInt_t TMBBCImpTagger::GetNumTracks() const { return GetNumTags(); } TMBVrts* TMBBCImpTagger::GetVertex() const { return (TMBVrts*) fRefVtx.GetObject(); } void TMBBCImpTagger::SetDiscriminant(Float_t val) { fDiscriminant=val; } void TMBBCImpTagger::SetVertex(TMBVrts* vtx) { fRefVtx.SetObject((TObject*) vtx); } #endif // ifndef TMBBCImpTag_H