]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/global/physics/AliHLTMultiplicityCorrelations.h
Porting HLT doxygen documentation to cmake
[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
06f2306d 34/**
35 * @class AliHLTMultiplicityCorrelations
36 *
ebf7a8e8 37 * @ingroup alihlt_global
06f2306d 38 */
39
3632b728 40class AliHLTMultiplicityCorrelations : public TNamed, public AliHLTLogging {
06f2306d 41public:
42
43 /*
44 * ---------------------------------------------------------------------------------
45 * Constructor / Destructor
46 * ---------------------------------------------------------------------------------
47 */
48
3632b728 49 /** Default Constructor */
06f2306d 50 AliHLTMultiplicityCorrelations();
51
3632b728 52 /** Constructor */
53 AliHLTMultiplicityCorrelations(Char_t* name, Char_t* title);
54
06f2306d 55 /** Destructor */
56 ~AliHLTMultiplicityCorrelations();
57
58 /*
59 * ---------------------------------------------------------------------------------
60 * Initialize / Setup / Reset - public
61 * ---------------------------------------------------------------------------------
62 */
63
64 /** Initialize class and members */
65 Int_t Initialize();
66
3632b728 67 /** Initialize class and members */
68 Int_t Initialize( const Char_t* listName );
69
06f2306d 70 /*
71 * ---------------------------------------------------------------------------------
72 * Setter - public
73 * ---------------------------------------------------------------------------------
74 */
75
76 /** Set ESD track cuts */
77 void SetESDTrackCuts(AliESDtrackCuts *cuts) { fESDTrackCuts = cuts; }
78
571ad3a5 79 /** Set SPD clusters from inner and outer layer */
bed2cec0 80 void SetSPDClusters(Int_t inner, Int_t outer) {
81 fSpdNClustersInner = inner; fSpdNClustersOuter = outer;
82 }
571ad3a5 83
06f2306d 84 /** Set Binning of VZERO */
85 void SetBinningVzero(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
86 fVzeroBinning = i; fVzeroBinningMin = f1; fVzeroBinningMax = f2;
87 }
1bab8eb3 88
06f2306d 89 /** Set Binning of TPC */
90 void SetBinningTpc(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
91 fTpcBinning = i; fTpcBinningMin = f1; fTpcBinningMax = f2;
92 }
93
94 /** Set Binning of ZDC */
95 void SetBinningZdc(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
96 fZdcBinning = i; fZdcBinningMin = f1; fZdcBinningMax = f2;
97 }
98
99 /** Set Binning of ZEM */
100 void SetBinningZem(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
101 fZemBinning = i; fZemBinningMin = f1; fZemBinningMax = f2;
102 }
103
104 /** Set Binning of ZNP */
bed2cec0 105 void SetBinningZnp(Int_t /*i=1*/, Float_t /*f1=0.*/, Float_t /*f2=1.*/) {;}
06f2306d 106
a75a9dbe 107 /** Set Binning of CALO */
bed2cec0 108 void SetBinningCalo(Int_t /*i=1*/, Float_t /*f1=0.*/, Float_t /*f2=1.*/) {;}
a75a9dbe 109
6c552baa 110 /** Set Binning of SPD */
111 void SetBinningSpd(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
112 fSpdBinning = i; fSpdBinningMin = f1; fSpdBinningMax = f2;
113 }
114
43653719 115 /** Set process PHOS */
bed2cec0 116 void SetProcessPhos(Bool_t /*b=kTRUE*/) {;}
43653719 117 /** Set process EMCAL */
bed2cec0 118 void SetProcessEmcal(Bool_t /*b=kTRUE*/) {;}
60f79eda 119
120 /** Enable / Disable detectors */
bed2cec0 121 void SetProcessCALO(Bool_t /*b = kTRUE*/) {;}
60f79eda 122 void SetProcessSPD(Bool_t b = kTRUE) { fProcessSPD = b; }
123 void SetProcessTPC(Bool_t b = kTRUE) { fProcessTPC = b; }
124 void SetProcessZDC(Bool_t b = kTRUE) { fProcessZDC = b; }
125 void SetProcessVZERO(Bool_t b = kTRUE){ fProcessVZERO = b; }
82647f59 126 void SetProcessCentrality(Bool_t b = kTRUE){ fProcessCentrality = b; }
127
128 /** Centrality Estimator */
129 void SetCentralityEstimator(TH1F* hist) { fCentHistV0Mpercentile = hist; }
43653719 130
06f2306d 131 /*
132 * ---------------------------------------------------------------------------------
133 * Getter - public
134 * ---------------------------------------------------------------------------------
135 */
136
137 /** Get List of histograms */
138 TList* GetHistList() const { return fHistList; }
139
140 /*
141 * ---------------------------------------------------------------------------------
142 * Process - public
143 * ---------------------------------------------------------------------------------
144 */
145
146 /** Process current event */
82647f59 147 Int_t ProcessEvent( AliESDEvent *esd, AliESDVZERO* esdVZERO, Int_t nSpdClusters);
6c552baa 148
149 Int_t ProcessEvent( AliESDEvent *esd ) {
11e88ff8 150 return ProcessEvent(esd, NULL, 0);
6c552baa 151 }
152
06f2306d 153
154 ///////////////////////////////////////////////////////////////////////////////////
155
156 private:
157
158 /** copy constructor prohibited */
159 AliHLTMultiplicityCorrelations(const AliHLTMultiplicityCorrelations&);
160
161 /** assignment operator prohibited */
162 AliHLTMultiplicityCorrelations& operator=(const AliHLTMultiplicityCorrelations&);
163
164 /*
165 * ---------------------------------------------------------------------------------
166 * Initialize / Setup / Reset - private
167 * ---------------------------------------------------------------------------------
168 */
169
170 /** Add esd object
171 * param esd Ptr to AliESDEvent
172 * return kTRUE if AliESDEvent and Vertex present
173 */
174 Bool_t AddESDEvent( AliESDEvent* esd );
175
176 /** Setup histograms */
177 Int_t SetupHistograms();
178
179 /** Setup VZERO histograms */
180 Int_t SetupVZERO();
181
182 /** Setup ZDC histograms */
183 Int_t SetupZDC();
184
185 /** Setup TPC histograms */
186 Int_t SetupTPC();
187
188 /** Setup correlation histograms */
189 Int_t SetupCorrelations();
a75a9dbe 190
6c552baa 191 /** Setup SPD histograms */
192 Int_t SetupSPD();
193
82647f59 194 /** Setup Centrality histograms */
195 Int_t SetupCentrality();
196
06f2306d 197 /*
198 * ---------------------------------------------------------------------------------
199 * Process - private
200 * ---------------------------------------------------------------------------------
201 */
202
203 /** Process current event - TPC */
204 Int_t ProcessTPC();
6c552baa 205
206 /** Process current event - SPD */
207 Int_t ProcessSPD();
06f2306d 208
209 /** Process current event - VZERO */
210 Int_t ProcessVZERO();
211
212 /** Process current event - ZDC and correlations */
213 Int_t ProcessZDC();
82647f59 214
215 /** Process current event - centrality */
216 Int_t ProcessCentrality();
217
06f2306d 218 /*
219 * ---------------------------------------------------------------------------------
220 * Members - private
221 * ---------------------------------------------------------------------------------
222 */
223
224 /** List of histograms */
225 TList *fHistList; // see above
226
227 /** Ptr to AliESDEvent */
228 AliESDEvent *fESDEvent; //! transient
229
230 /** Ptr to ZDC object in AliESDEvent*/
231 AliESDZDC *fESDZDC; //! transient
232
233 /** Ptr to VZERO object in AliESDEvent*/
234 AliESDVZERO *fESDVZERO; //! transient
235
236 /** Ptr to AliESD track cuts */
237 AliESDtrackCuts *fESDTrackCuts; //! transient
238
82647f59 239 /** Centrality Estimator */
240 TH1F* fCentHistV0Mpercentile; //! transient
241
06f2306d 242 // -- -- -- -- -- -- -- -- -- -- -- -- -- --
243
60f79eda 244 /** Process TPC information */
1bab8eb3 245 Bool_t fProcessTPC; // see above
60f79eda 246
247 /** Process SPD information */
1bab8eb3 248 Bool_t fProcessSPD; // see above
60f79eda 249
250 /** Process VZERO information */
1bab8eb3 251 Bool_t fProcessVZERO; // see above
60f79eda 252
253 /** Process ZDC information */
1bab8eb3 254 Bool_t fProcessZDC; // see above
60f79eda 255
82647f59 256 /** Process Centrality information */
257 Bool_t fProcessCentrality; // see above
258
60f79eda 259 // -- -- -- -- -- -- -- -- -- -- -- -- -- --
260
06f2306d 261 /** N ESD tracks */
1bab8eb3 262 Int_t fEsdTracks; // see above
06f2306d 263
264 /** N ESD tracks accepted */
1bab8eb3 265 Int_t fEsdTracksA; // see above
06f2306d 266
267 /** N TPC tracks */
1bab8eb3 268 Int_t fTpcTracks; // see above
06f2306d 269
270 /** N TPC tracks accepted */
1bab8eb3 271 Int_t fTpcTracksA; // see above
06f2306d 272
bed2cec0 273 /** N Reference TPC tracks */
274 Int_t fTpcTracksRef; // see above
275
06f2306d 276 /** VZERO mult */
1bab8eb3 277 Float_t fVzeroMult; // see above
06f2306d 278
bed2cec0 279 /** VZERO trigger mult */
280 Float_t fVzeroTriggerMult; // see above
06f2306d 281
6c552baa 282 /** Spd N clusters */
1bab8eb3 283 Int_t fSpdNClusters; // see above
6c552baa 284
571ad3a5 285 /** Spd N clusters inner layer*/
1bab8eb3 286 Int_t fSpdNClustersInner; // see above
571ad3a5 287
288 /** Spd N clusters outer layer */
1bab8eb3 289 Int_t fSpdNClustersOuter; // see above
571ad3a5 290
06f2306d 291 // -- -- --
292
293 /** Binnning VZERO */
1bab8eb3 294 Int_t fVzeroBinning; // see above
295 Float_t fVzeroBinningMin; // see above
296 Float_t fVzeroBinningMax; // see above
06f2306d 297
298 /** Binnning TPC */
1bab8eb3 299 Int_t fTpcBinning; // see above
300 Float_t fTpcBinningMin; // see above
301 Float_t fTpcBinningMax; // see above
06f2306d 302
303 /** Binnning ZDC */
1bab8eb3 304 Int_t fZdcBinning; // see above
305 Float_t fZdcBinningMin; // see above
306 Float_t fZdcBinningMax; // see above
06f2306d 307
308 /** Binnning ZEM */
1bab8eb3 309 Int_t fZemBinning; // see above
310 Float_t fZemBinningMin; // see above
311 Float_t fZemBinningMax; // see above
06f2306d 312
6c552baa 313 /** Binnning SPD */
1bab8eb3 314 Int_t fSpdBinning; // see above
315 Float_t fSpdBinningMin; // see above
316 Float_t fSpdBinningMax; // see above
a75a9dbe 317
82647f59 318 ClassDef(AliHLTMultiplicityCorrelations, 4);
06f2306d 319};
320#endif