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"
20 class AliESDtrackCuts;
22 class AliCentralitySelectionTask : public AliAnalysisTaskSE {
26 AliCentralitySelectionTask();
27 AliCentralitySelectionTask(const char *name);
28 AliCentralitySelectionTask& operator= (const AliCentralitySelectionTask& ana);
29 AliCentralitySelectionTask(const AliCentralitySelectionTask& c);
30 virtual ~AliCentralitySelectionTask();
32 // Implementation of interface methods
33 virtual void UserCreateOutputObjects();
34 virtual void UserExec(Option_t *option);
35 virtual void Terminate(Option_t *option);
37 virtual void SetDebugLevel(Int_t level) {fDebug = level;}
38 void SetInput(const char* input) {fAnalysisInput = input;}
39 void SetMCInput() {fIsMCInput = kTRUE;}
41 void ReadCentralityHistos(TString filename);
42 void ReadCentralityHistos2(TString filename);
44 Float_t GetCorrV0(const AliESDEvent* esd, float &v0CorrResc, int run);
45 Float_t GetCorrSPD2(Float_t spd2raw,Float_t zv);
49 Int_t SetupRun(AliESDEvent* esd);
51 Int_t fDebug; // Debug flag
52 TString fAnalysisInput; // "ESD", "AOD"
53 Bool_t fIsMCInput; // true when input is MC
54 TFile *fFile; // file that holds the centrality vs multiplicity 1d
55 TFile *fFile2; // file that holds the centrality vs multiplicity 2d
56 Int_t fCurrentRun; // current run number
57 Int_t fRunNo; // reference run number
59 AliESDtrackCuts* fTrackCuts; //! optional track cuts
61 Float_t fCentV0M; // percentile centrality from V0
62 Float_t fCentFMD; // percentile centrality from FMD
63 Float_t fCentTRK; // percentile centrality from tracks
64 Float_t fCentTKL; // percentile centrality from tracklets
65 Float_t fCentCL0; // percentile centrality from clusters in layer 0
66 Float_t fCentCL1; // percentile centrality from clusters in layer 0
67 Float_t fCentV0MvsFMD; // percentile centrality from V0 vs FMD
68 Float_t fCentTKLvsV0M; // percentile centrality from tracklets vs V0
69 Float_t fCentZEMvsZDC; // percentile centrality from ZEM vs ZDC
71 TH1F *fHtempV0M; // histogram with centrality vs multiplicity using V0
72 TH1F *fHtempFMD; // histogram with centrality vs multiplicity using FMD
73 TH1F *fHtempTRK; // histogram with centrality vs multiplicity using tracks
74 TH1F *fHtempTKL; // histogram with centrality vs multiplicity using tracklets
75 TH1F *fHtempCL0; // histogram with centrality vs multiplicity using clusters in layer 0
76 TH1F *fHtempCL1; // histogram with centrality vs multiplicity using clusters in layer 0
77 TH1F *fHtempV0MvsFMD; // histogram with centrality vs multiplicity using V0 vs FMD
78 TH1F *fHtempTKLvsV0M; // histogram with centrality vs multiplicity using tracklets vs V0
79 TH1F *fHtempZEMvsZDC; // histogram with centrality vs multiplicity using ZEM vs ZDC
81 TList *fOutputList; // output list
83 TH1F *fHOutCentV0M ; //control histogram for centrality
84 TH1F *fHOutCentFMD ; //control histogram for centrality
85 TH1F *fHOutCentTRK ; //control histogram for centrality
86 TH1F *fHOutCentTKL ; //control histogram for centrality
87 TH1F *fHOutCentCL0 ; //control histogram for centrality
88 TH1F *fHOutCentCL1 ; //control histogram for centrality
89 TH1F *fHOutCentV0MvsFMD; //control histogram for centrality
90 TH1F *fHOutCentTKLvsV0M; //control histogram for centrality
91 TH1F *fHOutCentZEMvsZDC; //control histogram for centrality
93 ClassDef(AliCentralitySelectionTask,1);