1 #ifndef ALICENTRALITYSELECTIONTASK_H
2 #define ALICENTRALITYSELECTIONTASK_H
4 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //*****************************************************
8 // Class AliCentralitySelectionTask
9 // author: Alberica Toia
10 //*****************************************************
12 #include "AliAnalysisTaskSE.h"
21 class AliESDtrackCuts;
23 class AliCentralitySelectionTask : public AliAnalysisTaskSE {
27 AliCentralitySelectionTask();
28 AliCentralitySelectionTask(const char *name);
29 AliCentralitySelectionTask& operator= (const AliCentralitySelectionTask& ana);
30 AliCentralitySelectionTask(const AliCentralitySelectionTask& c);
31 virtual ~AliCentralitySelectionTask();
33 // Implementation of interface methods
34 virtual void UserCreateOutputObjects();
35 virtual void UserExec(Option_t *option);
36 virtual void Terminate(Option_t *option);
38 virtual void SetDebugLevel(Int_t level) {fDebug = level;}
39 void SetDirName(const char *n) {fDirName = n;}
40 void SetInput(const char* input) {fAnalysisInput = input;}
41 void SetMCInput() {fIsMCInput = kTRUE;}
43 void ReadCentralityHistos(TString filename);
44 void ReadCentralityHistos2(TString filename);
47 Int_t SetupRun(AliESDEvent* esd);
49 Int_t fDebug; // Debug flag
50 TString fAnalysisInput; // "ESD", "AOD"
51 Bool_t fIsMCInput; // true when input is MC
52 TString fDirName; // directory name in which file is being searched
53 TFile *fFile; // file that holds the centrality vs multiplicity 1d
54 TFile *fFile2; // file that holds the centrality vs multiplicity 2d
55 Int_t fCurrentRun; // current run number
56 Int_t fRunNo; // reference run number
58 AliESDtrackCuts* fTrackCuts; //! optional track cuts
60 Float_t fCentV0M; // percentile centrality from V0
61 Float_t fCentFMD; // percentile centrality from FMD
62 Float_t fCentTRK; // percentile centrality from tracks
63 Float_t fCentTKL; // percentile centrality from tracklets
64 Float_t fCentCL0; // percentile centrality from clusters in layer 0
65 Float_t fCentCL1; // percentile centrality from clusters in layer 0
66 Float_t fCentV0MvsFMD; // percentile centrality from V0 vs FMD
67 Float_t fCentTKLvsV0M; // percentile centrality from tracklets vs V0
68 Float_t fCentZEMvsZDC; // percentile centrality from ZEM vs ZDC
70 TH1F *fHtempV0M; // histogram with centrality vs multiplicity using V0
71 TH1F *fHtempFMD; // histogram with centrality vs multiplicity using FMD
72 TH1F *fHtempTRK; // histogram with centrality vs multiplicity using tracks
73 TH1F *fHtempTKL; // histogram with centrality vs multiplicity using tracklets
74 TH1F *fHtempCL0; // histogram with centrality vs multiplicity using clusters in layer 0
75 TH1F *fHtempCL1; // histogram with centrality vs multiplicity using clusters in layer 0
76 TH1F *fHtempV0MvsFMD; // histogram with centrality vs multiplicity using V0 vs FMD
77 TH1F *fHtempTKLvsV0M; // histogram with centrality vs multiplicity using tracklets vs V0
78 TH1F *fHtempZEMvsZDC; // histogram with centrality vs multiplicity using ZEM vs ZDC
80 TList *fOutputList; // output list
82 TH1F *fHOutCentV0M ; //control histogram for centrality
83 TH1F *fHOutCentFMD ; //control histogram for centrality
84 TH1F *fHOutCentTRK ; //control histogram for centrality
85 TH1F *fHOutCentTKL ; //control histogram for centrality
86 TH1F *fHOutCentCL0 ; //control histogram for centrality
87 TH1F *fHOutCentCL1 ; //control histogram for centrality
88 TH1F *fHOutCentV0MvsFMD; //control histogram for centrality
89 TH1F *fHOutCentTKLvsV0M; //control histogram for centrality
90 TH1F *fHOutCentZEMvsZDC; //control histogram for centrality
92 TH1F *fHOutMultV0M ; //control histogram for multiplicity
93 TH1F *fHOutMultV0R ; //control histogram for multiplicity
94 TH1F *fHOutMultFMD ; //control histogram for multiplicity
95 TH1F *fHOutMultTRK ; //control histogram for multiplicity
96 TH1F *fHOutMultTKL ; //control histogram for multiplicity
97 TH1F *fHOutMultCL0 ; //control histogram for multiplicity
98 TH1F *fHOutMultCL1 ; //control histogram for multiplicity
100 TH2F *fHOutMultV0MvsZDC; //control histogram for multiplicity
101 TH2F *fHOutMultZEMvsZDC; //control histogram for multiplicity
102 TH2F *fHOutMultV0MvsCL1; //control histogram for multiplicity
103 TH2F *fHOutMultV0MvsTRK; //control histogram for multiplicity
104 TH2F *fHOutMultTRKvsCL1; //control histogram for multiplicity
106 ClassDef(AliCentralitySelectionTask,2);