StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StFlowPicoEvent.h
1 //
3 // $Id: StFlowPicoEvent.h,v 1.15 2004/05/31 20:09:40 oldi Exp $
4 //
5 // Author: Sergei Voloshin and Raimond Snellings, March 2000
6 //
7 // Description: A persistent Flow Pico DST
8 //
10 
11 #ifndef StFlowPicoEvent__h
12 #define StFlowPicoEvent__h
13 
14 #include "TObject.h"
15 #include "StFlowPicoTrack.h"
16 
17 class TClonesArray;
18 //-----------------------------------------------------------
19 
20 class StFlowPicoEvent : public TObject {
21 
22  public:
23 
25  virtual ~StFlowPicoEvent() { Clear(); }
26  void Clear(Option_t *option ="");
27  void AddTrack(StFlowPicoTrack* pFlowPicoTrack);
28  TClonesArray* Tracks() const { return fTracks; }
29  Int_t GetNtrack() const { return mNtrack; }
30 
31  Int_t Version() const { return mVersion; }
32  UInt_t L0TriggerWord() const { return mL0TriggerWord; }
33  UInt_t OrigMult() const { return mOrigMult; }
34  UInt_t UncorrNegMult() const { return mUncorrNegMult; }
35  UInt_t UncorrPosMult() const { return mUncorrPosMult; }
36  UInt_t MultEta() const { return mMultEta; }
37 
38  UInt_t Centrality() const { return mCentrality; }
39  UInt_t CalcCentrality();
40  Float_t VertexX() const { return mVertexX; }
41  Float_t VertexY() const { return mVertexY; }
42  Float_t VertexZ() const { return mVertexZ; }
43  Int_t EventID() const { return mEventID; }
44  Int_t RunID() const { return mRunID; }
45  Double_t CenterOfMassEnergy() const { return mCenterOfMassEnergy; }
46  Double_t MagneticField() const { return mMagneticField; }
47  Short_t BeamMassNumberEast() const { return mBeamMassNumberEast; }
48  Short_t BeamMassNumberWest() const { return mBeamMassNumberWest; }
49  Float_t CTB() const { return mCTB; }
50  Float_t ZDCe() const { return mZDCe; }
51  Float_t ZDCw() const { return mZDCw; }
52  Float_t ZDCSMD(int eastwest,int verthori,int strip) const;
53 
54  void SetVersion(const Int_t ver) { mVersion = ver; }
55  void SetEventID(const Int_t id) { mEventID = id; }
56  void SetRunID(const Int_t id) { mRunID = id; }
57  void SetCenterOfMassEnergy(const Double_t cms) { mCenterOfMassEnergy = cms; }
58  void SetMagneticField(const Double_t mf) { mMagneticField = mf; }
59  void SetBeamMassNumberEast(const Short_t bme) { mBeamMassNumberEast = bme; }
60  void SetBeamMassNumberWest(const Short_t bmw) { mBeamMassNumberWest = bmw; }
61  void SetNtrack(const Int_t ntrk) { mNtrack = ntrk; }
62  void SetOrigMult(const UInt_t mult) { mOrigMult = mult; }
63  void SetL0TriggerWord(const UInt_t trigger) { mL0TriggerWord = trigger; }
64  void SetUncorrNegMult(const UInt_t mult) { mUncorrNegMult = mult; }
65  void SetUncorrPosMult(const UInt_t mult) { mUncorrPosMult = mult; }
66  void SetMultEta(const UInt_t goodtracks) { mMultEta = goodtracks; }
67  void SetCentrality(const UInt_t cent) { mCentrality = cent; }
68  void SetVertexPos(const Float_t x, const Float_t y, const Float_t z) {
69  mVertexX=x; mVertexY=y; mVertexZ=z; }
70  void SetCTB(const Float_t ctb) {mCTB = ctb; }
71  void SetZDCe(const Float_t zdce) {mZDCe = zdce; }
72  void SetZDCw(const Float_t zdcw) {mZDCw = zdcw; }
73  void SetZDCSMD(int eastwest,int verthori,int strip,const Float_t zdcsmd);
74 
75  private:
76 
77  Int_t mVersion; // pico version
78  Int_t mNtrack; // track number
79  Int_t mEventID; // event ID
80  Int_t mRunID; // run ID
81  Double_t mMagneticField; // Magnetic Field
82  Double_t mCenterOfMassEnergy; // CMS Energy
83  Short_t mBeamMassNumberEast; // Mass Number of East Beam
84  Short_t mBeamMassNumberWest; // Mass Number of West Beam
85  UInt_t mOrigMult; // number of tracks
86  UInt_t mL0TriggerWord; // L0 Trigger Word
87  UInt_t mUncorrNegMult; // number of h-
88  UInt_t mUncorrPosMult; // number of h+
89  UInt_t mMultEta; // number of tracks with
90  // positive flag in 1.5 units of eta
91  UInt_t mCentrality; // centrality bin
92  Float_t mVertexX; // primary vertex position
93  Float_t mVertexY; // primary vertex position
94  Float_t mVertexZ; // primary vertex position
95  Float_t mCTB; // CTB value sum
96  Float_t mZDCe; // ZDC east
97  Float_t mZDCw; // ZDC west
98  Float_t mZDCSMD[2][2][8]; // ZDCSMD calibrated, diff. from MuDst.
99 
100  TClonesArray* fTracks;
101  static TClonesArray* fgTracks;
102 
103  ClassDef(StFlowPicoEvent,5)
104 };
105 
106 inline void StFlowPicoEvent::SetZDCSMD(int eastwest,int verthori,int strip,const Float_t zdcsmd) {mZDCSMD[eastwest][verthori][strip-1] = zdcsmd;}
107 
108 inline Float_t StFlowPicoEvent::ZDCSMD(int eastwest,int verthori,int strip) const {return mZDCSMD[eastwest][verthori][strip-1];}
109 
110 
111 #endif
112 
114 //
115 // $Log: StFlowPicoEvent.h,v $
116 // Revision 1.15 2004/05/31 20:09:40 oldi
117 // PicoDst format changed (Version 7) to hold ZDC SMD information.
118 // Trigger cut modified to comply with TriggerCollections.
119 // Centrality definition for 62 GeV data introduced.
120 // Minor bug fixes.
121 //
122 // Revision 1.14 2002/03/15 16:43:22 snelling
123 // Added a method to recalculate the centrality in StFlowPicoEvent
124 //
125 // Revision 1.13 2002/02/05 07:19:38 snelling
126 // Quick fix for problems with backward compatibility (changed ClassDef back)
127 //
128 // Revision 1.12 2002/02/01 23:06:59 snelling
129 // Added entries for header information in flowPico (not everthing is available yet)
130 //
131 // Revision 1.11 2001/08/01 19:39:50 snelling
132 // Added the trigger word
133 //
134 // Revision 1.10 2001/07/27 01:26:35 snelling
135 // Added and changed variables for picoEvent. Changed trackCut class to StTrack
136 //
137 // Revision 1.9 2001/07/24 22:29:32 snelling
138 // First attempt to get a standard root pico file again, added variables
139 //
140 // Revision 1.8 2001/05/22 20:17:54 posk
141 // Now can do pseudorapidity subevents.
142 //
143 // Revision 1.7 2000/12/12 20:22:06 posk
144 // Put log comments at end of files.
145 // Deleted persistent StFlowEvent (old micro DST).
146 //
147 // Revision 1.6 2000/09/05 16:11:35 snelling
148 // Added global DCA, electron and positron
149 //
150 // Revision 1.5 2000/08/31 18:58:25 posk
151 // For picoDST, added version number, runID, and multEta for centrality.
152 // Added centrality cut when reading picoDST.
153 // Added pt and eta selections for particles corr. wrt event plane.
154 //
155 // Revision 1.4 2000/08/09 21:38:23 snelling
156 // PID added
157 //
158 // Revision 1.3 2000/06/01 18:26:39 posk
159 // Increased precision of Track integer data members.
160 //
161 // Revision 1.2 2000/05/26 21:29:32 posk
162 // Protected Track data members from overflow.
163 //
164 // Revision 1.1 2000/05/23 20:09:50 voloshin
165 // added StFlowPicoEvent, persistent FlowEvent as plain root TTree
166 //
167 // Revision 1.5 2000/05/16 20:59:34 posk
168 // Voloshin's flowPicoevent.root added.
169 //
171 
172 
173 
174 
175 
176