#ifndef TMBL1CalTower_H #define TMBL1CalTower_H ////////////////////////////////////////////////////////////////////////// // // // TMBL1CalTower class // // // ////////////////////////////////////////////////////////////////////////// #ifndef INC_TPHYSOBJ #include "tmb_tree/TPhysObj.hpp" #endif #include class TMBL1CalTowerMaker; class TMBL1CalEMTowerMaker; class TMBL1CalTower : public TPhysObj { public: TMBL1CalTower(); TMBL1CalTower ( const TMBL1CalTower & obj ); // copy constructor ~TMBL1CalTower(); Float_t eta (void) const {return _eta;} Float_t phi (void) const {return _phi;} Float_t et (void) const {return _et;} Float_t pT() const {return _et;} Float_t px() const {return _et*cos(_phi);} Float_t py() const {return _et*sin(_phi);} Float_t pz() const {return _et/tan(2.*atan(exp(-_eta)));} Float_t p() const {Float_t z=pz(); return _et+z*z;} Float_t E() const {Float_t z=pz(); return _et+z*z;} Float_t charge() const {return 0.;}; TLorentzVector lorentz_vector() const { TLorentzVector lv; lv.SetPtEtaPhiM(_et, _eta, _phi, 0.); return lv; } protected: friend class TMBL1CalTowerMaker; friend class TMBL1CalEMTowerMaker; friend class TMBL1CalTileMaker; float _eta, _phi, _et; public: ClassDef(TMBL1CalTower, 2) //TMBTreeTrig class }; #endif