]>
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 */ | |
f8b4d737 | 111 | TList* GetHistList() const { return fHistList; } |
112 | Int_t GetNTracks() const { return fEsdTracksA; } | |
113 | Int_t GetNTracksTPC() const { return fTpcTracksA; } | |
114 | Float_t GetVZEROA() const { return fVzeroMultA; } | |
115 | Float_t GetVZEROC() const { return fVzeroMultC; } | |
116 | Float_t GetVZEROCorr() const { return fVzeroMult; } | |
44a84424 | 117 | |
118 | /* | |
119 | * --------------------------------------------------------------------------------- | |
120 | * Process - public | |
121 | * --------------------------------------------------------------------------------- | |
122 | */ | |
123 | ||
124 | /** Process current event */ | |
125 | Int_t ProcessEvent( AliESDEvent *esd ); | |
126 | ||
127 | /////////////////////////////////////////////////////////////////////////////////// | |
128 | ||
129 | /** Corrected VZERO amplitude*/ | |
130 | Float_t GetCorrVZERO(Float_t &v0CorrResc); | |
131 | ||
132 | /** Corrected SPD amplitude*/ | |
f8b4d737 | 133 | Float_t GetCorrSPD2(Float_t spd2raw,Float_t zv) const; |
44a84424 | 134 | |
135 | private: | |
136 | ||
137 | /** copy constructor prohibited */ | |
138 | AliMultiplicityCorrelations(const AliMultiplicityCorrelations&); | |
139 | ||
140 | /** assignment operator prohibited */ | |
141 | AliMultiplicityCorrelations& operator=(const AliMultiplicityCorrelations&); | |
142 | ||
143 | /* | |
144 | * --------------------------------------------------------------------------------- | |
145 | * Initialize / Setup / Reset - private | |
146 | * --------------------------------------------------------------------------------- | |
147 | */ | |
148 | ||
149 | /** Add esd object | |
150 | * param esd Ptr to AliESDEvent | |
151 | * return kTRUE if AliESDEvent and Vertex present | |
152 | */ | |
153 | Bool_t AddESDEvent( AliESDEvent* esd ); | |
154 | ||
155 | /** Setup histograms */ | |
156 | Int_t SetupHistograms(); | |
157 | ||
158 | /** Setup VZERO histograms */ | |
159 | Int_t SetupVZERO(); | |
160 | ||
161 | /** Setup ZDC histograms */ | |
162 | Int_t SetupZDC(); | |
163 | ||
164 | /** Setup TPC histograms */ | |
165 | Int_t SetupTPC(); | |
166 | ||
167 | /** Setup correlation histograms */ | |
168 | Int_t SetupCorrelations(); | |
169 | ||
170 | /** Setup SPD histograms */ | |
171 | Int_t SetupSPD(); | |
172 | ||
173 | /* | |
174 | * --------------------------------------------------------------------------------- | |
175 | * Process - private | |
176 | * --------------------------------------------------------------------------------- | |
177 | */ | |
178 | ||
179 | /** Process current event - TPC */ | |
180 | Int_t ProcessTPC(); | |
181 | ||
182 | /** Process current event - SPD */ | |
183 | Int_t ProcessSPD(); | |
184 | ||
185 | /** Process current event - VZERO */ | |
186 | Int_t ProcessVZERO(); | |
187 | ||
188 | /** Process current event - ZDC and correlations */ | |
189 | Int_t ProcessZDC(); | |
190 | ||
191 | /* | |
192 | * --------------------------------------------------------------------------------- | |
193 | * Members - private | |
194 | * --------------------------------------------------------------------------------- | |
195 | */ | |
196 | ||
197 | TList *fHistList; // List of histograms | |
198 | ||
199 | Bool_t fIsMC; // If it is MC | |
200 | ||
201 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
202 | ||
203 | AliESDEvent *fESDEvent; //! Ptr to AliESDEvent | |
204 | AliESDZDC *fESDZDC; //! Ptr to ZDC object in AliESDEvent | |
205 | AliESDVZERO *fESDVZERO; //! Ptr to VZERO object in AliESDEvent | |
206 | AliMultiplicity *fESDMultiplicity; //! Ptr to AliMultiplicity in AliESDEvent | |
207 | AliESDtrackCuts *fESDTrackCuts; //! Ptr to AliESDtrackCuts | |
208 | AliESDtrackCuts *fESDTrackCuts2; //! Ptr to AliESDtrackCuts 2 | |
209 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
210 | ||
211 | Bool_t fCleanSample; // Enables 'grass' cleaning | |
212 | Float_t fCleanMinKeep; // Min of kept region | |
213 | Float_t fCleanMaxKeep; // Max of kept region | |
214 | ||
215 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
216 | ||
217 | Int_t fRunNo; // RunNo for corrections | |
218 | Int_t fCurrentRunNo; // Current RunNo | |
219 | ||
220 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
221 | ||
222 | Bool_t fProcessTPC; // Process TPC information | |
223 | Bool_t fProcessSPD; // Process SPD information | |
224 | Bool_t fProcessVZERO; // Process VZERO information | |
225 | Bool_t fProcessZDC; // Process ZDC information | |
226 | ||
227 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
228 | ||
229 | Int_t fEsdTracks; // N ESD tracks | |
230 | Int_t fEsdTracksA; // N ESD tracks accepted | |
231 | Int_t fTpcTracks; // N TPC tracks | |
232 | Int_t fTpcTracksA; // N TPC tracks accepted | |
233 | ||
234 | Float_t fVzeroMult; // VZERO multiplicity | |
235 | Float_t fVzeroMultA; // VZERO A multiplicity | |
236 | Float_t fVzeroMultC; // VZERO C multiplicity | |
237 | ||
238 | Float_t fSpdNClusters; // Spd N clusters | |
239 | Float_t fSpdNClustersInner; // Spd N clusters Inner | |
240 | Float_t fSpdNClustersOuter; // Spd N clusters Outer | |
241 | ||
242 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
243 | ||
244 | /** Binnning VZERO */ | |
f8b4d737 | 245 | Int_t fVzeroBinning; // VZERO Binning nbin |
246 | Float_t fVzeroBinningMin; // VZERO Binning min | |
247 | Float_t fVzeroBinningMax; // VZERO Binning max | |
44a84424 | 248 | |
249 | /** Binnning TPC */ | |
f8b4d737 | 250 | Int_t fTpcBinning; // TPC Binning nbin |
251 | Float_t fTpcBinningMin; // TPC Binning min | |
252 | Float_t fTpcBinningMax; // TPC Binning max | |
44a84424 | 253 | |
254 | /** Binnning ZDC */ | |
f8b4d737 | 255 | Int_t fZdcBinning; // ZDC Binning nbin |
256 | Float_t fZdcBinningMin; // ZDC Binning min | |
257 | Float_t fZdcBinningMax; // ZDC Binning max | |
44a84424 | 258 | |
259 | /** Binnning ZEM */ | |
f8b4d737 | 260 | Int_t fZemBinning; // ZEM Binning nbin |
261 | Float_t fZemBinningMin; // ZEM Binning min | |
262 | Float_t fZemBinningMax; // ZEM Binning may | |
44a84424 | 263 | |
264 | /** Binnning SPD */ | |
f8b4d737 | 265 | Int_t fSpdBinning; // SPD Binning nbin |
266 | Float_t fSpdBinningMin; // SPD Binning min | |
267 | Float_t fSpdBinningMax; // SPD Binning max | |
44a84424 | 268 | |
269 | ClassDef(AliMultiplicityCorrelations, 3); | |
270 | }; | |
271 | #endif |