00001 #ifndef TMB_TREE_TMBISOTRACK_HPP_
00002 #define TMB_TREE_TMBISOTRACK_HPP_
00003
00005
00006
00007
00008
00009
00010
00012
00013 #ifndef ROOT_TObject
00014 #include "TObject.h"
00015 #endif
00016 #ifndef ROOT_TRef
00017 #include "TRef.h"
00018 #endif
00019 #ifndef ROOT_TRefArray
00020 #include "TRefArray.h"
00021 #endif
00022 #ifndef ROOT_TArrayF
00023 #include "TArrayF.h"
00024 #endif
00025
00026 class TMBTrack;
00027 class TMBCps;
00028 class TMBFps;
00029
00034 class TMBIsoTrack : public TObject {
00035
00036 private:
00037
00038 Float_t _pshwrdphi;
00039 Float_t _pshwrdeta;
00040 Float_t _PSphi;
00041 Float_t _PSz;
00042 Float_t _PSR;
00043 Float_t _e_mtc_tot;
00044 Float_t _e_mtc[14];
00045 Float_t _e33[3];
00046 Float_t _e55[3];
00047 Int_t _i_mtc;
00048 TRef _tref;
00049 TRefArray _CPS;
00050 TRefArray _FPS;
00051 Float_t _bestcps_match_chi2;
00052 TArrayF _cps_match_chi2;
00053
00054 public:
00055
00056 TMBIsoTrack();
00057 TMBIsoTrack(Float_t pshwrdphi, Float_t pshwrdeta,
00058 Float_t PSphi, Float_t PSz, Float_t PSR,
00059 Float_t e_mtc_tot, const Float_t* e_mtc,
00060 const Float_t* e33, const Float_t* e55,
00061 Int_t i_mtc,
00062 const TRef& tref,
00063 const TRefArray* CPS, const TRefArray* FPS,
00064 Float_t bestcps_match_chi2, const TArrayF* cps_match_chi2);
00065 ~TMBIsoTrack() {}
00066
00067 Float_t pshwrdphi() const {return _pshwrdphi;}
00068 Float_t pshwrdeta() const {return _pshwrdeta;}
00069 Float_t PSphi() const {return _PSphi;}
00070 Float_t PSz() const {return _PSz;}
00071 Float_t PSR() const {return _PSR;}
00072 Float_t e_mtc_tot() const {return _e_mtc_tot;}
00073 Float_t e_mtc(int i) const {return _e_mtc[i];}
00074 Float_t e33(int i) const {return _e33[i];}
00075 Float_t e55(int i) const {return _e55[i];}
00076 const Float_t* e_mtc() const {return _e_mtc;}
00077 const Float_t* e33() const {return _e33;}
00078 const Float_t* e55() const {return _e55;}
00079 Int_t i_mtc() const {return _i_mtc;}
00080
00081 const TMBTrack* GetChargedTrack() const {
00082 return _tref.IsValid() ? (const TMBTrack*)_tref.GetObject() : 0;}
00083 Int_t ncps() const {return _CPS.GetLast()+1;}
00084 const TMBCps* getCpsCluster(Int_t icps) const {
00085 return (const TMBCps*)_CPS.At(icps);}
00086 Int_t nfps() const {return _FPS.GetLast()+1;}
00087 const TMBFps* getFpsCluster(Int_t ifps) const {
00088 return (const TMBFps*)_FPS.At(ifps);}
00089 Float_t bestcps_match_chi2() const {return _bestcps_match_chi2;}
00090 Float_t cps_match_chi2(Int_t icps) const {
00091 return (Float_t)_cps_match_chi2.At(icps);}
00092
00093 ClassDef(TMBIsoTrack, 1);
00094 };
00095
00096 #endif // TMB_TREE_TMBISOTRACK_HPP_
00097