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 | |
34 | |
35 | /** |
36 | * @class AliHLTMultiplicityCorrelations |
37 | * |
38 | * @ingroup alihlt_physics |
39 | */ |
40 | |
41 | class AliHLTMultiplicityCorrelations : public TObject, public AliHLTLogging { |
42 | public: |
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 |