- activated the DCAr, DCAz as calculated during the HLT reconstruction
[u/mrichter/AliRoot.git] / HLT / global / physics / AliHLTMultiplicityCorrelations.h
CommitLineData
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
32class TH1;
33
34
35/**
36 * @class AliHLTMultiplicityCorrelations
37 *
38 * @ingroup alihlt_physics
39 */
40
41class AliHLTMultiplicityCorrelations : public TObject, public AliHLTLogging {
42public:
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
571ad3a5 74 /** Set SPD clusters from inner and outer layer */
75 void SetSPDClusters(Int_t inner, Int_t outer) { fSpdNClustersInner = inner; fSpdNClustersOuter = outer; }
76
06f2306d 77 /** Set Binning of VZERO */
78 void SetBinningVzero(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
79 fVzeroBinning = i; fVzeroBinningMin = f1; fVzeroBinningMax = f2;
80 }
81
82 /** Set Binning of TPC */
83 void SetBinningTpc(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
84 fTpcBinning = i; fTpcBinningMin = f1; fTpcBinningMax = f2;
85 }
86
87 /** Set Binning of ZDC */
88 void SetBinningZdc(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
89 fZdcBinning = i; fZdcBinningMin = f1; fZdcBinningMax = f2;
90 }
91
92 /** Set Binning of ZEM */
93 void SetBinningZem(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
94 fZemBinning = i; fZemBinningMin = f1; fZemBinningMax = f2;
95 }
96
97 /** Set Binning of ZNP */
98 void SetBinningZnp(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
99 fZnpBinning = i; fZnpBinningMin = f1; fZnpBinningMax = f2;
100 }
101
a75a9dbe 102 /** Set Binning of CALO */
103 void SetBinningCalo(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
104 fCaloBinning = i; fCaloBinningMin = f1; fCaloBinningMax = f2;
105 }
106
6c552baa 107 /** Set Binning of SPD */
108 void SetBinningSpd(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
109 fSpdBinning = i; fSpdBinningMin = f1; fSpdBinningMax = f2;
110 }
111
43653719 112 /** Set process PHOS */
113 void SetProcessPhos(Bool_t v = true) {
114 fProcessPhos = v;
115 }
116 /** Set process EMCAL */
117 void SetProcessEmcal(Bool_t v = true) {
118 fProcessEmcal = v;
119 }
120
06f2306d 121 /*
122 * ---------------------------------------------------------------------------------
123 * Getter - public
124 * ---------------------------------------------------------------------------------
125 */
126
127 /** Get List of histograms */
128 TList* GetHistList() const { return fHistList; }
129
130 /*
131 * ---------------------------------------------------------------------------------
132 * Process - public
133 * ---------------------------------------------------------------------------------
134 */
135
136 /** Process current event */
11e88ff8 137 Int_t ProcessEvent( AliESDEvent *esd, AliESDVZERO* esdVZERO, Int_t nSpdClusters );
6c552baa 138
139 Int_t ProcessEvent( AliESDEvent *esd ) {
11e88ff8 140 return ProcessEvent(esd, NULL, 0);
6c552baa 141 }
142
06f2306d 143
144 ///////////////////////////////////////////////////////////////////////////////////
145
146 private:
147
148 /** copy constructor prohibited */
149 AliHLTMultiplicityCorrelations(const AliHLTMultiplicityCorrelations&);
150
151 /** assignment operator prohibited */
152 AliHLTMultiplicityCorrelations& operator=(const AliHLTMultiplicityCorrelations&);
153
154 /*
155 * ---------------------------------------------------------------------------------
156 * Initialize / Setup / Reset - private
157 * ---------------------------------------------------------------------------------
158 */
159
160 /** Add esd object
161 * param esd Ptr to AliESDEvent
162 * return kTRUE if AliESDEvent and Vertex present
163 */
164 Bool_t AddESDEvent( AliESDEvent* esd );
165
166 /** Setup histograms */
167 Int_t SetupHistograms();
168
169 /** Setup VZERO histograms */
170 Int_t SetupVZERO();
171
172 /** Setup ZDC histograms */
173 Int_t SetupZDC();
174
175 /** Setup TPC histograms */
176 Int_t SetupTPC();
177
178 /** Setup correlation histograms */
179 Int_t SetupCorrelations();
a75a9dbe 180
181 /** Setup CALO histograms */
182 Int_t SetupCALO();
06f2306d 183
6c552baa 184 /** Setup SPD histograms */
185 Int_t SetupSPD();
186
06f2306d 187 /*
188 * ---------------------------------------------------------------------------------
189 * Process - private
190 * ---------------------------------------------------------------------------------
191 */
192
193 /** Process current event - TPC */
194 Int_t ProcessTPC();
6c552baa 195
196 /** Process current event - SPD */
197 Int_t ProcessSPD();
06f2306d 198
199 /** Process current event - VZERO */
200 Int_t ProcessVZERO();
201
202 /** Process current event - ZDC and correlations */
203 Int_t ProcessZDC();
a75a9dbe 204
205 /** Process current event - CALO */
206 Int_t ProcessCALO();
207
06f2306d 208 /*
209 * ---------------------------------------------------------------------------------
210 * Members - private
211 * ---------------------------------------------------------------------------------
212 */
213
214 /** List of histograms */
215 TList *fHistList; // see above
216
217 /** Ptr to AliESDEvent */
218 AliESDEvent *fESDEvent; //! transient
219
220 /** Ptr to ZDC object in AliESDEvent*/
221 AliESDZDC *fESDZDC; //! transient
222
223 /** Ptr to VZERO object in AliESDEvent*/
224 AliESDVZERO *fESDVZERO; //! transient
225
226 /** Ptr to AliESD track cuts */
227 AliESDtrackCuts *fESDTrackCuts; //! transient
228
229 // -- -- -- -- -- -- -- -- -- -- -- -- -- --
230
231 /** N ESD tracks */
232 Int_t fEsdTracks;
233
234 /** N ESD tracks accepted */
235 Int_t fEsdTracksA;
236
237 /** N TPC tracks */
238 Int_t fTpcTracks;
239
240 /** N TPC tracks accepted */
241 Int_t fTpcTracksA;
242
243 /** VZERO mult */
244 Float_t fVzeroMult;
245
246 /** VZERO mult A */
247 Float_t fVzeroMultA;
248
249 /** VZERO mult C */
250 Float_t fVzeroMultC;
251
252 /** VZERO flagged mult */
253 Float_t fVzeroMultFlagged;
254
255 /** VZERO flagged mult A */
256 Float_t fVzeroMultFlaggedA;
257
258 /** VZERO flagged mult C */
259 Float_t fVzeroMultFlaggedC;
260
6c552baa 261 /** Spd N clusters */
262 Int_t fSpdNClusters;
263
571ad3a5 264 /** Spd N clusters inner layer*/
265 Int_t fSpdNClustersInner;
266
267 /** Spd N clusters outer layer */
268 Int_t fSpdNClustersOuter;
269
06f2306d 270 // -- -- --
271
272 /** Binnning VZERO */
273 Int_t fVzeroBinning;
274 Float_t fVzeroBinningMin;
275 Float_t fVzeroBinningMax;
276
277 /** Binnning TPC */
278 Int_t fTpcBinning;
279 Float_t fTpcBinningMin;
280 Float_t fTpcBinningMax;
281
282 /** Binnning ZDC */
283 Int_t fZdcBinning;
284 Float_t fZdcBinningMin;
285 Float_t fZdcBinningMax;
286
287 /** Binnning ZEM */
288 Int_t fZemBinning;
289 Float_t fZemBinningMin;
290 Float_t fZemBinningMax;
291
292 /** Binnning ZNP */
293 Int_t fZnpBinning;
294 Float_t fZnpBinningMin;
295 Float_t fZnpBinningMax;
296
a75a9dbe 297 /** CALO flags */
298 Bool_t fProcessPhos;
299 Bool_t fProcessEmcal;
300
301 /** CALO variables */
302 Float_t fPhosTotalEt;
303 Float_t fEmcalTotalEt;
304
305 /** Binnning CALO */
306 Int_t fCaloBinning;
307 Float_t fCaloBinningMin;
308 Float_t fCaloBinningMax;
6c552baa 309
310 /** Binnning SPD */
311 Int_t fSpdBinning;
312 Float_t fSpdBinningMin;
313 Float_t fSpdBinningMax;
a75a9dbe 314
06f2306d 315 ClassDef(AliHLTMultiplicityCorrelations, 1);
316};
317#endif