- adding E_t - V0 correlations
[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
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