00001 #ifndef TMB_TREE_TMBPARTICLEJETS_HPP__ 00002 #define TMB_TREE_TMBPARTICLEJETS_HPP__ 00003 00004 #include "tmb_tree/TMBLorentzVector.hpp" 00005 00006 #ifndef ROOT_TRef 00007 #include "TRef.h" 00008 #endif 00009 00010 #ifndef ROOT_TRefArray 00011 #include "TRefArray.h" 00012 #endif 00013 00014 #include "TString.h" 00015 00016 class TMBTrack; 00017 class TMBVertex; 00018 00026 class TMBParticleJet : public TMBLorentzVector { 00027 00028 public: 00029 00030 private: 00031 00032 TString _algoname; 00033 TRefArray _tracks; 00034 TRef _vtxref; 00035 00036 public: 00037 TMBParticleJet() {} 00038 TMBParticleJet (Float_t E, Float_t pT, Float_t phi, Float_t eta); 00039 00040 void Set0 (Float_t E, Float_t pT, Float_t phi, Float_t eta); 00041 00042 void Set1 (const char *algoname, const TRefArray *tracks, TRef vtxref); 00043 00044 const char * algoname() const {return _algoname;} 00045 Int_t Ntr() const {return _tracks.GetLast()+1;} 00046 const TMBTrack* GetChargedTrack(Int_t itrack) const {return (const TMBTrack*)_tracks.At(itrack);} 00047 const TMBVertex* GetVertex() const {return _vtxref.IsValid() ? (const TMBVertex*)_vtxref.GetObject() : 0;} 00048 00049 ~TMBParticleJet() {} 00050 00051 ClassDef(TMBParticleJet, 6); 00052 }; 00053 00054 #endif // TMB_TREE_TMBPARTICLESJETS_HPP__ 00055
1.3.4