StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StEEmcPair.h
1 #ifndef __StEEmcPair_h__
2 #define __StEEmcPair_h__
3 
4 #include "TObject.h"
5 #include "StEEmcPoint.h"
6 #include "TVector3.h"
7 #include <vector>
8 
9 class StEEmcPair : public TObject {
10 
11  public:
12 
14  StEEmcPair();
19  StEEmcPair( StEEmcPoint p1, StEEmcPoint p2, TVector3 vertex );
21  StEEmcPair( StEEmcPoint p1, StEEmcPoint p2, TVector3 vertex1, TVector3 vertex2 );
23  ~StEEmcPair(){ /* nada */ };
24 
26  StEEmcPair( const StEEmcPair &old );
27 
30  StEEmcPoint point(Int_t index){ return mPoint[index]; }
31 
33  Float_t mass();
35  Float_t energy();
37  Float_t zgg();
39  Float_t phigg();
41  Float_t pt();
43  TVector3 momentum();
45  TVector3 vertex();
46 
47  private:
48  protected:
49 
50  void Kinematics();
51 
52  Float_t mMass; // invariant mass
53  Float_t mEnergy; // total energy
54  Float_t mZgg; // energy-sharing
55  Float_t mPhigg; // opening-angle
56  TVector3 mMomentum; // self-evident
57 
58  TVector3 mVertex1; // vertex of first point
59  TVector3 mVertex2; // vertex of second point (different for background mix)
60  TVector3 mVertex; // event vertex (real pi0), average vertex (mixed)
61 
63 
65 
66 };
67 
68 inline Float_t StEEmcPair::mass(){ return mMass; }
69 inline Float_t StEEmcPair::energy(){ return mEnergy; }
70 inline Float_t StEEmcPair::zgg(){ return mZgg; }
71 inline Float_t StEEmcPair::phigg(){ return mPhigg; }
72 inline Float_t StEEmcPair::pt(){ return mMomentum.Perp(); }
73 inline TVector3 StEEmcPair::momentum(){ return mMomentum; }
74 inline TVector3 StEEmcPair::vertex(){ return mVertex; }
75 
76 typedef std::vector< StEEmcPair > StEEmcPairVec_t;
77 
78 #endif
Base class for representing EEMC points.
Definition: StEEmcPoint.h:24
TVector3 mVertex
Definition: StEEmcPair.h:64
StEEmcPoint mPoint[2]
Definition: StEEmcPair.h:66
const TVector3 & momentum() const
Returns momentum of pair.
Definition: StEEmcPair.h:78
const TVector3 & vertex() const
Returns vertex of pair.
Definition: StEEmcPair.h:79
void Kinematics()
Called by constructor to reconstruct two-body kinematics.
Definition: StEEmcPair.cxx:71
Float_t mMass
Definition: StEEmcPair.h:56
ClassDef(StEEmcPair, 1)
Makes class available in root.
Float_t mPhigg
Definition: StEEmcPair.h:59
TVector3 mVertex2
Definition: StEEmcPair.h:63
Float_t zgg() const
Returns energy-sharing of pair.
Definition: StEEmcPair.h:75
TVector3 mVertex1
Definition: StEEmcPair.h:62
Float_t energy() const
Returns energy of pair.
Definition: StEEmcPair.h:74
StEEmcPoint point(Int_t index)
Definition: StEEmcPair.h:30
Float_t mass() const
Returns invariant mass of pair.
Definition: StEEmcPair.h:73
Float_t phigg() const
Returns opening-angle of pair.
Definition: StEEmcPair.h:76
StEEmcPair()
Default constructor (don&#39;t use except for placeholder)
Definition: StEEmcPair.cxx:29
Float_t pt() const
Returns pt of pair.
Definition: StEEmcPair.h:77
~StEEmcPair()
Destructor.
Definition: StEEmcPair.h:23
TVector3 mMomentum
Definition: StEEmcPair.h:60
A class to represent pairs of points.
Definition: StEEmcPair.h:9
Float_t mZgg
Definition: StEEmcPair.h:58
Float_t mEnergy
Definition: StEEmcPair.h:57