]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/Centrality/AliMultiplicityCorrelations.h
add trigger monitor plot (infoGen)
[u/mrichter/AliRoot.git] / PWG1 / Centrality / AliMultiplicityCorrelations.h
CommitLineData
44a84424 1//-*- Mode: C++ -*-
2
3// $Id: AliMultiplicityCorrelations.h $
4#ifndef ALIMULTIPLICITYCORRELATIONS_H
5#define ALIMULTIPLICITYCORRELATIONS_H
6
7
8/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
9 * See cxx source for full Copyright notice */
10
11// Correlation plots for multiplicity studies
12// Authors: Jochen Thaeder <jochen@thaeder.de>
13
14#include "AliLog.h"
15
16#include "AliESDtrackCuts.h"
17#include "AliESDEvent.h"
18#include "AliESDVZERO.h"
19#include "AliESDZDC.h"
20#include "AliMultiplicity.h"
21#include "TList.h"
22
23class TH1;
24
25class AliMultiplicityCorrelations : public TNamed {
26public:
27
28 /*
29 * ---------------------------------------------------------------------------------
30 * Constructor / Destructor
31 * ---------------------------------------------------------------------------------
32 */
33
34 /** Default Constructor */
35 AliMultiplicityCorrelations();
36
37 /** Constructor */
38 AliMultiplicityCorrelations(Char_t* name, Char_t* title);
39
40 /** Destructor */
41 ~AliMultiplicityCorrelations();
42
43 /*
44 * ---------------------------------------------------------------------------------
45 * Initialize / Setup / Reset - public
46 * ---------------------------------------------------------------------------------
47 */
48
49 /** Initialize class and members */
50 Int_t Initialize() { return Initialize(""); }
51
52 /** Initialize class and members */
53 Int_t Initialize( const Char_t* listName );
54
55 /*
56 * ---------------------------------------------------------------------------------
57 * Setter - public
58 * ---------------------------------------------------------------------------------
59 */
60
61 void SetIsMC() { fIsMC = kTRUE; }
62
63 /** Clean event sample */
64 void SetCleanSample(Float_t min, Float_t max) { fCleanSample = kTRUE; fCleanMinKeep = min; fCleanMaxKeep = max; }
65
66 /** Set ESD track cuts */
67 void SetESDTrackCuts(AliESDtrackCuts *cuts) { fESDTrackCuts = cuts; }
68 void SetESDTrackCuts2(AliESDtrackCuts *cuts) { fESDTrackCuts2 = cuts; }
69
70 /** Set SPD clusters from inner and outer layer */
71 void SetSPDClusters(Float_t inner, Float_t outer) { fSpdNClustersInner = inner; fSpdNClustersOuter = outer; }
72
73 /** Set Binning of VZERO */
74 void SetBinningVzero(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
75 fVzeroBinning = i; fVzeroBinningMin = f1; fVzeroBinningMax = f2;
76 }
77
78 /** Set Binning of TPC */
79 void SetBinningTpc(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
80 fTpcBinning = i; fTpcBinningMin = f1; fTpcBinningMax = f2;
81 }
82
83 /** Set Binning of ZDC */
84 void SetBinningZdc(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
85 fZdcBinning = i; fZdcBinningMin = f1; fZdcBinningMax = f2;
86 }
87
88 /** Set Binning of ZEM */
89 void SetBinningZem(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
90 fZemBinning = i; fZemBinningMin = f1; fZemBinningMax = f2;
91 }
92
93 /** Set Binning of SPD */
94 void SetBinningSpd(Int_t i=1, Float_t f1=0., Float_t f2=1.) {
95 fSpdBinning = i; fSpdBinningMin = f1; fSpdBinningMax = f2;
96 }
97
98 /** Enable / Disable detectors */
99 void SetProcessSPD(Bool_t b = kTRUE) { fProcessSPD = b; }
100 void SetProcessTPC(Bool_t b = kTRUE) { fProcessTPC = b; }
101 void SetProcessZDC(Bool_t b = kTRUE) { fProcessZDC = b; }
102 void SetProcessVZERO(Bool_t b = kTRUE){ fProcessVZERO = b; }
103
104 /*
105 * ---------------------------------------------------------------------------------
106 * Getter - public
107 * ---------------------------------------------------------------------------------
108 */
109
110 /** Get List of histograms */
f8b4d737 111 TList* GetHistList() const { return fHistList; }
112 Int_t GetNTracks() const { return fEsdTracksA; }
113 Int_t GetNTracksTPC() const { return fTpcTracksA; }
114 Float_t GetVZEROA() const { return fVzeroMultA; }
115 Float_t GetVZEROC() const { return fVzeroMultC; }
116 Float_t GetVZEROCorr() const { return fVzeroMult; }
44a84424 117
118 /*
119 * ---------------------------------------------------------------------------------
120 * Process - public
121 * ---------------------------------------------------------------------------------
122 */
123
124 /** Process current event */
125 Int_t ProcessEvent( AliESDEvent *esd );
126
127 ///////////////////////////////////////////////////////////////////////////////////
128
129 /** Corrected VZERO amplitude*/
130 Float_t GetCorrVZERO(Float_t &v0CorrResc);
131
132 /** Corrected SPD amplitude*/
f8b4d737 133 Float_t GetCorrSPD2(Float_t spd2raw,Float_t zv) const;
44a84424 134
135 private:
136
137 /** copy constructor prohibited */
138 AliMultiplicityCorrelations(const AliMultiplicityCorrelations&);
139
140 /** assignment operator prohibited */
141 AliMultiplicityCorrelations& operator=(const AliMultiplicityCorrelations&);
142
143 /*
144 * ---------------------------------------------------------------------------------
145 * Initialize / Setup / Reset - private
146 * ---------------------------------------------------------------------------------
147 */
148
149 /** Add esd object
150 * param esd Ptr to AliESDEvent
151 * return kTRUE if AliESDEvent and Vertex present
152 */
153 Bool_t AddESDEvent( AliESDEvent* esd );
154
155 /** Setup histograms */
156 Int_t SetupHistograms();
157
158 /** Setup VZERO histograms */
159 Int_t SetupVZERO();
160
161 /** Setup ZDC histograms */
162 Int_t SetupZDC();
163
164 /** Setup TPC histograms */
165 Int_t SetupTPC();
166
167 /** Setup correlation histograms */
168 Int_t SetupCorrelations();
169
170 /** Setup SPD histograms */
171 Int_t SetupSPD();
172
173 /*
174 * ---------------------------------------------------------------------------------
175 * Process - private
176 * ---------------------------------------------------------------------------------
177 */
178
179 /** Process current event - TPC */
180 Int_t ProcessTPC();
181
182 /** Process current event - SPD */
183 Int_t ProcessSPD();
184
185 /** Process current event - VZERO */
186 Int_t ProcessVZERO();
187
188 /** Process current event - ZDC and correlations */
189 Int_t ProcessZDC();
190
191 /*
192 * ---------------------------------------------------------------------------------
193 * Members - private
194 * ---------------------------------------------------------------------------------
195 */
196
197 TList *fHistList; // List of histograms
198
199 Bool_t fIsMC; // If it is MC
200
201 // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
202
203 AliESDEvent *fESDEvent; //! Ptr to AliESDEvent
204 AliESDZDC *fESDZDC; //! Ptr to ZDC object in AliESDEvent
205 AliESDVZERO *fESDVZERO; //! Ptr to VZERO object in AliESDEvent
206 AliMultiplicity *fESDMultiplicity; //! Ptr to AliMultiplicity in AliESDEvent
207 AliESDtrackCuts *fESDTrackCuts; //! Ptr to AliESDtrackCuts
208 AliESDtrackCuts *fESDTrackCuts2; //! Ptr to AliESDtrackCuts 2
209 // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
210
211 Bool_t fCleanSample; // Enables 'grass' cleaning
212 Float_t fCleanMinKeep; // Min of kept region
213 Float_t fCleanMaxKeep; // Max of kept region
214
215 // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
216
217 Int_t fRunNo; // RunNo for corrections
218 Int_t fCurrentRunNo; // Current RunNo
219
220 // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
221
222 Bool_t fProcessTPC; // Process TPC information
223 Bool_t fProcessSPD; // Process SPD information
224 Bool_t fProcessVZERO; // Process VZERO information
225 Bool_t fProcessZDC; // Process ZDC information
226
227 // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
228
229 Int_t fEsdTracks; // N ESD tracks
230 Int_t fEsdTracksA; // N ESD tracks accepted
231 Int_t fTpcTracks; // N TPC tracks
232 Int_t fTpcTracksA; // N TPC tracks accepted
233
234 Float_t fVzeroMult; // VZERO multiplicity
235 Float_t fVzeroMultA; // VZERO A multiplicity
236 Float_t fVzeroMultC; // VZERO C multiplicity
237
238 Float_t fSpdNClusters; // Spd N clusters
239 Float_t fSpdNClustersInner; // Spd N clusters Inner
240 Float_t fSpdNClustersOuter; // Spd N clusters Outer
241
242 // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
243
244 /** Binnning VZERO */
f8b4d737 245 Int_t fVzeroBinning; // VZERO Binning nbin
246 Float_t fVzeroBinningMin; // VZERO Binning min
247 Float_t fVzeroBinningMax; // VZERO Binning max
44a84424 248
249 /** Binnning TPC */
f8b4d737 250 Int_t fTpcBinning; // TPC Binning nbin
251 Float_t fTpcBinningMin; // TPC Binning min
252 Float_t fTpcBinningMax; // TPC Binning max
44a84424 253
254 /** Binnning ZDC */
f8b4d737 255 Int_t fZdcBinning; // ZDC Binning nbin
256 Float_t fZdcBinningMin; // ZDC Binning min
257 Float_t fZdcBinningMax; // ZDC Binning max
44a84424 258
259 /** Binnning ZEM */
f8b4d737 260 Int_t fZemBinning; // ZEM Binning nbin
261 Float_t fZemBinningMin; // ZEM Binning min
262 Float_t fZemBinningMax; // ZEM Binning may
44a84424 263
264 /** Binnning SPD */
f8b4d737 265 Int_t fSpdBinning; // SPD Binning nbin
266 Float_t fSpdBinningMin; // SPD Binning min
267 Float_t fSpdBinningMax; // SPD Binning max
44a84424 268
269 ClassDef(AliMultiplicityCorrelations, 3);
270};
271#endif