]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliCentralitySelectionTask.h
Fix
[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
dcd68d00 38 void SetInput(const char* input) {fAnalysisInput = input;}
39 void SetMCInput() {fIsMCInput = kTRUE;}
a121a512 40 void SetPass(Int_t pass) {fPass = pass;}
a540a9d3 41 void DontUseScaling() {fUseScaling=kFALSE;}
d015c169 42 void DontUseCleaning() {fUseCleaning=kFALSE;}
a43ed687 43
dcd68d00 44 private:
68e344b7 45
f690bf48 46 Int_t SetupRun(AliESDEvent* const esd);
47 Bool_t IsOutlierV0MSPD(Float_t spd, Float_t v0, Int_t cent) const;
48 Bool_t IsOutlierV0MTPC(Int_t tracks, Float_t v0, Int_t cent) const;
49 Bool_t IsOutlierV0MZDC(Float_t zdc, Float_t v0) const;
50 Bool_t IsOutlierV0MZDCECal(Float_t zdc, Float_t v0) const;
68e344b7 51
dcd68d00 52 TString fAnalysisInput; // "ESD", "AOD"
53 Bool_t fIsMCInput; // true when input is MC
a121a512 54 Int_t fPass; // pass of reconstruction
68e344b7 55 Int_t fCurrentRun; // current run number
d015c169 56 Bool_t fUseScaling; // flag to use scaling
a43ed687 57 Bool_t fUseCleaning; // flag to use cleaning
58 Float_t fV0MScaleFactor; // scale factor V0M
59 Float_t fSPDScaleFactor; // scale factor SPD
60 Float_t fTPCScaleFactor; // scale factor TPC
61 Float_t fV0MScaleFactorMC; // scale factor V0M for MC
62 Float_t fV0MSPDOutlierPar0; // outliers parameter
63 Float_t fV0MSPDOutlierPar1; // outliers parameter
64 Float_t fV0MTPCOutlierPar0; // outliers parameter
65 Float_t fV0MTPCOutlierPar1; // outliers parameter
66 Float_t fV0MSPDSigmaOutlierPar0; // outliers parameter
67 Float_t fV0MSPDSigmaOutlierPar1; // outliers parameter
68 Float_t fV0MSPDSigmaOutlierPar2; // outliers parameter
69 Float_t fV0MTPCSigmaOutlierPar0; // outliers parameter
70 Float_t fV0MTPCSigmaOutlierPar1; // outliers parameter
71 Float_t fV0MTPCSigmaOutlierPar2; // outliers parameter
72 Float_t fV0MZDCOutlierPar0; // outliers parameter
73 Float_t fV0MZDCOutlierPar1; // outliers parameter
74 Float_t fV0MZDCEcalOutlierPar0; // outliers parameter
75 Float_t fV0MZDCEcalOutlierPar1; // outliers parameter
a540a9d3 76
77 AliESDtrackCuts* fTrackCuts; //! optional track cuts
d15bf53f 78
a540a9d3 79 Float_t fZVCut; //! z-vertex cut (in cm)
80 Float_t fOutliersCut; //! outliers cut (in n-sigma)
81 Int_t fQuality; //! quality for centrality determination
05915818 82
4fced115 83 Bool_t fCVHN; //! if the event is central trigger
84 Bool_t fCVLN; //! if the event is semicentral trigger
0caaf699 85 Bool_t fCVHNbit; //! if the event is central trigger
86 Bool_t fCVLNbit; //! if the event is semicentral trigger
9448ffd1 87 Bool_t fCCENT; //! if the event is central trigger
88 Bool_t fCSEMI; //! if the event is semicentral trigger
89 Bool_t fCCENTbit; //! if the event is central trigger
90 Bool_t fCSEMIbit; //! if the event is semicentral trigger
624cda23 91 Bool_t fIsSelected; //! V0BG rejection
4fced115 92
d15bf53f 93 Float_t fCentV0M; // percentile centrality from V0
94 Float_t fCentFMD; // percentile centrality from FMD
95 Float_t fCentTRK; // percentile centrality from tracks
96 Float_t fCentTKL; // percentile centrality from tracklets
97 Float_t fCentCL0; // percentile centrality from clusters in layer 0
be0d4e9b 98 Float_t fCentCL1; // percentile centrality from clusters in layer 0
d15bf53f 99 Float_t fCentV0MvsFMD; // percentile centrality from V0 vs FMD
100 Float_t fCentTKLvsV0M; // percentile centrality from tracklets vs V0
101 Float_t fCentZEMvsZDC; // percentile centrality from ZEM vs ZDC
102
9f14d90a 103 TH1F *fHtempV0M; // histogram with centrality vs multiplicity using V0
104 TH1F *fHtempFMD; // histogram with centrality vs multiplicity using FMD
105 TH1F *fHtempTRK; // histogram with centrality vs multiplicity using tracks
106 TH1F *fHtempTKL; // histogram with centrality vs multiplicity using tracklets
107 TH1F *fHtempCL0; // histogram with centrality vs multiplicity using clusters in layer 0
108 TH1F *fHtempCL1; // histogram with centrality vs multiplicity using clusters in layer 0
109 TH1F *fHtempV0MvsFMD; // histogram with centrality vs multiplicity using V0 vs FMD
110 TH1F *fHtempTKLvsV0M; // histogram with centrality vs multiplicity using tracklets vs V0
5233aeb5 111 TH2F *fHtempZEMvsZDC; // histogram with centrality vs multiplicity using ZEM vs ZDC
d15bf53f 112
36ee40df 113 TList *fOutputList; // output list
05915818 114
115 TH1F *fHOutCentV0M ; //control histogram for centrality
4fced115 116 TH1F *fHOutCentV0M_CVHN; //control histogram for centrality
117 TH1F *fHOutCentV0M_CVLN; //control histogram for centrality
84bbff84 118 TH1F *fHOutCentV0M_CVHNinMB; //control histogram for centrality
119 TH1F *fHOutCentV0M_CVLNinMB; //control histogram for centrality
9448ffd1 120 TH1F *fHOutCentV0M_CCENT; //control histogram for centrality
121 TH1F *fHOutCentV0M_CSEMI; //control histogram for centrality
122 TH1F *fHOutCentV0M_CCENTinMB; //control histogram for centrality
123 TH1F *fHOutCentV0M_CSEMIinMB; //control histogram for centrality
05915818 124 TH1F *fHOutCentFMD ; //control histogram for centrality
125 TH1F *fHOutCentTRK ; //control histogram for centrality
126 TH1F *fHOutCentTKL ; //control histogram for centrality
127 TH1F *fHOutCentCL0 ; //control histogram for centrality
128 TH1F *fHOutCentCL1 ; //control histogram for centrality
129 TH1F *fHOutCentV0MvsFMD; //control histogram for centrality
130 TH1F *fHOutCentTKLvsV0M; //control histogram for centrality
131 TH1F *fHOutCentZEMvsZDC; //control histogram for centrality
9138a60c 132 TH2F *fHOutCentV0MvsCentCL1; //control histogram for centrality
133 TH2F *fHOutCentV0MvsCentTRK; //control histogram for centrality
134 TH2F *fHOutCentTRKvsCentCL1; //control histogram for centrality
980d6ad3 135 TH2F *fHOutCentV0MvsCentZDC; //control histogram for centrality
05915818 136
36ee40df 137 TH1F *fHOutMultV0M ; //control histogram for multiplicity
a43ed687 138 TH1F *fHOutMultV0O ; //control histogram for multiplicity
36ee40df 139 TH1F *fHOutMultFMD ; //control histogram for multiplicity
140 TH1F *fHOutMultTRK ; //control histogram for multiplicity
141 TH1F *fHOutMultTKL ; //control histogram for multiplicity
142 TH1F *fHOutMultCL0 ; //control histogram for multiplicity
143 TH1F *fHOutMultCL1 ; //control histogram for multiplicity
144
31200bdf 145 TH2F *fHOutMultV0MvsZDN; //control histogram for multiplicity
146 TH2F *fHOutMultZEMvsZDN; //control histogram for multiplicity
36ee40df 147 TH2F *fHOutMultV0MvsZDC; //control histogram for multiplicity
148 TH2F *fHOutMultZEMvsZDC; //control histogram for multiplicity
39bbe018 149 TH2F *fHOutMultZEMvsZDCw; //control histogram for multiplicity
ab57f513 150 TH2F *fHOutMultV0MvsCL1; //control histogram for multiplicity
151 TH2F *fHOutMultV0MvsTRK; //control histogram for multiplicity
152 TH2F *fHOutMultTRKvsCL1; //control histogram for multiplicity
a43ed687 153 TH2F *fHOutMultV0MvsV0O; //control histogram for multiplicity
154 TH2F *fHOutMultV0OvsCL1; //control histogram for multiplicity
155 TH2F *fHOutMultV0OvsTRK; //control histogram for multiplicity
36ee40df 156
04341115 157 TH1F *fHOutCentV0Mqual1 ; //control histogram for centrality quality 1
158 TH1F *fHOutCentTRKqual1 ; //control histogram for centrality quality 1
159 TH1F *fHOutCentCL1qual1 ; //control histogram for centrality quality 1
79d4544b 160 TH2F *fHOutMultV0MvsCL1qual1; //control histogram for multiplicity quality 1
161 TH2F *fHOutMultV0MvsTRKqual1; //control histogram for multiplicity quality 1
162 TH2F *fHOutMultTRKvsCL1qual1; //control histogram for multiplicity quality 1
a540a9d3 163
04341115 164 TH1F *fHOutCentV0Mqual2 ; //control histogram for centrality quality 2
165 TH1F *fHOutCentTRKqual2 ; //control histogram for centrality quality 2
166 TH1F *fHOutCentCL1qual2 ; //control histogram for centrality quality 2
79d4544b 167 TH2F *fHOutMultV0MvsCL1qual2; //control histogram for multiplicity quality 2
168 TH2F *fHOutMultV0MvsTRKqual2; //control histogram for multiplicity quality 2
169 TH2F *fHOutMultTRKvsCL1qual2; //control histogram for multiplicity quality 2
a540a9d3 170
171 TH1F *fHOutQuality ; //control histogram for quality
a43ed687 172 TH1F *fHOutVertex ; //control histogram for vertex
9448ffd1 173 TH1F *fHOutVertexT0 ; //control histogram for vertex
a540a9d3 174
9448ffd1 175 ClassDef(AliCentralitySelectionTask, 15);
dcd68d00 176};
177
178#endif
179