#ifndef TMBMCpart_H #define TMBMCpart_H ////////////////////////////////////////////////////////////////////////// // file: TMBMCpart.hpp // // TMBTree MCpart class // has MCparticle information // // created: 21-March-2002 Serban Protopopescu // // ////////////////////////////////////////////////////////////////////////// #include "tmb_tree/TPhysObj.hpp" #ifndef ROOT_TRef #include "TRef.h" #endif #ifndef ROOT_TRefArray #include "TRefArray.h" #endif #include class TMBMCvtx; //class TMBMCpart : public TObject { class TMBMCpart : public TPhysObj { private: Float_t _pt; //pT Float_t _q; // charge Float_t _phi; //phi Float_t _eta; //eta Float_t _px; //px Float_t _py; //py Float_t _pz; //pz Float_t _E; //E Int_t _pdgid; // PDG id TRef _vtx; // ref to parent vertex TRef _vtxend; // ref to decay vertex public: TMBMCpart() {;} TMBMCpart(Float_t px, Float_t py, Float_t pz,Float_t E, Float_t q, Float_t pt, Float_t phi, Float_t eta, Int_t pdgid, TRef vtx, TRef vtxend); Float_t pT() const {return _pt;} Float_t charge() const {return _q;} Float_t phi() const {return _phi;} Float_t eta() const {return _eta;} Float_t px() const {return _px;} Float_t py() const {return _py;} Float_t pz() const {return _pz;} Float_t E() const {return _E;} Int_t pdgid() const {return _pdgid;} TMBMCvtx* getPMCvtx() {return (TMBMCvtx*)_vtx.GetObject();} TMBMCvtx* getDMCvtx() {return (TMBMCvtx*)_vtxend.GetObject();} bool isStable() {bool stable=true; if(getDMCvtx()) stable=false; return stable;} bool isLepton()const{return abs(_pdgid)>10 && abs(_pdgid)<19;} ~TMBMCpart() {;} ClassDef(TMBMCpart, 1) //TMBTree MCpart class }; #endif