]>
Commit | Line | Data |
---|---|---|
44a84424 | 1 | //-*- Mode: C++ -*- |
2 | ||
3 | // $Id: AliMultiplicityCorrelations.h $ | |
4 | #ifndef ALIMULTIPLICITYCORRELATIONS_H | |
5 | #define ALIMULTIPLICITYCORRELATIONS_H | |
6 | ||
7 | ||
8 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
9 | * See cxx source for full Copyright notice */ | |
10 | ||
11 | // Correlation plots for multiplicity studies | |
12 | // Authors: Jochen Thaeder <jochen@thaeder.de> | |
13 | ||
14 | #include "AliLog.h" | |
15 | ||
16 | #include "AliESDtrackCuts.h" | |
17 | #include "AliESDEvent.h" | |
18 | #include "AliESDVZERO.h" | |
19 | #include "AliESDZDC.h" | |
20 | #include "AliMultiplicity.h" | |
21 | #include "TList.h" | |
22 | ||
23 | class TH1; | |
24 | ||
25 | class AliMultiplicityCorrelations : public TNamed { | |
26 | public: | |
27 | ||
28 | /* | |
29 | * --------------------------------------------------------------------------------- | |
30 | * Constructor / Destructor | |
31 | * --------------------------------------------------------------------------------- | |
32 | */ | |
33 | ||
34 | /** Default Constructor */ | |
35 | AliMultiplicityCorrelations(); | |
36 | ||
37 | /** Constructor */ | |
38 | AliMultiplicityCorrelations(Char_t* name, Char_t* title); | |
39 | ||
40 | /** Destructor */ | |
41 | ~AliMultiplicityCorrelations(); | |
42 | ||
43 | /* | |
44 | * --------------------------------------------------------------------------------- | |
45 | * Initialize / Setup / Reset - public | |
46 | * --------------------------------------------------------------------------------- | |
47 | */ | |
48 | ||
49 | /** Initialize class and members */ | |
50 | Int_t Initialize() { return Initialize(""); } | |
51 | ||
52 | /** Initialize class and members */ | |
53 | Int_t Initialize( const Char_t* listName ); | |
54 | ||
55 | /* | |
56 | * --------------------------------------------------------------------------------- | |
57 | * Setter - public | |
58 | * --------------------------------------------------------------------------------- | |
59 | */ | |
60 | ||
61 | void SetIsMC() { fIsMC = kTRUE; } | |
62 | ||
63 | /** Clean event sample */ | |
64 | void SetCleanSample(Float_t min, Float_t max) { fCleanSample = kTRUE; fCleanMinKeep = min; fCleanMaxKeep = max; } | |
65 | ||
66 | /** Set ESD track cuts */ | |
67 | void SetESDTrackCuts(AliESDtrackCuts *cuts) { fESDTrackCuts = cuts; } | |
68 | void SetESDTrackCuts2(AliESDtrackCuts *cuts) { fESDTrackCuts2 = cuts; } | |
69 | ||
70 | /** Set SPD clusters from inner and outer layer */ | |
71 | void SetSPDClusters(Float_t inner, Float_t outer) { fSpdNClustersInner = inner; fSpdNClustersOuter = outer; } | |
72 | ||
73 | /** Set Binning of VZERO */ | |
74 | void SetBinningVzero(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
75 | fVzeroBinning = i; fVzeroBinningMin = f1; fVzeroBinningMax = f2; | |
76 | } | |
77 | ||
78 | /** Set Binning of TPC */ | |
79 | void SetBinningTpc(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
80 | fTpcBinning = i; fTpcBinningMin = f1; fTpcBinningMax = f2; | |
81 | } | |
82 | ||
83 | /** Set Binning of ZDC */ | |
84 | void SetBinningZdc(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
85 | fZdcBinning = i; fZdcBinningMin = f1; fZdcBinningMax = f2; | |
86 | } | |
87 | ||
88 | /** Set Binning of ZEM */ | |
89 | void SetBinningZem(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
90 | fZemBinning = i; fZemBinningMin = f1; fZemBinningMax = f2; | |
91 | } | |
92 | ||
93 | /** Set Binning of SPD */ | |
94 | void SetBinningSpd(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
95 | fSpdBinning = i; fSpdBinningMin = f1; fSpdBinningMax = f2; | |
96 | } | |
97 | ||
98 | /** Enable / Disable detectors */ | |
99 | void SetProcessSPD(Bool_t b = kTRUE) { fProcessSPD = b; } | |
100 | void SetProcessTPC(Bool_t b = kTRUE) { fProcessTPC = b; } | |
101 | void SetProcessZDC(Bool_t b = kTRUE) { fProcessZDC = b; } | |
102 | void SetProcessVZERO(Bool_t b = kTRUE){ fProcessVZERO = b; } | |
103 | ||
104 | /* | |
105 | * --------------------------------------------------------------------------------- | |
106 | * Getter - public | |
107 | * --------------------------------------------------------------------------------- | |
108 | */ | |
109 | ||
110 | /** Get List of histograms */ | |
111 | TList* GetHistList() const { return fHistList; } | |
112 | ||
113 | Int_t GetNTracks() { return fEsdTracksA; } | |
114 | Int_t GetNTracksTPC() { return fTpcTracksA; } | |
115 | Float_t GetVZEROA() { return fVzeroMultA; } | |
116 | Float_t GetVZEROC() { return fVzeroMultC; } | |
117 | Float_t GetVZEROCorr() { return fVzeroMult; } | |
118 | ||
119 | /* | |
120 | * --------------------------------------------------------------------------------- | |
121 | * Process - public | |
122 | * --------------------------------------------------------------------------------- | |
123 | */ | |
124 | ||
125 | /** Process current event */ | |
126 | Int_t ProcessEvent( AliESDEvent *esd ); | |
127 | ||
128 | /////////////////////////////////////////////////////////////////////////////////// | |
129 | ||
130 | /** Corrected VZERO amplitude*/ | |
131 | Float_t GetCorrVZERO(Float_t &v0CorrResc); | |
132 | ||
133 | /** Corrected SPD amplitude*/ | |
134 | Float_t GetCorrSPD2(Float_t spd2raw,Float_t zv); | |
135 | ||
136 | private: | |
137 | ||
138 | /** copy constructor prohibited */ | |
139 | AliMultiplicityCorrelations(const AliMultiplicityCorrelations&); | |
140 | ||
141 | /** assignment operator prohibited */ | |
142 | AliMultiplicityCorrelations& operator=(const AliMultiplicityCorrelations&); | |
143 | ||
144 | /* | |
145 | * --------------------------------------------------------------------------------- | |
146 | * Initialize / Setup / Reset - private | |
147 | * --------------------------------------------------------------------------------- | |
148 | */ | |
149 | ||
150 | /** Add esd object | |
151 | * param esd Ptr to AliESDEvent | |
152 | * return kTRUE if AliESDEvent and Vertex present | |
153 | */ | |
154 | Bool_t AddESDEvent( AliESDEvent* esd ); | |
155 | ||
156 | /** Setup histograms */ | |
157 | Int_t SetupHistograms(); | |
158 | ||
159 | /** Setup VZERO histograms */ | |
160 | Int_t SetupVZERO(); | |
161 | ||
162 | /** Setup ZDC histograms */ | |
163 | Int_t SetupZDC(); | |
164 | ||
165 | /** Setup TPC histograms */ | |
166 | Int_t SetupTPC(); | |
167 | ||
168 | /** Setup correlation histograms */ | |
169 | Int_t SetupCorrelations(); | |
170 | ||
171 | /** Setup SPD histograms */ | |
172 | Int_t SetupSPD(); | |
173 | ||
174 | /* | |
175 | * --------------------------------------------------------------------------------- | |
176 | * Process - private | |
177 | * --------------------------------------------------------------------------------- | |
178 | */ | |
179 | ||
180 | /** Process current event - TPC */ | |
181 | Int_t ProcessTPC(); | |
182 | ||
183 | /** Process current event - SPD */ | |
184 | Int_t ProcessSPD(); | |
185 | ||
186 | /** Process current event - VZERO */ | |
187 | Int_t ProcessVZERO(); | |
188 | ||
189 | /** Process current event - ZDC and correlations */ | |
190 | Int_t ProcessZDC(); | |
191 | ||
192 | /* | |
193 | * --------------------------------------------------------------------------------- | |
194 | * Members - private | |
195 | * --------------------------------------------------------------------------------- | |
196 | */ | |
197 | ||
198 | TList *fHistList; // List of histograms | |
199 | ||
200 | Bool_t fIsMC; // If it is MC | |
201 | ||
202 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
203 | ||
204 | AliESDEvent *fESDEvent; //! Ptr to AliESDEvent | |
205 | AliESDZDC *fESDZDC; //! Ptr to ZDC object in AliESDEvent | |
206 | AliESDVZERO *fESDVZERO; //! Ptr to VZERO object in AliESDEvent | |
207 | AliMultiplicity *fESDMultiplicity; //! Ptr to AliMultiplicity in AliESDEvent | |
208 | AliESDtrackCuts *fESDTrackCuts; //! Ptr to AliESDtrackCuts | |
209 | AliESDtrackCuts *fESDTrackCuts2; //! Ptr to AliESDtrackCuts 2 | |
210 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
211 | ||
212 | Bool_t fCleanSample; // Enables 'grass' cleaning | |
213 | Float_t fCleanMinKeep; // Min of kept region | |
214 | Float_t fCleanMaxKeep; // Max of kept region | |
215 | ||
216 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
217 | ||
218 | Int_t fRunNo; // RunNo for corrections | |
219 | Int_t fCurrentRunNo; // Current RunNo | |
220 | ||
221 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
222 | ||
223 | Bool_t fProcessTPC; // Process TPC information | |
224 | Bool_t fProcessSPD; // Process SPD information | |
225 | Bool_t fProcessVZERO; // Process VZERO information | |
226 | Bool_t fProcessZDC; // Process ZDC information | |
227 | ||
228 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
229 | ||
230 | Int_t fEsdTracks; // N ESD tracks | |
231 | Int_t fEsdTracksA; // N ESD tracks accepted | |
232 | Int_t fTpcTracks; // N TPC tracks | |
233 | Int_t fTpcTracksA; // N TPC tracks accepted | |
234 | ||
235 | Float_t fVzeroMult; // VZERO multiplicity | |
236 | Float_t fVzeroMultA; // VZERO A multiplicity | |
237 | Float_t fVzeroMultC; // VZERO C multiplicity | |
238 | ||
239 | Float_t fSpdNClusters; // Spd N clusters | |
240 | Float_t fSpdNClustersInner; // Spd N clusters Inner | |
241 | Float_t fSpdNClustersOuter; // Spd N clusters Outer | |
242 | ||
243 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
244 | ||
245 | /** Binnning VZERO */ | |
246 | Int_t fVzeroBinning; | |
247 | Float_t fVzeroBinningMin; | |
248 | Float_t fVzeroBinningMax; | |
249 | ||
250 | /** Binnning TPC */ | |
251 | Int_t fTpcBinning; | |
252 | Float_t fTpcBinningMin; | |
253 | Float_t fTpcBinningMax; | |
254 | ||
255 | /** Binnning ZDC */ | |
256 | Int_t fZdcBinning; | |
257 | Float_t fZdcBinningMin; | |
258 | Float_t fZdcBinningMax; | |
259 | ||
260 | /** Binnning ZEM */ | |
261 | Int_t fZemBinning; | |
262 | Float_t fZemBinningMin; | |
263 | Float_t fZemBinningMax; | |
264 | ||
265 | /** Binnning SPD */ | |
266 | Int_t fSpdBinning; | |
267 | Float_t fSpdBinningMin; | |
268 | Float_t fSpdBinningMax; | |
269 | ||
270 | ClassDef(AliMultiplicityCorrelations, 3); | |
271 | }; | |
272 | #endif |