- temporary fix for an issue related to getting the energy correction
[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
99 /*
100 * ---------------------------------------------------------------------------------
101 * Getter - public
102 * ---------------------------------------------------------------------------------
103 */
104
105 /** Get List of histograms */
106 TList* GetHistList() const { return fHistList; }
107
108 /*
109 * ---------------------------------------------------------------------------------
110 * Process - public
111 * ---------------------------------------------------------------------------------
112 */
113
114 /** Process current event */
115 Int_t ProcessEvent( AliESDEvent *esd );
116
117 ///////////////////////////////////////////////////////////////////////////////////
118
119 private:
120
121 /** copy constructor prohibited */
122 AliHLTMultiplicityCorrelations(const AliHLTMultiplicityCorrelations&);
123
124 /** assignment operator prohibited */
125 AliHLTMultiplicityCorrelations& operator=(const AliHLTMultiplicityCorrelations&);
126
127 /*
128 * ---------------------------------------------------------------------------------
129 * Initialize / Setup / Reset - private
130 * ---------------------------------------------------------------------------------
131 */
132
133 /** Add esd object
134 * param esd Ptr to AliESDEvent
135 * return kTRUE if AliESDEvent and Vertex present
136 */
137 Bool_t AddESDEvent( AliESDEvent* esd );
138
139 /** Setup histograms */
140 Int_t SetupHistograms();
141
142 /** Setup VZERO histograms */
143 Int_t SetupVZERO();
144
145 /** Setup ZDC histograms */
146 Int_t SetupZDC();
147
148 /** Setup TPC histograms */
149 Int_t SetupTPC();
150
151 /** Setup correlation histograms */
152 Int_t SetupCorrelations();
153
154 /*
155 * ---------------------------------------------------------------------------------
156 * Process - private
157 * ---------------------------------------------------------------------------------
158 */
159
160 /** Process current event - TPC */
161 Int_t ProcessTPC();
162
163 /** Process current event - VZERO */
164 Int_t ProcessVZERO();
165
166 /** Process current event - ZDC and correlations */
167 Int_t ProcessZDC();
168
169 /*
170 * ---------------------------------------------------------------------------------
171 * Members - private
172 * ---------------------------------------------------------------------------------
173 */
174
175 /** List of histograms */
176 TList *fHistList; // see above
177
178 /** Ptr to AliESDEvent */
179 AliESDEvent *fESDEvent; //! transient
180
181 /** Ptr to ZDC object in AliESDEvent*/
182 AliESDZDC *fESDZDC; //! transient
183
184 /** Ptr to VZERO object in AliESDEvent*/
185 AliESDVZERO *fESDVZERO; //! transient
186
187 /** Ptr to AliESD track cuts */
188 AliESDtrackCuts *fESDTrackCuts; //! transient
189
190 // -- -- -- -- -- -- -- -- -- -- -- -- -- --
191
192 /** N ESD tracks */
193 Int_t fEsdTracks;
194
195 /** N ESD tracks accepted */
196 Int_t fEsdTracksA;
197
198 /** N TPC tracks */
199 Int_t fTpcTracks;
200
201 /** N TPC tracks accepted */
202 Int_t fTpcTracksA;
203
204 /** VZERO mult */
205 Float_t fVzeroMult;
206
207 /** VZERO mult A */
208 Float_t fVzeroMultA;
209
210 /** VZERO mult C */
211 Float_t fVzeroMultC;
212
213 /** VZERO flagged mult */
214 Float_t fVzeroMultFlagged;
215
216 /** VZERO flagged mult A */
217 Float_t fVzeroMultFlaggedA;
218
219 /** VZERO flagged mult C */
220 Float_t fVzeroMultFlaggedC;
221
222 // -- -- --
223
224 /** Binnning VZERO */
225 Int_t fVzeroBinning;
226 Float_t fVzeroBinningMin;
227 Float_t fVzeroBinningMax;
228
229 /** Binnning TPC */
230 Int_t fTpcBinning;
231 Float_t fTpcBinningMin;
232 Float_t fTpcBinningMax;
233
234 /** Binnning ZDC */
235 Int_t fZdcBinning;
236 Float_t fZdcBinningMin;
237 Float_t fZdcBinningMax;
238
239 /** Binnning ZEM */
240 Int_t fZemBinning;
241 Float_t fZemBinningMin;
242 Float_t fZemBinningMax;
243
244 /** Binnning ZNP */
245 Int_t fZnpBinning;
246 Float_t fZnpBinningMin;
247 Float_t fZnpBinningMax;
248
249 ClassDef(AliHLTMultiplicityCorrelations, 1);
250};
251#endif