]>
Commit | Line | Data |
---|---|---|
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 | ||
14 | class TFile; | |
9f14d90a | 15 | class TH1F; |
36ee40df | 16 | class TH2F; |
68e344b7 | 17 | class TList; |
9f14d90a | 18 | class TString; |
68e344b7 | 19 | |
20 | class AliESDEvent; | |
05915818 | 21 | class AliESDtrackCuts; |
dcd68d00 | 22 | |
23 | class 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 | |
85 | ||
d15bf53f | 86 | Float_t fCentV0M; // percentile centrality from V0 |
87 | Float_t fCentFMD; // percentile centrality from FMD | |
88 | Float_t fCentTRK; // percentile centrality from tracks | |
89 | Float_t fCentTKL; // percentile centrality from tracklets | |
90 | Float_t fCentCL0; // percentile centrality from clusters in layer 0 | |
be0d4e9b | 91 | Float_t fCentCL1; // percentile centrality from clusters in layer 0 |
d15bf53f | 92 | Float_t fCentV0MvsFMD; // percentile centrality from V0 vs FMD |
93 | Float_t fCentTKLvsV0M; // percentile centrality from tracklets vs V0 | |
94 | Float_t fCentZEMvsZDC; // percentile centrality from ZEM vs ZDC | |
95 | ||
9f14d90a | 96 | TH1F *fHtempV0M; // histogram with centrality vs multiplicity using V0 |
97 | TH1F *fHtempFMD; // histogram with centrality vs multiplicity using FMD | |
98 | TH1F *fHtempTRK; // histogram with centrality vs multiplicity using tracks | |
99 | TH1F *fHtempTKL; // histogram with centrality vs multiplicity using tracklets | |
100 | TH1F *fHtempCL0; // histogram with centrality vs multiplicity using clusters in layer 0 | |
101 | TH1F *fHtempCL1; // histogram with centrality vs multiplicity using clusters in layer 0 | |
102 | TH1F *fHtempV0MvsFMD; // histogram with centrality vs multiplicity using V0 vs FMD | |
103 | TH1F *fHtempTKLvsV0M; // histogram with centrality vs multiplicity using tracklets vs V0 | |
5233aeb5 | 104 | TH2F *fHtempZEMvsZDC; // histogram with centrality vs multiplicity using ZEM vs ZDC |
d15bf53f | 105 | |
36ee40df | 106 | TList *fOutputList; // output list |
05915818 | 107 | |
108 | TH1F *fHOutCentV0M ; //control histogram for centrality | |
4fced115 | 109 | TH1F *fHOutCentV0M_CVHN; //control histogram for centrality |
110 | TH1F *fHOutCentV0M_CVLN; //control histogram for centrality | |
05915818 | 111 | TH1F *fHOutCentFMD ; //control histogram for centrality |
112 | TH1F *fHOutCentTRK ; //control histogram for centrality | |
113 | TH1F *fHOutCentTKL ; //control histogram for centrality | |
114 | TH1F *fHOutCentCL0 ; //control histogram for centrality | |
115 | TH1F *fHOutCentCL1 ; //control histogram for centrality | |
116 | TH1F *fHOutCentV0MvsFMD; //control histogram for centrality | |
117 | TH1F *fHOutCentTKLvsV0M; //control histogram for centrality | |
118 | TH1F *fHOutCentZEMvsZDC; //control histogram for centrality | |
9138a60c | 119 | TH2F *fHOutCentV0MvsCentCL1; //control histogram for centrality |
120 | TH2F *fHOutCentV0MvsCentTRK; //control histogram for centrality | |
121 | TH2F *fHOutCentTRKvsCentCL1; //control histogram for centrality | |
980d6ad3 | 122 | TH2F *fHOutCentV0MvsCentZDC; //control histogram for centrality |
05915818 | 123 | |
36ee40df | 124 | TH1F *fHOutMultV0M ; //control histogram for multiplicity |
a43ed687 | 125 | TH1F *fHOutMultV0O ; //control histogram for multiplicity |
36ee40df | 126 | TH1F *fHOutMultFMD ; //control histogram for multiplicity |
127 | TH1F *fHOutMultTRK ; //control histogram for multiplicity | |
128 | TH1F *fHOutMultTKL ; //control histogram for multiplicity | |
129 | TH1F *fHOutMultCL0 ; //control histogram for multiplicity | |
130 | TH1F *fHOutMultCL1 ; //control histogram for multiplicity | |
131 | ||
31200bdf | 132 | TH2F *fHOutMultV0MvsZDN; //control histogram for multiplicity |
133 | TH2F *fHOutMultZEMvsZDN; //control histogram for multiplicity | |
36ee40df | 134 | TH2F *fHOutMultV0MvsZDC; //control histogram for multiplicity |
135 | TH2F *fHOutMultZEMvsZDC; //control histogram for multiplicity | |
39bbe018 | 136 | TH2F *fHOutMultZEMvsZDCw; //control histogram for multiplicity |
ab57f513 | 137 | TH2F *fHOutMultV0MvsCL1; //control histogram for multiplicity |
138 | TH2F *fHOutMultV0MvsTRK; //control histogram for multiplicity | |
139 | TH2F *fHOutMultTRKvsCL1; //control histogram for multiplicity | |
a43ed687 | 140 | TH2F *fHOutMultV0MvsV0O; //control histogram for multiplicity |
141 | TH2F *fHOutMultV0OvsCL1; //control histogram for multiplicity | |
142 | TH2F *fHOutMultV0OvsTRK; //control histogram for multiplicity | |
36ee40df | 143 | |
04341115 | 144 | TH1F *fHOutCentV0Mqual1 ; //control histogram for centrality quality 1 |
145 | TH1F *fHOutCentTRKqual1 ; //control histogram for centrality quality 1 | |
146 | TH1F *fHOutCentCL1qual1 ; //control histogram for centrality quality 1 | |
79d4544b | 147 | TH2F *fHOutMultV0MvsCL1qual1; //control histogram for multiplicity quality 1 |
148 | TH2F *fHOutMultV0MvsTRKqual1; //control histogram for multiplicity quality 1 | |
149 | TH2F *fHOutMultTRKvsCL1qual1; //control histogram for multiplicity quality 1 | |
a540a9d3 | 150 | |
04341115 | 151 | TH1F *fHOutCentV0Mqual2 ; //control histogram for centrality quality 2 |
152 | TH1F *fHOutCentTRKqual2 ; //control histogram for centrality quality 2 | |
153 | TH1F *fHOutCentCL1qual2 ; //control histogram for centrality quality 2 | |
79d4544b | 154 | TH2F *fHOutMultV0MvsCL1qual2; //control histogram for multiplicity quality 2 |
155 | TH2F *fHOutMultV0MvsTRKqual2; //control histogram for multiplicity quality 2 | |
156 | TH2F *fHOutMultTRKvsCL1qual2; //control histogram for multiplicity quality 2 | |
a540a9d3 | 157 | |
158 | TH1F *fHOutQuality ; //control histogram for quality | |
a43ed687 | 159 | TH1F *fHOutVertex ; //control histogram for vertex |
a540a9d3 | 160 | |
4fced115 | 161 | ClassDef(AliCentralitySelectionTask, 12); |
dcd68d00 | 162 | }; |
163 | ||
164 | #endif | |
165 |