]>
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 | ||
06f2306d | 34 | /** |
35 | * @class AliHLTMultiplicityCorrelations | |
36 | * | |
ebf7a8e8 | 37 | * @ingroup alihlt_global |
06f2306d | 38 | */ |
39 | ||
3632b728 | 40 | class AliHLTMultiplicityCorrelations : public TNamed, public AliHLTLogging { |
06f2306d | 41 | public: |
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 |