00001 #ifndef __StEEmcPair_h__ 00002 #define __StEEmcPair_h__ 00003 00004 #include "TObject.h" 00005 #include "StEEmcPoint.h" 00006 #include "TVector3.h" 00007 #include <vector> 00008 00009 class StEEmcPair : public TObject { 00010 00011 public: 00012 00014 StEEmcPair(); 00017 StEEmcPair( StEEmcPoint p1, StEEmcPoint p2 ); 00019 StEEmcPair( StEEmcPoint p1, StEEmcPoint p2, TVector3 vertex ); 00021 StEEmcPair( StEEmcPoint p1, StEEmcPoint p2, TVector3 vertex1, TVector3 vertex2 ); 00023 ~StEEmcPair(){ /* nada */ }; 00024 00026 StEEmcPair( const StEEmcPair &old ); 00027 00030 StEEmcPoint point(Int_t index){ return mPoint[index]; } 00031 00033 Float_t mass(); 00035 Float_t energy(); 00037 Float_t zgg(); 00039 Float_t phigg(); 00041 Float_t pt(); 00043 TVector3 momentum(); 00045 TVector3 vertex(); 00046 00047 private: 00048 protected: 00049 00050 void Kinematics(); 00051 00052 Float_t mMass; // invariant mass 00053 Float_t mEnergy; // total energy 00054 Float_t mZgg; // energy-sharing 00055 Float_t mPhigg; // opening-angle 00056 TVector3 mMomentum; // self-evident 00057 00058 TVector3 mVertex1; // vertex of first point 00059 TVector3 mVertex2; // vertex of second point (different for background mix) 00060 TVector3 mVertex; // event vertex (real pi0), average vertex (mixed) 00061 00062 StEEmcPoint mPoint[2]; 00063 00064 ClassDef(StEEmcPair,1); 00065 00066 }; 00067 00068 inline Float_t StEEmcPair::mass(){ return mMass; } 00069 inline Float_t StEEmcPair::energy(){ return mEnergy; } 00070 inline Float_t StEEmcPair::zgg(){ return mZgg; } 00071 inline Float_t StEEmcPair::phigg(){ return mPhigg; } 00072 inline Float_t StEEmcPair::pt(){ return mMomentum.Perp(); } 00073 inline TVector3 StEEmcPair::momentum(){ return mMomentum; } 00074 inline TVector3 StEEmcPair::vertex(){ return mVertex; } 00075 00076 typedef std::vector< StEEmcPair > StEEmcPairVec_t; 00077 00078 #endif
1.5.9