]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliCentralitySelectionTask.h
Fixing bug in replay of offline HighMult trigger
[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 TH1F;
16 class TList;
17 class TString;
18
19 class AliESDEvent;
20
21 class AliCentralitySelectionTask : public AliAnalysisTaskSE {
22
23  public:
24
25   AliCentralitySelectionTask();
26   AliCentralitySelectionTask(const char *name);
27   AliCentralitySelectionTask& operator= (const AliCentralitySelectionTask& ana);
28   AliCentralitySelectionTask(const AliCentralitySelectionTask& c);
29   virtual ~AliCentralitySelectionTask();
30
31   // Implementation of interface methods
32   virtual void UserCreateOutputObjects();
33   virtual void UserExec(Option_t *option);
34   virtual void Terminate(Option_t *option);
35
36   virtual void  SetDebugLevel(Int_t level) {fDebug = level;}
37   void SetInput(const char* input)         {fAnalysisInput = input;}
38   void SetMCInput()                        {fIsMCInput = kTRUE;}
39   
40   void SetPercentileFile(TString filename);
41   void SetPercentileFile2(TString filename);
42   void ReadCentralityHistos();
43   void ReadCentralityHistos2();
44
45   void AddPercentileFileToList(TString filename) { fFileList->Add(new TObjString(filename)); }
46   void AddPercentileFile2ToList(TString filename) { fFileList2->Add(new TObjString(filename)); }
47
48   Float_t GetCorrV0(const AliESDEvent* esd, float &v0CorrResc);
49   Float_t GetCorrSPD2(Float_t spd2raw,Float_t zv);
50
51  private:
52
53   Int_t SetupRun(AliESDEvent* esd);
54
55   Int_t    fDebug;              // Debug flag
56   TString  fAnalysisInput;      // "ESD", "AOD"
57   Bool_t   fIsMCInput;          // true when input is MC
58   TFile   *fFile;               // file that holds the centrality vs multiplicity 1d
59   TFile   *fFile2;              // file that holds the centrality vs multiplicity 2d
60   TString  fCentfilename;       // name of this file 1d
61   TString  fCentfilename2;      // name of this file 2d
62   
63   TList*   fFileList;           //! list of input files names
64   TList*   fFileList2;          //! list of input files 2 names
65   Int_t    fCurrentRun;         // current run number
66   Int_t    fRunNo;              // reference run number
67
68   Float_t  fCentV0M;            // percentile centrality from V0
69   Float_t  fCentFMD;            // percentile centrality from FMD
70   Float_t  fCentTRK;            // percentile centrality from tracks
71   Float_t  fCentTKL;            // percentile centrality from tracklets
72   Float_t  fCentCL0;            // percentile centrality from clusters in layer 0
73   Float_t  fCentCL1;            // percentile centrality from clusters in layer 0
74   Float_t  fCentV0MvsFMD;       // percentile centrality from V0 vs FMD
75   Float_t  fCentTKLvsV0M;       // percentile centrality from tracklets vs V0
76   Float_t  fCentZEMvsZDC;       // percentile centrality from ZEM vs ZDC
77
78   TH1F    *fHtempV0M;           // histogram with centrality vs multiplicity using V0
79   TH1F    *fHtempFMD;           // histogram with centrality vs multiplicity using FMD
80   TH1F    *fHtempTRK;           // histogram with centrality vs multiplicity using tracks
81   TH1F    *fHtempTKL;           // histogram with centrality vs multiplicity using tracklets
82   TH1F    *fHtempCL0;           // histogram with centrality vs multiplicity using clusters in layer 0
83   TH1F    *fHtempCL1;           // histogram with centrality vs multiplicity using clusters in layer 0
84   TH1F    *fHtempV0MvsFMD;           // histogram with centrality vs multiplicity using V0 vs FMD   
85   TH1F    *fHtempTKLvsV0M;           // histogram with centrality vs multiplicity using tracklets vs V0
86   TH1F    *fHtempZEMvsZDC;           // histogram with centrality vs multiplicity using ZEM vs ZDC 
87
88   ClassDef(AliCentralitySelectionTask,1); 
89
90 };
91
92 #endif
93