10 #ifndef STAR_StGammaEvent
11 #define STAR_StGammaEvent
18 #include "StGammaCandidate.h"
19 #include "StGammaCandidateMaker.h"
21 #include "StGammaTrack.h"
22 #include "StGammaTower.h"
23 #include "StGammaStrip.h"
25 #include "TClonesArray.h"
26 #include "TObjString.h"
31 #define TPC_VERTEX 0x0001
38 enum Spin4State { kBlueUpYellUp=5, kBlueUpYellDn=6, kBlueDnYellUp=9, kBlueDnYellDn=10, kUnknownSpin4=42 };
39 enum PolarizationType { kUnpolarized=0, kLongLong, kTransTrans, kRadRad, kUnknownPol=42 };
45 virtual const char* GetCVS()
const
46 {
static const char cvs[] =
"Tag $Name: $ $Id: StGammaEvent.h,v 1.16 2014/08/06 11:43:18 jeromel Exp $ built " __DATE__
" " __TIME__;
return cvs; }
48 void Clear(Option_t *opts=
"");
51 UShort_t
flags()
const {
return mFlags; }
57 Int_t numberOfTracks()
const {
return mTracks->GetEntriesFast(); }
85 UShort_t spin4() {
return mSpin4; }
86 UShort_t bunchCrossing7bit() {
return mBunchCrossing7bit; }
87 UShort_t bunchCrossing48bit() {
return mBunchCrossing48bit; }
88 UShort_t bunchCrossingStar() {
return mBunchCrossingStar; }
89 UShort_t polarizationType() {
return mPolarizationType; }
91 Float_t sumPt( Float_t eta_min = -2.5, Float_t eta_max = +2.5 )
const;
92 Float_t
sumTrackPt(Float_t eta_min = -2.5, Float_t eta_max = +2.5 )
const;
93 Float_t
sumTowerPt(Float_t eta_min = -2.5, Float_t eta_max = +2.5 )
const;
108 void SetEventNumber( Int_t event ){
mEventNumber=event; }
110 void SetSimuTriggerIds(
const vector<unsigned int>& triggerIds) { copy(triggerIds.begin(), triggerIds.end(), inserter(
mSimuTriggerIds,
mSimuTriggerIds.begin())); }
111 void SetMudstFileName(
const TObjString &i) {
mMudstFileName = i; }
113 void SetVertexRank(Float_t rank) {
mVertexRank = rank; }
117 void SetValidDb( Bool_t v ){ mSpinDbValid=v; }
118 void SetSpin4( UShort_t s ){ mSpin4=s; }
119 void SetBunchCrossing7bit( UShort_t b ){ mBunchCrossing7bit=b; }
120 void SetBunchCrossing48bit( UShort_t b ){ mBunchCrossing48bit=b; }
121 void SetBunchCrossingStar( UShort_t b ){ mBunchCrossingStar=b; }
122 void SetPolarizationType( UShort_t t ){ mPolarizationType=t; }
123 void SetDsmVertex( UShort_t v ){ mDsmVertex=v; }
139 UShort_t mBunchCrossing7bit;
140 UShort_t mBunchCrossing48bit;
141 UShort_t mBunchCrossingStar;
142 UShort_t mPolarizationType;
150 TClonesArray *mTracks;
151 TClonesArray *mTowers;
152 TClonesArray *mPreshower1;
153 TClonesArray *mPreshower2;
154 TClonesArray *mPostshower;
155 TClonesArray *mStrips;
156 TClonesArray *mCandidates;
158 friend Int_t StGammaCandidateMaker::Compress();
Float_t sumTrackPt(Float_t eta_min=-2.5, Float_t eta_max=+2.5) const
Returns track+tower pT in eta range.
StGammaPythiaEvent * mPythia
Magnetic field (kG)
Int_t runNumber() const
Return ith candidate.
Float_t sumTowerPt(Float_t eta_min=-2.5, Float_t eta_max=+2.5) const
Returns track pT in eta range.
StGammaTower * newPostshower()
Add a new preshower2 element.
StGammaTower * tower(Int_t i) const
Return ith track.
StGammaTower * preshower1(Int_t i) const
Return ith tower.
Int_t numberOfPostshower() const
Return number of pre2.
Int_t numberOfPreshower1() const
Return number of towers.
Float_t mMagneticField
Primary vertex rank.
Int_t numberOfCandidates() const
Return number of strips.
StGammaTower * newPreshower1()
Add a new tower.
StGammaTower * newTower()
Add a new track.
StGammaStrip * strip(Int_t i) const
Return ith post.
Bool_t validSpinDb()
Pythia event.
StGammaTower * newPreshower2()
Add a new preshower1 (bprs) element.
TVector3 & vertex()
Returns muDst file from which event originated.
StGammaTrack * newTrack(StMuTrack *mutr=0)
Returns tower pT in eta range.
StGammaCandidate * newCandidate()
Add a new SMD strip.
StGammaStrip * newStrip()
Add a new postshower element.
set< int > mSimuTriggerIds
Trigger ID's.
Float_t magneticField() const
Returns rank of primary vertex.
Float_t mVertexRank
Event primary vertex (TPC)
set< int > mTriggerIds
Event number.
StGammaTrack * track(Int_t i) const
Return number of candidates.
TObjString mMudstFileName
Simulated Trigger ID's.
void SetRunNumber(Int_t run)
Add a new gamma candidate.
Int_t eventNumber() const
Returns run number.
UShort_t flags() const
Event flags (see above)
Int_t numberOfPreshower2() const
Return number of pre1.
TVector3 mVertex
File from which StGammaEvent originatedt.
StGammaPythiaEvent * pythia()
Magnetic field (kG)
StGammaTower * preshower2(Int_t i) const
Return ith pre1.
Float_t vertexRank()
Returns the primary vertex.
StGammaTower * postshower(Int_t i) const
Return ith pre2.
Int_t mEventNumber
Run number.
Int_t numberOfTowers() const
Return number of tracks.
StGammaCandidate * candidate(Int_t i) const
Return ith strip.
set< int > & triggerIds()
Returns event number.
Int_t numberOfStrips() const
Return number of post.