]>
Commit | Line | Data |
---|---|---|
06f2306d | 1 | //-*- Mode: C++ -*- |
2 | ||
3 | // $Id: AliHLTMultiplicityCorrelations.h $ | |
4 | #ifndef ALIHLTMULTIPLICITYCORRELATIONS_H | |
5 | #define ALIHLTMULTIPLICITYCORRELATIONS_H | |
6 | ||
7 | /* This file is property of and copyright by the ALICE HLT Project * | |
8 | * ALICE Experiment at CERN, All rights reserved. * | |
9 | * See cxx source for full Copyright notice */ | |
10 | ||
11 | /** @file AliHLTMultiplicityCorrelations.h | |
12 | @author Jochen Thaeder | |
13 | @date | |
14 | @brief Correlation plots for multiplicity studies | |
15 | */ | |
16 | ||
17 | // see below for class documentation | |
18 | // or | |
19 | // refer to README to build package | |
20 | // or | |
21 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
22 | ||
23 | #include "AliHLTLogging.h" | |
24 | ||
25 | #include "AliESDtrackCuts.h" | |
26 | #include "AliESDEvent.h" | |
27 | #include "AliESDVZERO.h" | |
28 | #include "AliESDZDC.h" | |
29 | ||
30 | #include "TList.h" | |
31 | ||
32 | class TH1; | |
33 | ||
34 | ||
35 | /** | |
36 | * @class AliHLTMultiplicityCorrelations | |
37 | * | |
38 | * @ingroup alihlt_physics | |
39 | */ | |
40 | ||
41 | class AliHLTMultiplicityCorrelations : public TObject, public AliHLTLogging { | |
42 | public: | |
43 | ||
44 | /* | |
45 | * --------------------------------------------------------------------------------- | |
46 | * Constructor / Destructor | |
47 | * --------------------------------------------------------------------------------- | |
48 | */ | |
49 | ||
50 | /** Constructor */ | |
51 | AliHLTMultiplicityCorrelations(); | |
52 | ||
53 | /** Destructor */ | |
54 | ~AliHLTMultiplicityCorrelations(); | |
55 | ||
56 | /* | |
57 | * --------------------------------------------------------------------------------- | |
58 | * Initialize / Setup / Reset - public | |
59 | * --------------------------------------------------------------------------------- | |
60 | */ | |
61 | ||
62 | /** Initialize class and members */ | |
63 | Int_t Initialize(); | |
64 | ||
65 | /* | |
66 | * --------------------------------------------------------------------------------- | |
67 | * Setter - public | |
68 | * --------------------------------------------------------------------------------- | |
69 | */ | |
70 | ||
71 | /** Set ESD track cuts */ | |
72 | void SetESDTrackCuts(AliESDtrackCuts *cuts) { fESDTrackCuts = cuts; } | |
73 | ||
74 | /** Set Binning of VZERO */ | |
75 | void SetBinningVzero(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
76 | fVzeroBinning = i; fVzeroBinningMin = f1; fVzeroBinningMax = f2; | |
77 | } | |
78 | ||
79 | /** Set Binning of TPC */ | |
80 | void SetBinningTpc(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
81 | fTpcBinning = i; fTpcBinningMin = f1; fTpcBinningMax = f2; | |
82 | } | |
83 | ||
84 | /** Set Binning of ZDC */ | |
85 | void SetBinningZdc(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
86 | fZdcBinning = i; fZdcBinningMin = f1; fZdcBinningMax = f2; | |
87 | } | |
88 | ||
89 | /** Set Binning of ZEM */ | |
90 | void SetBinningZem(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
91 | fZemBinning = i; fZemBinningMin = f1; fZemBinningMax = f2; | |
92 | } | |
93 | ||
94 | /** Set Binning of ZNP */ | |
95 | void SetBinningZnp(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
96 | fZnpBinning = i; fZnpBinningMin = f1; fZnpBinningMax = f2; | |
97 | } | |
98 | ||
a75a9dbe | 99 | /** Set Binning of CALO */ |
100 | void SetBinningCalo(Int_t i=1, Float_t f1=0., Float_t f2=1.) { | |
101 | fCaloBinning = i; fCaloBinningMin = f1; fCaloBinningMax = f2; | |
102 | } | |
103 | ||
43653719 | 104 | /** Set process PHOS */ |
105 | void SetProcessPhos(Bool_t v = true) { | |
106 | fProcessPhos = v; | |
107 | } | |
108 | /** Set process EMCAL */ | |
109 | void SetProcessEmcal(Bool_t v = true) { | |
110 | fProcessEmcal = v; | |
111 | } | |
112 | ||
06f2306d | 113 | /* |
114 | * --------------------------------------------------------------------------------- | |
115 | * Getter - public | |
116 | * --------------------------------------------------------------------------------- | |
117 | */ | |
118 | ||
119 | /** Get List of histograms */ | |
120 | TList* GetHistList() const { return fHistList; } | |
121 | ||
122 | /* | |
123 | * --------------------------------------------------------------------------------- | |
124 | * Process - public | |
125 | * --------------------------------------------------------------------------------- | |
126 | */ | |
127 | ||
128 | /** Process current event */ | |
129 | Int_t ProcessEvent( AliESDEvent *esd ); | |
130 | ||
131 | /////////////////////////////////////////////////////////////////////////////////// | |
132 | ||
133 | private: | |
134 | ||
135 | /** copy constructor prohibited */ | |
136 | AliHLTMultiplicityCorrelations(const AliHLTMultiplicityCorrelations&); | |
137 | ||
138 | /** assignment operator prohibited */ | |
139 | AliHLTMultiplicityCorrelations& operator=(const AliHLTMultiplicityCorrelations&); | |
140 | ||
141 | /* | |
142 | * --------------------------------------------------------------------------------- | |
143 | * Initialize / Setup / Reset - private | |
144 | * --------------------------------------------------------------------------------- | |
145 | */ | |
146 | ||
147 | /** Add esd object | |
148 | * param esd Ptr to AliESDEvent | |
149 | * return kTRUE if AliESDEvent and Vertex present | |
150 | */ | |
151 | Bool_t AddESDEvent( AliESDEvent* esd ); | |
152 | ||
153 | /** Setup histograms */ | |
154 | Int_t SetupHistograms(); | |
155 | ||
156 | /** Setup VZERO histograms */ | |
157 | Int_t SetupVZERO(); | |
158 | ||
159 | /** Setup ZDC histograms */ | |
160 | Int_t SetupZDC(); | |
161 | ||
162 | /** Setup TPC histograms */ | |
163 | Int_t SetupTPC(); | |
164 | ||
165 | /** Setup correlation histograms */ | |
166 | Int_t SetupCorrelations(); | |
a75a9dbe | 167 | |
168 | /** Setup CALO histograms */ | |
169 | Int_t SetupCALO(); | |
06f2306d | 170 | |
171 | /* | |
172 | * --------------------------------------------------------------------------------- | |
173 | * Process - private | |
174 | * --------------------------------------------------------------------------------- | |
175 | */ | |
176 | ||
177 | /** Process current event - TPC */ | |
178 | Int_t ProcessTPC(); | |
179 | ||
180 | /** Process current event - VZERO */ | |
181 | Int_t ProcessVZERO(); | |
182 | ||
183 | /** Process current event - ZDC and correlations */ | |
184 | Int_t ProcessZDC(); | |
a75a9dbe | 185 | |
186 | /** Process current event - CALO */ | |
187 | Int_t ProcessCALO(); | |
188 | ||
189 | ||
06f2306d | 190 | |
191 | /* | |
192 | * --------------------------------------------------------------------------------- | |
193 | * Members - private | |
194 | * --------------------------------------------------------------------------------- | |
195 | */ | |
196 | ||
197 | /** List of histograms */ | |
198 | TList *fHistList; // see above | |
199 | ||
200 | /** Ptr to AliESDEvent */ | |
201 | AliESDEvent *fESDEvent; //! transient | |
202 | ||
203 | /** Ptr to ZDC object in AliESDEvent*/ | |
204 | AliESDZDC *fESDZDC; //! transient | |
205 | ||
206 | /** Ptr to VZERO object in AliESDEvent*/ | |
207 | AliESDVZERO *fESDVZERO; //! transient | |
208 | ||
209 | /** Ptr to AliESD track cuts */ | |
210 | AliESDtrackCuts *fESDTrackCuts; //! transient | |
211 | ||
212 | // -- -- -- -- -- -- -- -- -- -- -- -- -- -- | |
213 | ||
214 | /** N ESD tracks */ | |
215 | Int_t fEsdTracks; | |
216 | ||
217 | /** N ESD tracks accepted */ | |
218 | Int_t fEsdTracksA; | |
219 | ||
220 | /** N TPC tracks */ | |
221 | Int_t fTpcTracks; | |
222 | ||
223 | /** N TPC tracks accepted */ | |
224 | Int_t fTpcTracksA; | |
225 | ||
226 | /** VZERO mult */ | |
227 | Float_t fVzeroMult; | |
228 | ||
229 | /** VZERO mult A */ | |
230 | Float_t fVzeroMultA; | |
231 | ||
232 | /** VZERO mult C */ | |
233 | Float_t fVzeroMultC; | |
234 | ||
235 | /** VZERO flagged mult */ | |
236 | Float_t fVzeroMultFlagged; | |
237 | ||
238 | /** VZERO flagged mult A */ | |
239 | Float_t fVzeroMultFlaggedA; | |
240 | ||
241 | /** VZERO flagged mult C */ | |
242 | Float_t fVzeroMultFlaggedC; | |
243 | ||
244 | // -- -- -- | |
245 | ||
246 | /** Binnning VZERO */ | |
247 | Int_t fVzeroBinning; | |
248 | Float_t fVzeroBinningMin; | |
249 | Float_t fVzeroBinningMax; | |
250 | ||
251 | /** Binnning TPC */ | |
252 | Int_t fTpcBinning; | |
253 | Float_t fTpcBinningMin; | |
254 | Float_t fTpcBinningMax; | |
255 | ||
256 | /** Binnning ZDC */ | |
257 | Int_t fZdcBinning; | |
258 | Float_t fZdcBinningMin; | |
259 | Float_t fZdcBinningMax; | |
260 | ||
261 | /** Binnning ZEM */ | |
262 | Int_t fZemBinning; | |
263 | Float_t fZemBinningMin; | |
264 | Float_t fZemBinningMax; | |
265 | ||
266 | /** Binnning ZNP */ | |
267 | Int_t fZnpBinning; | |
268 | Float_t fZnpBinningMin; | |
269 | Float_t fZnpBinningMax; | |
270 | ||
a75a9dbe | 271 | /** CALO flags */ |
272 | Bool_t fProcessPhos; | |
273 | Bool_t fProcessEmcal; | |
274 | ||
275 | /** CALO variables */ | |
276 | Float_t fPhosTotalEt; | |
277 | Float_t fEmcalTotalEt; | |
278 | ||
279 | /** Binnning CALO */ | |
280 | Int_t fCaloBinning; | |
281 | Float_t fCaloBinningMin; | |
282 | Float_t fCaloBinningMax; | |
283 | ||
06f2306d | 284 | ClassDef(AliHLTMultiplicityCorrelations, 1); |
285 | }; | |
286 | #endif |