Changes in control histograms.
[u/mrichter/AliRoot.git] / ANALYSIS / AliCentralitySelectionTask.h
CommitLineData
dcd68d00 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
14class TFile;
9f14d90a 15class TH1F;
36ee40df 16class TH2F;
68e344b7 17class TList;
9f14d90a 18class TString;
68e344b7 19
20class AliESDEvent;
05915818 21class AliESDtrackCuts;
dcd68d00 22
23class AliCentralitySelectionTask : public AliAnalysisTaskSE {
24
25 public:
26
27 AliCentralitySelectionTask();
28 AliCentralitySelectionTask(const char *name);
29 AliCentralitySelectionTask& operator= (const AliCentralitySelectionTask& ana);
30 AliCentralitySelectionTask(const AliCentralitySelectionTask& c);
31 virtual ~AliCentralitySelectionTask();
32
33 // Implementation of interface methods
34 virtual void UserCreateOutputObjects();
35 virtual void UserExec(Option_t *option);
36 virtual void Terminate(Option_t *option);
37
38 virtual void SetDebugLevel(Int_t level) {fDebug = level;}
39 void SetInput(const char* input) {fAnalysisInput = input;}
40 void SetMCInput() {fIsMCInput = kTRUE;}
a540a9d3 41 void DontUseScaling() {fUseScaling=kFALSE;}
42
05915818 43 void ReadCentralityHistos(TString filename);
44 void ReadCentralityHistos2(TString filename);
dcd68d00 45 private:
68e344b7 46
47 Int_t SetupRun(AliESDEvent* esd);
a540a9d3 48 Bool_t IsOutlierV0MSPD(Float_t spd, Float_t v0, Int_t cent);
49 Bool_t IsOutlierV0MTPC(Int_t tracks, Float_t v0, Int_t cent);
50 Bool_t IsOutlierV0MZDC(Float_t zdc, Float_t v0);
51 Float_t MyGetScaleFactor(Int_t runnumber, Int_t flag);
52 void MyInitScaleFactor();
53 Float_t MyGetScaleFactorMC(Int_t runnumber);
54 void MyInitScaleFactorMC();
68e344b7 55
dcd68d00 56 Int_t fDebug; // Debug flag
57 TString fAnalysisInput; // "ESD", "AOD"
58 Bool_t fIsMCInput; // true when input is MC
d15bf53f 59 TFile *fFile; // file that holds the centrality vs multiplicity 1d
05915818 60 TFile *fFile2; // file that holds the centrality vs multiplicity 2d
68e344b7 61 Int_t fCurrentRun; // current run number
62164ba5 62 Int_t fRunNo; // reference run number
a540a9d3 63 Int_t fLowRunN; // first run
64 Int_t fHighRunN; // last run
65 Bool_t fUseScaling;
66 Float_t V0MScaleFactor[2012]; // number of runs in PbPb 2010
67 Float_t SPDScaleFactor[2012]; // number of runs in PbPb 2010
68 Float_t TPCScaleFactor[2012]; // number of runs in PbPb 2010
69 Float_t V0MScaleFactorMC[2012]; // number of runs in PbPb 2010
70
71 AliESDtrackCuts* fTrackCuts; //! optional track cuts
d15bf53f 72
a540a9d3 73 Float_t fZVCut; //! z-vertex cut (in cm)
74 Float_t fOutliersCut; //! outliers cut (in n-sigma)
75 Int_t fQuality; //! quality for centrality determination
05915818 76
d15bf53f 77 Float_t fCentV0M; // percentile centrality from V0
78 Float_t fCentFMD; // percentile centrality from FMD
79 Float_t fCentTRK; // percentile centrality from tracks
80 Float_t fCentTKL; // percentile centrality from tracklets
81 Float_t fCentCL0; // percentile centrality from clusters in layer 0
be0d4e9b 82 Float_t fCentCL1; // percentile centrality from clusters in layer 0
d15bf53f 83 Float_t fCentV0MvsFMD; // percentile centrality from V0 vs FMD
84 Float_t fCentTKLvsV0M; // percentile centrality from tracklets vs V0
85 Float_t fCentZEMvsZDC; // percentile centrality from ZEM vs ZDC
86
9f14d90a 87 TH1F *fHtempV0M; // histogram with centrality vs multiplicity using V0
88 TH1F *fHtempFMD; // histogram with centrality vs multiplicity using FMD
89 TH1F *fHtempTRK; // histogram with centrality vs multiplicity using tracks
90 TH1F *fHtempTKL; // histogram with centrality vs multiplicity using tracklets
91 TH1F *fHtempCL0; // histogram with centrality vs multiplicity using clusters in layer 0
92 TH1F *fHtempCL1; // histogram with centrality vs multiplicity using clusters in layer 0
93 TH1F *fHtempV0MvsFMD; // histogram with centrality vs multiplicity using V0 vs FMD
94 TH1F *fHtempTKLvsV0M; // histogram with centrality vs multiplicity using tracklets vs V0
95 TH1F *fHtempZEMvsZDC; // histogram with centrality vs multiplicity using ZEM vs ZDC
d15bf53f 96
36ee40df 97 TList *fOutputList; // output list
05915818 98
99 TH1F *fHOutCentV0M ; //control histogram for centrality
100 TH1F *fHOutCentFMD ; //control histogram for centrality
101 TH1F *fHOutCentTRK ; //control histogram for centrality
102 TH1F *fHOutCentTKL ; //control histogram for centrality
103 TH1F *fHOutCentCL0 ; //control histogram for centrality
104 TH1F *fHOutCentCL1 ; //control histogram for centrality
105 TH1F *fHOutCentV0MvsFMD; //control histogram for centrality
106 TH1F *fHOutCentTKLvsV0M; //control histogram for centrality
107 TH1F *fHOutCentZEMvsZDC; //control histogram for centrality
108
36ee40df 109 TH1F *fHOutMultV0M ; //control histogram for multiplicity
a3127f95 110 TH1F *fHOutMultV0R ; //control histogram for multiplicity
36ee40df 111 TH1F *fHOutMultFMD ; //control histogram for multiplicity
112 TH1F *fHOutMultTRK ; //control histogram for multiplicity
113 TH1F *fHOutMultTKL ; //control histogram for multiplicity
114 TH1F *fHOutMultCL0 ; //control histogram for multiplicity
115 TH1F *fHOutMultCL1 ; //control histogram for multiplicity
116
31200bdf 117 TH2F *fHOutMultV0MvsZDN; //control histogram for multiplicity
118 TH2F *fHOutMultZEMvsZDN; //control histogram for multiplicity
36ee40df 119 TH2F *fHOutMultV0MvsZDC; //control histogram for multiplicity
120 TH2F *fHOutMultZEMvsZDC; //control histogram for multiplicity
ab57f513 121 TH2F *fHOutMultV0MvsCL1; //control histogram for multiplicity
122 TH2F *fHOutMultV0MvsTRK; //control histogram for multiplicity
123 TH2F *fHOutMultTRKvsCL1; //control histogram for multiplicity
36ee40df 124
a540a9d3 125 TH1F *fHOutCentV0M_qual1 ; //control histogram for centrality quality 1
126 TH1F *fHOutCentTRK_qual1 ; //control histogram for centrality quality 1
127 TH1F *fHOutCentCL1_qual1 ; //control histogram for centrality quality 1
128
129 TH1F *fHOutCentV0M_qual2 ; //control histogram for centrality quality 2
130 TH1F *fHOutCentTRK_qual2 ; //control histogram for centrality quality 2
131 TH1F *fHOutCentCL1_qual2 ; //control histogram for centrality quality 2
132
133 TH1F *fHOutQuality ; //control histogram for quality
134 TH1F *fHOutVertex ; //control histogram for vertex
135
31200bdf 136 ClassDef(AliCentralitySelectionTask, 5);
dcd68d00 137};
138
139#endif
140