bad48a5942c4f74db6cd7da1f335b990069ef98f
[u/mrichter/AliRoot.git] / ANALYSIS / AliCentralitySelectionTask.h
1 #ifndef ALICENTRALITYSELECTIONTASK_H
2 #define ALICENTRALITYSELECTIONTASK_H
3
4 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //*****************************************************
8 //   Class AliCentralitySelectionTask
9 //   author: Alberica Toia
10 //*****************************************************
11
12 #include "AliAnalysisTaskSE.h"
13
14 class TFile;
15 class TH2F;
16
17 class AliCentralitySelectionTask : public AliAnalysisTaskSE {
18
19  public:
20
21   AliCentralitySelectionTask();
22   AliCentralitySelectionTask(const char *name);
23   AliCentralitySelectionTask& operator= (const AliCentralitySelectionTask& ana);
24   AliCentralitySelectionTask(const AliCentralitySelectionTask& c);
25   virtual ~AliCentralitySelectionTask();
26
27   // Implementation of interface methods
28   virtual void UserCreateOutputObjects();
29   virtual void UserExec(Option_t *option);
30   virtual void Terminate(Option_t *option);
31
32   virtual void  SetDebugLevel(Int_t level) {fDebug = level;}
33   void SetInput(const char* input)         {fAnalysisInput = input;}
34   void SetMCInput()                        {fIsMCInput = kTRUE;}
35   
36   void SetPercentileFile(TString filename);
37   void SetPercentileFile2(TString filename);
38   void ReadCentralityHistos();
39   void ReadCentralityHistos2();
40
41  private:
42   Int_t    fDebug;              // Debug flag
43   TString  fAnalysisInput;      // "ESD", "AOD"
44   Bool_t   fIsMCInput;          // true when input is MC
45   TFile   *fFile;               // file that holds the centrality vs multiplicity 1d
46   TFile   *fFile2;               // file that holds the centrality vs multiplicity 2d
47   TString  fCentfilename;       // name of this file 1d
48   TString  fCentfilename2;       // name of this file 2d
49
50   Float_t  fCentV0M;            // percentile centrality from V0
51   Float_t  fCentFMD;            // percentile centrality from FMD
52   Float_t  fCentTRK;            // percentile centrality from tracks
53   Float_t  fCentTKL;            // percentile centrality from tracklets
54   Float_t  fCentCL0;            // percentile centrality from clusters in layer 0
55   Float_t  fCentV0MvsFMD;       // percentile centrality from V0 vs FMD
56   Float_t  fCentTKLvsV0M;       // percentile centrality from tracklets vs V0
57   Float_t  fCentZEMvsZDC;       // percentile centrality from ZEM vs ZDC
58
59   TH1D    *fHtempV0M;           // histogram with centrality vs multiplicity using V0
60   TH1D    *fHtempFMD;           // histogram with centrality vs multiplicity using FMD
61   TH1D    *fHtempTRK;           // histogram with centrality vs multiplicity using tracks
62   TH1D    *fHtempTKL;           // histogram with centrality vs multiplicity using tracklets
63   TH1D    *fHtempCL0;           // histogram with centrality vs multiplicity using clusters in layer 0
64   TH1D    *fHtempV0MvsFMD;           // histogram with centrality vs multiplicity using V0 vs FMD   
65   TH1D    *fHtempTKLvsV0M;           // histogram with centrality vs multiplicity using tracklets vs V0
66   TH1D    *fHtempZEMvsZDC;           // histogram with centrality vs multiplicity using ZEM vs ZDC 
67
68   ClassDef(AliCentralitySelectionTask,1); 
69
70 };
71
72 #endif
73