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 void SetInput(const char* input) {fAnalysisInput = input;}
39 void SetMCInput() {fIsMCInput = kTRUE;}
40 void DontUseScaling() {fUseScaling=kFALSE;}
41 void DontUseCleaning() {fUseCleaning=kFALSE;}
42 void SetFillHistos() {fFillHistos=kTRUE; DefineOutput(1, TList::Class());
47 Int_t SetupRun(const AliESDEvent* const esd);
48 Bool_t IsOutlierV0MSPD(Float_t spd, Float_t v0, Int_t cent) const;
49 Bool_t IsOutlierV0MTPC(Int_t tracks, Float_t v0, Int_t cent) const;
50 Bool_t IsOutlierV0MZDC(Float_t zdc, Float_t v0) const;
51 Bool_t IsOutlierV0MZDCECal(Float_t zdc, Float_t v0) const;
53 TString fAnalysisInput; // "ESD", "AOD"
54 Bool_t fIsMCInput; // true when input is MC
55 Int_t fCurrentRun; // current run number
56 Bool_t fUseScaling; // flag to use scaling
57 Bool_t fUseCleaning; // flag to use cleaning
58 Bool_t fFillHistos; // flag to fill the QA histos
59 Float_t fV0MScaleFactor; // scale factor V0M
60 Float_t fSPDScaleFactor; // scale factor SPD
61 Float_t fTPCScaleFactor; // scale factor TPC
62 Float_t fV0MScaleFactorMC; // scale factor V0M for MC
63 Float_t fV0MSPDOutlierPar0; // outliers parameter
64 Float_t fV0MSPDOutlierPar1; // outliers parameter
65 Float_t fV0MTPCOutlierPar0; // outliers parameter
66 Float_t fV0MTPCOutlierPar1; // outliers parameter
67 Float_t fV0MSPDSigmaOutlierPar0; // outliers parameter
68 Float_t fV0MSPDSigmaOutlierPar1; // outliers parameter
69 Float_t fV0MSPDSigmaOutlierPar2; // outliers parameter
70 Float_t fV0MTPCSigmaOutlierPar0; // outliers parameter
71 Float_t fV0MTPCSigmaOutlierPar1; // outliers parameter
72 Float_t fV0MTPCSigmaOutlierPar2; // outliers parameter
73 Float_t fV0MZDCOutlierPar0; // outliers parameter
74 Float_t fV0MZDCOutlierPar1; // outliers parameter
75 Float_t fV0MZDCEcalOutlierPar0; // outliers parameter
76 Float_t fV0MZDCEcalOutlierPar1; // outliers parameter
78 AliESDtrackCuts* fTrackCuts; //! optional track cuts
80 Float_t fZVCut; //! z-vertex cut (in cm)
81 Float_t fOutliersCut; //! outliers cut (in n-sigma)
82 Int_t fQuality; //! quality for centrality determination
84 Bool_t fIsSelected; //! V0BG rejection
95 Bool_t fCVHN; //! if the event is central trigger
96 Bool_t fCVLN; //! if the event is semicentral trigger
97 Bool_t fCVHNbit; //! if the event is central trigger
98 Bool_t fCVLNbit; //! if the event is semicentral trigger
99 Bool_t fCCENT; //! if the event is central trigger
100 Bool_t fCSEMI; //! if the event is semicentral trigger
101 Bool_t fCCENTbit; //! if the event is central trigger
102 Bool_t fCSEMIbit; //! if the event is semicentral trigger
104 Float_t fCentV0M; // percentile centrality from V0
105 Float_t fCentFMD; // percentile centrality from FMD
106 Float_t fCentTRK; // percentile centrality from tracks
107 Float_t fCentTKL; // percentile centrality from tracklets
108 Float_t fCentCL0; // percentile centrality from clusters in layer 0
109 Float_t fCentCL1; // percentile centrality from clusters in layer 0
110 Float_t fCentV0MvsFMD; // percentile centrality from V0 vs FMD
111 Float_t fCentTKLvsV0M; // percentile centrality from tracklets vs V0
112 Float_t fCentZEMvsZDC; // percentile centrality from ZEM vs ZDC
114 TH1F *fHtempV0M; // histogram with centrality vs multiplicity using V0
115 TH1F *fHtempFMD; // histogram with centrality vs multiplicity using FMD
116 TH1F *fHtempTRK; // histogram with centrality vs multiplicity using tracks
117 TH1F *fHtempTKL; // histogram with centrality vs multiplicity using tracklets
118 TH1F *fHtempCL0; // histogram with centrality vs multiplicity using clusters in layer 0
119 TH1F *fHtempCL1; // histogram with centrality vs multiplicity using clusters in layer 0
120 TH1F *fHtempV0MvsFMD; // histogram with centrality vs multiplicity using V0 vs FMD
121 TH1F *fHtempTKLvsV0M; // histogram with centrality vs multiplicity using tracklets vs V0
122 TH2F *fHtempZEMvsZDC; // histogram with centrality vs multiplicity using ZEM vs ZDC
124 TList *fOutputList; // output list
126 TH1F *fHOutCentV0M ; //control histogram for centrality
127 TH1F *fHOutCentV0MCVHN; //control histogram for centrality
128 TH1F *fHOutCentV0MCVLN; //control histogram for centrality
129 TH1F *fHOutCentV0MCVHNinMB; //control histogram for centrality
130 TH1F *fHOutCentV0MCVLNinMB; //control histogram for centrality
131 TH1F *fHOutCentV0MCCENT; //control histogram for centrality
132 TH1F *fHOutCentV0MCSEMI; //control histogram for centrality
133 TH1F *fHOutCentV0MCCENTinMB; //control histogram for centrality
134 TH1F *fHOutCentV0MCSEMIinMB; //control histogram for centrality
135 TH1F *fHOutCentV0MMSL; //control histogram for centrality
136 TH1F *fHOutCentV0MMSH; //control histogram for centrality
137 TH1F *fHOutCentV0MMUL; //control histogram for centrality
138 TH1F *fHOutCentV0MMLL; //control histogram for centrality
139 TH1F *fHOutCentV0MEJE; //control histogram for centrality
140 TH1F *fHOutCentV0MEGA; //control histogram for centrality
141 TH1F *fHOutCentV0MPHS; //control histogram for centrality
142 TH1F *fHOutCentV0MMSLinMB; //control histogram for centrality
143 TH1F *fHOutCentV0MMSHinMB; //control histogram for centrality
144 TH1F *fHOutCentV0MMULinMB; //control histogram for centrality
145 TH1F *fHOutCentV0MMLLinMB; //control histogram for centrality
146 TH1F *fHOutCentV0MEJEinMB; //control histogram for centrality
147 TH1F *fHOutCentV0MEGAinMB; //control histogram for centrality
148 TH1F *fHOutCentV0MPHSinMB; //control histogram for centrality
149 TH1F *fHOutCentFMD ; //control histogram for centrality
150 TH1F *fHOutCentTRK ; //control histogram for centrality
151 TH1F *fHOutCentTKL ; //control histogram for centrality
152 TH1F *fHOutCentCL0 ; //control histogram for centrality
153 TH1F *fHOutCentCL1 ; //control histogram for centrality
154 TH1F *fHOutCentV0MvsFMD; //control histogram for centrality
155 TH1F *fHOutCentTKLvsV0M; //control histogram for centrality
156 TH1F *fHOutCentZEMvsZDC; //control histogram for centrality
157 TH2F *fHOutCentV0MvsCentCL1; //control histogram for centrality
158 TH2F *fHOutCentV0MvsCentTRK; //control histogram for centrality
159 TH2F *fHOutCentTRKvsCentCL1; //control histogram for centrality
160 TH2F *fHOutCentV0MvsCentZDC; //control histogram for centrality
162 TH1F *fHOutMultV0M ; //control histogram for multiplicity
163 TH1F *fHOutMultV0O ; //control histogram for multiplicity
164 TH1F *fHOutMultFMD ; //control histogram for multiplicity
165 TH1F *fHOutMultTRK ; //control histogram for multiplicity
166 TH1F *fHOutMultTKL ; //control histogram for multiplicity
167 TH1F *fHOutMultCL0 ; //control histogram for multiplicity
168 TH1F *fHOutMultCL1 ; //control histogram for multiplicity
170 TH2F *fHOutMultV0MvsZDN; //control histogram for multiplicity
171 TH2F *fHOutMultZEMvsZDN; //control histogram for multiplicity
172 TH2F *fHOutMultV0MvsZDC; //control histogram for multiplicity
173 TH2F *fHOutMultZEMvsZDC; //control histogram for multiplicity
174 TH2F *fHOutMultZEMvsZDCw; //control histogram for multiplicity
175 TH2F *fHOutMultV0MvsCL1; //control histogram for multiplicity
176 TH2F *fHOutMultV0MvsTRK; //control histogram for multiplicity
177 TH2F *fHOutMultTRKvsCL1; //control histogram for multiplicity
178 TH2F *fHOutMultV0MvsV0O; //control histogram for multiplicity
179 TH2F *fHOutMultV0OvsCL1; //control histogram for multiplicity
180 TH2F *fHOutMultV0OvsTRK; //control histogram for multiplicity
182 TH1F *fHOutCentV0Mqual1 ; //control histogram for centrality quality 1
183 TH1F *fHOutCentTRKqual1 ; //control histogram for centrality quality 1
184 TH1F *fHOutCentCL1qual1 ; //control histogram for centrality quality 1
185 TH2F *fHOutMultV0MvsCL1qual1; //control histogram for multiplicity quality 1
186 TH2F *fHOutMultV0MvsTRKqual1; //control histogram for multiplicity quality 1
187 TH2F *fHOutMultTRKvsCL1qual1; //control histogram for multiplicity quality 1
189 TH1F *fHOutCentV0Mqual2 ; //control histogram for centrality quality 2
190 TH1F *fHOutCentTRKqual2 ; //control histogram for centrality quality 2
191 TH1F *fHOutCentCL1qual2 ; //control histogram for centrality quality 2
192 TH2F *fHOutMultV0MvsCL1qual2; //control histogram for multiplicity quality 2
193 TH2F *fHOutMultV0MvsTRKqual2; //control histogram for multiplicity quality 2
194 TH2F *fHOutMultTRKvsCL1qual2; //control histogram for multiplicity quality 2
196 TH1F *fHOutQuality ; //control histogram for quality
197 TH1F *fHOutVertex ; //control histogram for vertex
198 TH1F *fHOutVertexT0 ; //control histogram for vertex
200 ClassDef(AliCentralitySelectionTask, 18);