StFms  0.0.0
FMS software in the STAR framework
StFmsCluster.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // $Log$
12 #ifndef STROOT_STEVENT_STFMSCLUSTER_H_
13 #define STROOT_STEVENT_STFMSCLUSTER_H_
14 
15 #include <TLorentzVector.h>
16 
17 #include "St_base/StObject.h"
18 
19 #include "StEvent/StContainers.h" // For StPtrVecFmsHit, StPtrVecFmsPoint
20 
27 }; // enum EFmsClusterCategory
28 
35 class StFmsCluster : public StObject {
36  public:
38  StFmsCluster();
39  // Use default copy constructor and assignment operator
41  ~StFmsCluster();
43  void Print(Option_t* optionNotUsed = "") const;
49  UShort_t detectorId() const { return mDetectorId; }
51  Int_t category() const { return mCategory; }
53  Int_t nTowers() const { return mNTowers; }
55  Int_t nPhotons() const { return mNPhotons; }
57  Float_t energy() const { return mEnergy; }
59  Float_t x() const { return mX; }
61  Float_t y() const { return mY; }
63  Float_t sigmaMax() const { return mSigmaMax; }
65  Float_t sigmaMin() const { return mSigmaMin; }
67  Float_t chi2Ndf1Photon() const { return mChi2Ndf1Photon; }
69  Float_t chi2Ndf2Photon() const { return mChi2Ndf2Photon; }
71  Int_t id() const { return mId; }
73  TLorentzVector fourMomentum() const { return mFourMomentum; }
75  void setDetectorId(UShort_t detector) { mDetectorId = detector; }
77  void setCategory(Int_t catag) { mCategory = catag; }
79  void setNTowers(Int_t numbTower) { mNTowers = numbTower; }
81  Bool_t setNPhotons(Int_t nPhoton);
83  void setEnergy(Float_t energy) { mEnergy = energy; }
85  void setX(Float_t x0) { mX = x0; }
87  void setY(Float_t y0) { mY = y0; }
89  void setSigmaMin(Float_t sigmaMax) { mSigmaMin = sigmaMax; }
91  void setSigmaMax(Float_t sigmaMax) { mSigmaMax = sigmaMax; }
93  void setChi2Ndf1Photon(Float_t chi2ndfph1) { mChi2Ndf1Photon = chi2ndfph1; }
95  void setChi2Ndf2Photon(Float_t chi2ndfph2) { mChi2Ndf2Photon = chi2ndfph2; }
97  void setId(Float_t cluid) { mId = cluid; }
99  void setFourMomentum(TLorentzVector p4) { mFourMomentum = p4; }
101  StPtrVecFmsHit& hits() { return mHits; }
103  const StPtrVecFmsHit& hits() const { return mHits; }
105  StPtrVecFmsPoint& points() { return mPhotons; }
107  const StPtrVecFmsPoint& points() const { return mPhotons; }
108 
109  protected:
110  UShort_t mDetectorId;
111  Int_t mCategory;
112  Int_t mNTowers;
113  Int_t mNPhotons;
114  Float_t mEnergy;
115  Float_t mX;
116  Float_t mY;
118  Float_t mSigmaMin;
120  Float_t mSigmaMax;
121  Float_t mChi2Ndf1Photon;
122  Float_t mChi2Ndf2Photon;
123  Int_t mId;
124  TLorentzVector mFourMomentum;
125  StPtrVecFmsPoint mPhotons;
126  StPtrVecFmsHit mHits;
127  ClassDef(StFmsCluster, 1)
128 };
129 #endif // STROOT_STEVENT_STFMSCLUSTER_H_
A cluster created by 2 photons.
Definition: StFmsCluster.h:25
UShort_t mDetectorId
Detector starts from 1.
Definition: StFmsCluster.h:110
void setX(Float_t x0)
Definition: StFmsCluster.h:85
Float_t sigmaMax() const
Definition: StFmsCluster.h:63
const StPtrVecFmsPoint & points() const
Definition: StFmsCluster.h:107
Float_t x() const
Definition: StFmsCluster.h:59
void setChi2Ndf2Photon(Float_t chi2ndfph2)
Definition: StFmsCluster.h:95
const StPtrVecFmsHit & hits() const
Definition: StFmsCluster.h:103
A cluster created by 1 photon.
Definition: StFmsCluster.h:24
Float_t mEnergy
Total energy contained in this cluster (0th moment)
Definition: StFmsCluster.h:114
void setY(Float_t y0)
Definition: StFmsCluster.h:87
Int_t mNPhotons
Number of photons forming this cluster.
Definition: StFmsCluster.h:113
UShort_t detectorId() const
Definition: StFmsCluster.h:49
Int_t nTowers() const
Definition: StFmsCluster.h:53
For default/unknown/error value.
Definition: StFmsCluster.h:26
StPtrVecFmsHit mHits
Fitted points (photons) in the cluster.
Definition: StFmsCluster.h:126
Float_t mChi2Ndf2Photon
χ2 / ndf for 2-photon fit
Definition: StFmsCluster.h:122
Int_t mCategory
Category of cluster (see EFmsClusterCategory)
Definition: StFmsCluster.h:111
void setChi2Ndf1Photon(Float_t chi2ndfph1)
Definition: StFmsCluster.h:93
Float_t mSigmaMin
Minimum 2nd moment.
Definition: StFmsCluster.h:119
TLorentzVector mFourMomentum
Cluster four momentum.
Definition: StFmsCluster.h:124
Int_t mNTowers
Number of non-zero-energy tower hits in the cluster.
Definition: StFmsCluster.h:112
Float_t chi2Ndf2Photon() const
Definition: StFmsCluster.h:69
Bool_t setNPhotons(Int_t nPhoton)
Int_t nPhotons() const
Definition: StFmsCluster.h:55
StPtrVecFmsPoint & points()
Definition: StFmsCluster.h:105
void setDetectorId(UShort_t detector)
Definition: StFmsCluster.h:75
void setId(Float_t cluid)
Definition: StFmsCluster.h:97
StPtrVecFmsHit & hits()
Definition: StFmsCluster.h:101
void setEnergy(Float_t energy)
Definition: StFmsCluster.h:83
Float_t mChi2Ndf1Photon
χ2 / ndf for 1-photon fit
Definition: StFmsCluster.h:121
EFmsClusterCategory
Definition: StFmsCluster.h:22
Float_t y() const
Definition: StFmsCluster.h:61
void Print(Option_t *optionNotUsed="") const
void setNTowers(Int_t numbTower)
Definition: StFmsCluster.h:79
Int_t mId
Eventwise cluster ID.
Definition: StFmsCluster.h:123
StPtrVecFmsPoint mPhotons
Tower hits of the current cluster.
Definition: StFmsCluster.h:125
TLorentzVector fourMomentum() const
Definition: StFmsCluster.h:73
Float_t mSigmaMax
Maximum 2nd moment (along major axis)
Definition: StFmsCluster.h:120
Int_t category() const
Definition: StFmsCluster.h:51
void setSigmaMin(Float_t sigmaMax)
Definition: StFmsCluster.h:89
Float_t sigmaMin() const
Definition: StFmsCluster.h:65
void setFourMomentum(TLorentzVector p4)
Definition: StFmsCluster.h:99
void setCategory(Int_t catag)
Definition: StFmsCluster.h:77
Float_t energy() const
Definition: StFmsCluster.h:57
Float_t chi2Ndf1Photon() const
Definition: StFmsCluster.h:67
Could be 1- or 2-photon, needs to be fitted.
Definition: StFmsCluster.h:23
void setSigmaMax(Float_t sigmaMax)
Definition: StFmsCluster.h:91
Int_t id() const
Definition: StFmsCluster.h:71