]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/Centrality/AliMultiplicityCorrelations.h
remove unneccassary TStopWatch
[u/mrichter/AliRoot.git] / PWGPP / Centrality / AliMultiplicityCorrelations.h
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
23 class TH1;
24
25 class AliMultiplicityCorrelations : public TNamed {
26 public:
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 */
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; }
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*/
133   Float_t GetCorrSPD2(Float_t spd2raw,Float_t zv) const;
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 */
245   Int_t   fVzeroBinning;                  // VZERO Binning nbin
246   Float_t fVzeroBinningMin;               // VZERO Binning min  
247   Float_t fVzeroBinningMax;               // VZERO Binning max
248
249   /** Binnning TPC */
250   Int_t   fTpcBinning;                    // TPC Binning nbin
251   Float_t fTpcBinningMin;                 // TPC Binning min
252   Float_t fTpcBinningMax;                 // TPC Binning max
253
254   /** Binnning ZDC */
255   Int_t   fZdcBinning;                    // ZDC Binning nbin
256   Float_t fZdcBinningMin;                 // ZDC Binning min
257   Float_t fZdcBinningMax;                 // ZDC Binning max
258
259   /** Binnning ZEM */
260   Int_t   fZemBinning;                    // ZEM Binning nbin
261   Float_t fZemBinningMin;                 // ZEM Binning min
262   Float_t fZemBinningMax;                 // ZEM Binning may
263
264   /** Binnning SPD */
265   Int_t   fSpdBinning;                    // SPD Binning nbin
266   Float_t fSpdBinningMin;                 // SPD Binning min
267   Float_t fSpdBinningMax;                 // SPD Binning max
268   
269   ClassDef(AliMultiplicityCorrelations, 3);
270 };
271 #endif