]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/STEERBase/AliCentrality.cxx
- fast TRD PID implementation with muon constraints (Daniel Lohner)
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliCentrality.cxx
CommitLineData
d15bf53f 1/**************************************************************************
2 * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16//*****************************************************
a540a9d3 17// Class AliCentrality
d15bf53f 18// author: Alberica Toia
19//*****************************************************
fba4b2e2 20/// A container for the centrality stored in AOD in ESD
d15bf53f 21
fba4b2e2 22#include "AliCentrality.h"
d15bf53f 23
fba4b2e2 24ClassImp(AliCentrality)
d15bf53f 25
fba4b2e2 26AliCentrality::AliCentrality() : TNamed("Centrality", "Centrality"),
93d96ff5 27 fQuality(999),
d15bf53f 28 fCentralityV0M(0),
13e74ee2 29 fCentralityV0A(0),
2d12adde 30 fCentralityV0A123(0),
13e74ee2 31 fCentralityV0C(0),
f9a774f9 32 fCentralityV0MEq(0),
33 fCentralityV0AEq(0),
34 fCentralityV0CEq(0),
d15bf53f 35 fCentralityFMD(0),
36 fCentralityTRK(0),
37 fCentralityTKL(0),
38 fCentralityCL0(0),
be0d4e9b 39 fCentralityCL1(0),
13e74ee2 40 fCentralityCND(0),
99029fba 41 fCentralityZNA(0),
f9a774f9 42 fCentralityZNC(0),
3a19f64f 43 fCentralityZPA(0),
44 fCentralityZPC(0),
39a3e400 45 fCentralityNPA(0),
d15bf53f 46 fCentralityV0MvsFMD(0),
47 fCentralityTKLvsV0M(0),
39a3e400 48 fCentralityZEMvsZDC(0),
49 fCentralityV0Mtrue(0),
50 fCentralityV0Atrue(0),
51 fCentralityV0Ctrue(0),
f9a774f9 52 fCentralityV0MEqtrue(0),
53 fCentralityV0AEqtrue(0),
54 fCentralityV0CEqtrue(0),
39a3e400 55 fCentralityFMDtrue(0),
56 fCentralityTRKtrue(0),
57 fCentralityTKLtrue(0),
58 fCentralityCL0true(0),
59 fCentralityCL1true(0),
60 fCentralityCNDtrue(0),
f9a774f9 61 fCentralityZNAtrue(0),
3a19f64f 62 fCentralityZNCtrue(0),
63 fCentralityZPAtrue(0),
64 fCentralityZPCtrue(0)
d15bf53f 65{
66 /// constructor
67}
68
fba4b2e2 69AliCentrality::AliCentrality(const AliCentrality& cnt) :
a540a9d3 70 TNamed(cnt),
71 fQuality(cnt.fQuality),
d15bf53f 72 fCentralityV0M(cnt.fCentralityV0M),
13e74ee2 73 fCentralityV0A(cnt.fCentralityV0A),
2d12adde 74 fCentralityV0A123(cnt.fCentralityV0A123),
13e74ee2 75 fCentralityV0C(cnt.fCentralityV0C),
f9a774f9 76 fCentralityV0MEq(cnt.fCentralityV0MEq),
77 fCentralityV0AEq(cnt.fCentralityV0AEq),
78 fCentralityV0CEq(cnt.fCentralityV0CEq),
d15bf53f 79 fCentralityFMD(cnt.fCentralityFMD),
80 fCentralityTRK(cnt.fCentralityTRK),
81 fCentralityTKL(cnt.fCentralityTKL),
82 fCentralityCL0(cnt.fCentralityCL0),
be0d4e9b 83 fCentralityCL1(cnt.fCentralityCL1),
13e74ee2 84 fCentralityCND(cnt.fCentralityCND),
99029fba 85 fCentralityZNA(cnt.fCentralityZNA),
f9a774f9 86 fCentralityZNC(cnt.fCentralityZNC),
3a19f64f 87 fCentralityZPA(cnt.fCentralityZPA),
88 fCentralityZPC(cnt.fCentralityZPC),
39a3e400 89 fCentralityNPA(cnt.fCentralityNPA),
d15bf53f 90 fCentralityV0MvsFMD(cnt.fCentralityV0MvsFMD),
91 fCentralityTKLvsV0M(cnt.fCentralityTKLvsV0M),
39a3e400 92 fCentralityZEMvsZDC(cnt.fCentralityZEMvsZDC),
93 fCentralityV0Mtrue(cnt.fCentralityV0Mtrue),
94 fCentralityV0Atrue(cnt.fCentralityV0Atrue),
95 fCentralityV0Ctrue(cnt.fCentralityV0Ctrue),
f9a774f9 96 fCentralityV0MEqtrue(cnt.fCentralityV0MEqtrue),
97 fCentralityV0AEqtrue(cnt.fCentralityV0AEqtrue),
98 fCentralityV0CEqtrue(cnt.fCentralityV0CEqtrue),
39a3e400 99 fCentralityFMDtrue(cnt.fCentralityFMDtrue),
100 fCentralityTRKtrue(cnt.fCentralityTRKtrue),
101 fCentralityTKLtrue(cnt.fCentralityTKLtrue),
102 fCentralityCL0true(cnt.fCentralityCL0true),
103 fCentralityCL1true(cnt.fCentralityCL1true),
104 fCentralityCNDtrue(cnt.fCentralityCNDtrue),
f9a774f9 105 fCentralityZNAtrue(cnt.fCentralityZNAtrue),
3a19f64f 106 fCentralityZNCtrue(cnt.fCentralityZNCtrue),
107 fCentralityZPAtrue(cnt.fCentralityZPAtrue),
108 fCentralityZPCtrue(cnt.fCentralityZPCtrue)
d15bf53f 109{
110 /// Copy constructor
111}
112
fba4b2e2 113AliCentrality& AliCentrality::operator=(const AliCentrality& c)
d15bf53f 114{
115 /// Assignment operator
116 if (this!=&c) {
117 TNamed::operator=(c);
a540a9d3 118 fQuality = c.fQuality;
d15bf53f 119 fCentralityV0M = c.fCentralityV0M;
13e74ee2 120 fCentralityV0A = c.fCentralityV0A;
2d12adde 121 fCentralityV0A123 = c.fCentralityV0A123;
13e74ee2 122 fCentralityV0C = c.fCentralityV0C;
f9a774f9 123 fCentralityV0MEq = c.fCentralityV0MEq;
124 fCentralityV0AEq = c.fCentralityV0AEq;
125 fCentralityV0CEq = c.fCentralityV0CEq;
d15bf53f 126 fCentralityFMD = c.fCentralityFMD;
127 fCentralityTRK = c.fCentralityTRK;
128 fCentralityTKL = c.fCentralityTKL;
129 fCentralityCL0 = c.fCentralityCL0;
be0d4e9b 130 fCentralityCL1 = c.fCentralityCL1;
13e74ee2 131 fCentralityCND = c.fCentralityCND;
99029fba 132 fCentralityZNA = c.fCentralityZNA;
f9a774f9 133 fCentralityZNC = c.fCentralityZNC;
3a19f64f 134 fCentralityZPA = c.fCentralityZPA;
135 fCentralityZPC = c.fCentralityZPC;
39a3e400 136 fCentralityNPA = c.fCentralityNPA;
d15bf53f 137 fCentralityV0MvsFMD = c.fCentralityV0MvsFMD;
138 fCentralityTKLvsV0M = c.fCentralityTKLvsV0M;
139 fCentralityZEMvsZDC = c.fCentralityZEMvsZDC;
39a3e400 140 fCentralityV0Mtrue = c.fCentralityV0Mtrue;
141 fCentralityV0Atrue = c.fCentralityV0Atrue;
142 fCentralityV0Ctrue = c.fCentralityV0Ctrue;
f9a774f9 143 fCentralityV0MEqtrue = c.fCentralityV0MEqtrue;
144 fCentralityV0AEqtrue = c.fCentralityV0AEqtrue;
145 fCentralityV0CEqtrue = c.fCentralityV0CEqtrue;
39a3e400 146 fCentralityFMDtrue = c.fCentralityFMDtrue;
147 fCentralityTRKtrue = c.fCentralityTRKtrue;
148 fCentralityTKLtrue = c.fCentralityTKLtrue;
149 fCentralityCL0true = c.fCentralityCL0true;
150 fCentralityCL1true = c.fCentralityCL1true;
151 fCentralityCNDtrue = c.fCentralityCNDtrue;
152 fCentralityZNAtrue = c.fCentralityZNAtrue;
f9a774f9 153 fCentralityZNCtrue = c.fCentralityZNCtrue;
3a19f64f 154 fCentralityZPAtrue = c.fCentralityZPAtrue;
155 fCentralityZPCtrue = c.fCentralityZPCtrue;
d15bf53f 156 }
157
158 return *this;
159}
160
fba4b2e2 161AliCentrality::~AliCentrality()
d15bf53f 162{
163 /// destructor
164}
165
aa7e002c 166Int_t AliCentrality::GetQuality() const
a540a9d3 167{
168 return fQuality;
169}
170
aa7e002c 171Float_t AliCentrality::GetCentralityPercentile(const char *x) const
a540a9d3 172{
aa7e002c 173// Return the centrality percentile
a540a9d3 174 if (fQuality == 0) {
175 TString method = x;
176 if(method.CompareTo("V0M")==0) return fCentralityV0M;
13e74ee2 177 if(method.CompareTo("V0A")==0) return fCentralityV0A;
2d12adde 178 if(method.CompareTo("V0A123")==0) return fCentralityV0A123;
13e74ee2 179 if(method.CompareTo("V0C")==0) return fCentralityV0C;
f9a774f9 180 if(method.CompareTo("V0MEq")==0) return fCentralityV0MEq;
181 if(method.CompareTo("V0AEq")==0) return fCentralityV0AEq;
182 if(method.CompareTo("V0CEq")==0) return fCentralityV0CEq;
a540a9d3 183 if(method.CompareTo("FMD")==0) return fCentralityFMD;
184 if(method.CompareTo("TRK")==0) return fCentralityTRK;
185 if(method.CompareTo("TKL")==0) return fCentralityTKL;
186 if(method.CompareTo("CL0")==0) return fCentralityCL0;
187 if(method.CompareTo("CL1")==0) return fCentralityCL1;
13e74ee2 188 if(method.CompareTo("CND")==0) return fCentralityCND;
99029fba 189 if(method.CompareTo("ZNA")==0) return fCentralityZNA;
f9a774f9 190 if(method.CompareTo("ZNC")==0) return fCentralityZNC;
3a19f64f 191 if(method.CompareTo("ZPA")==0) return fCentralityZPA;
192 if(method.CompareTo("ZPC")==0) return fCentralityZPC;
39a3e400 193 if(method.CompareTo("NPA")==0) return fCentralityNPA;
a540a9d3 194 if(method.CompareTo("V0MvsFMD")==0) return fCentralityV0MvsFMD;
195 if(method.CompareTo("TKLvsV0M")==0) return fCentralityTKLvsV0M;
fe92f402 196 if(method.CompareTo("ZEMvsZDC")==0) return fCentralityZEMvsZDC;
39a3e400 197 if(method.CompareTo("V0Mtrue")==0) return fCentralityV0Mtrue;
198 if(method.CompareTo("V0Atrue")==0) return fCentralityV0Atrue;
199 if(method.CompareTo("V0Ctrue")==0) return fCentralityV0Ctrue;
f9a774f9 200 if(method.CompareTo("V0MEqtrue")==0) return fCentralityV0MEqtrue;
201 if(method.CompareTo("V0AEqtrue")==0) return fCentralityV0AEqtrue;
202 if(method.CompareTo("V0CEqtrue")==0) return fCentralityV0CEqtrue;
39a3e400 203 if(method.CompareTo("FMDtrue")==0) return fCentralityFMDtrue;
204 if(method.CompareTo("TRKtrue")==0) return fCentralityTRKtrue;
205 if(method.CompareTo("TKLtrue")==0) return fCentralityTKLtrue;
206 if(method.CompareTo("CL0true")==0) return fCentralityCL0true;
207 if(method.CompareTo("CL1true")==0) return fCentralityCL1true;
208 if(method.CompareTo("CNDtrue")==0) return fCentralityCNDtrue;
209 if(method.CompareTo("ZNAtrue")==0) return fCentralityZNAtrue;
f9a774f9 210 if(method.CompareTo("ZNCtrue")==0) return fCentralityZNCtrue;
3a19f64f 211 if(method.CompareTo("ZPAtrue")==0) return fCentralityZPAtrue;
212 if(method.CompareTo("ZPCtrue")==0) return fCentralityZPCtrue;
a540a9d3 213 return -1;
214 } else {
215 return -1;
216 }
217}
218
aa7e002c 219Int_t AliCentrality::GetCentralityClass10(const char *x) const
a540a9d3 220{
aa7e002c 221// Return the centrality class
a540a9d3 222 if (fQuality == 0) {
223 TString method = x;
224 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 10.0);
13e74ee2 225 if(method.CompareTo("V0A")==0) return (Int_t) (fCentralityV0A / 10.0);
2d12adde 226 if(method.CompareTo("V0A123")==0) return (Int_t) (fCentralityV0A123 / 10.0);
13e74ee2 227 if(method.CompareTo("V0C")==0) return (Int_t) (fCentralityV0C / 10.0);
f9a774f9 228 if(method.CompareTo("V0MEq")==0) return (Int_t) (fCentralityV0MEq / 10.0);
229 if(method.CompareTo("V0AEq")==0) return (Int_t) (fCentralityV0AEq / 10.0);
230 if(method.CompareTo("V0CEq")==0) return (Int_t) (fCentralityV0CEq / 10.0);
a540a9d3 231 if(method.CompareTo("FMD")==0) return (Int_t) (fCentralityFMD / 10.0);
232 if(method.CompareTo("TRK")==0) return (Int_t) (fCentralityTRK / 10.0);
233 if(method.CompareTo("TKL")==0) return (Int_t) (fCentralityTKL / 10.0);
234 if(method.CompareTo("CL0")==0) return (Int_t) (fCentralityCL0 / 10.0);
235 if(method.CompareTo("CL1")==0) return (Int_t) (fCentralityCL1 / 10.0);
13e74ee2 236 if(method.CompareTo("CND")==0) return (Int_t) (fCentralityCND / 10.0);
99029fba 237 if(method.CompareTo("ZNA")==0) return (Int_t) (fCentralityZNA / 10.0);
f9a774f9 238 if(method.CompareTo("ZNC")==0) return (Int_t) (fCentralityZNC / 10.0);
3a19f64f 239 if(method.CompareTo("ZPA")==0) return (Int_t) (fCentralityZPA / 10.0);
240 if(method.CompareTo("ZPC")==0) return (Int_t) (fCentralityZPC / 10.0);
39a3e400 241 if(method.CompareTo("NPA")==0) return (Int_t) (fCentralityNPA / 10.0);
a540a9d3 242 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 10.0);
243 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 10.0);
fe92f402 244 if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 10.0);
39a3e400 245 if(method.CompareTo("V0Mtrue")==0) return (Int_t) (fCentralityV0Mtrue / 10.0);
246 if(method.CompareTo("V0Atrue")==0) return (Int_t) (fCentralityV0Atrue / 10.0);
247 if(method.CompareTo("V0Ctrue")==0) return (Int_t) (fCentralityV0Ctrue / 10.0);
f9a774f9 248 if(method.CompareTo("V0MEqtrue")==0)return (Int_t) (fCentralityV0MEqtrue / 10.0);
249 if(method.CompareTo("V0AEqtrue")==0)return (Int_t) (fCentralityV0AEqtrue / 10.0);
250 if(method.CompareTo("V0CEqtrue")==0)return (Int_t) (fCentralityV0CEqtrue / 10.0);
39a3e400 251 if(method.CompareTo("FMDtrue")==0) return (Int_t) (fCentralityFMDtrue / 10.0);
252 if(method.CompareTo("TRKtrue")==0) return (Int_t) (fCentralityTRKtrue / 10.0);
253 if(method.CompareTo("TKLtrue")==0) return (Int_t) (fCentralityTKLtrue / 10.0);
254 if(method.CompareTo("CL0true")==0) return (Int_t) (fCentralityCL0true / 10.0);
255 if(method.CompareTo("CL1true")==0) return (Int_t) (fCentralityCL1true / 10.0);
256 if(method.CompareTo("CNDtrue")==0) return (Int_t) (fCentralityCNDtrue / 10.0);
257 if(method.CompareTo("ZNAtrue")==0) return (Int_t) (fCentralityZNAtrue / 10.0);
f9a774f9 258 if(method.CompareTo("ZNCtrue")==0) return (Int_t) (fCentralityZNCtrue / 10.0);
3a19f64f 259 if(method.CompareTo("ZPAtrue")==0) return (Int_t) (fCentralityZPAtrue / 10.0);
260 if(method.CompareTo("ZPCtrue")==0) return (Int_t) (fCentralityZPCtrue / 10.0);
a540a9d3 261 return -1;
262 } else {
263 return -1;
264 }
265}
266
aa7e002c 267Int_t AliCentrality::GetCentralityClass5(const char *x) const
a540a9d3 268{
aa7e002c 269// Return the centrality class
a540a9d3 270 if (fQuality == 0) {
271 TString method = x;
272 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 5.0);
13e74ee2 273 if(method.CompareTo("V0A")==0) return (Int_t) (fCentralityV0A / 5.0);
2d12adde 274 if(method.CompareTo("V0A123")==0) return (Int_t) (fCentralityV0A123 / 5.0);
13e74ee2 275 if(method.CompareTo("V0C")==0) return (Int_t) (fCentralityV0C / 5.0);
f9a774f9 276 if(method.CompareTo("V0MEq")==0) return (Int_t) (fCentralityV0MEq / 5.0);
277 if(method.CompareTo("V0AEq")==0) return (Int_t) (fCentralityV0AEq / 5.0);
278 if(method.CompareTo("V0CEq")==0) return (Int_t) (fCentralityV0CEq / 5.0);
a540a9d3 279 if(method.CompareTo("FMD")==0) return (Int_t) (fCentralityFMD / 5.0);
280 if(method.CompareTo("TRK")==0) return (Int_t) (fCentralityTRK / 5.0);
281 if(method.CompareTo("TKL")==0) return (Int_t) (fCentralityTKL / 5.0);
282 if(method.CompareTo("CL0")==0) return (Int_t) (fCentralityCL0 / 5.0);
283 if(method.CompareTo("CL1")==0) return (Int_t) (fCentralityCL1 / 5.0);
13e74ee2 284 if(method.CompareTo("CND")==0) return (Int_t) (fCentralityCND / 5.0);
99029fba 285 if(method.CompareTo("ZNA")==0) return (Int_t) (fCentralityZNA / 5.0);
f9a774f9 286 if(method.CompareTo("ZNC")==0) return (Int_t) (fCentralityZNC / 5.0);
3a19f64f 287 if(method.CompareTo("ZPA")==0) return (Int_t) (fCentralityZPA / 5.0);
288 if(method.CompareTo("ZPC")==0) return (Int_t) (fCentralityZPC / 5.0);
39a3e400 289 if(method.CompareTo("NPA")==0) return (Int_t) (fCentralityNPA / 5.0);
a540a9d3 290 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 5.0);
291 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 5.0);
fe92f402 292 if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 5.0);
39a3e400 293 if(method.CompareTo("V0Mtrue")==0) return (Int_t) (fCentralityV0Mtrue / 5.0);
294 if(method.CompareTo("V0Atrue")==0) return (Int_t) (fCentralityV0Atrue / 5.0);
295 if(method.CompareTo("V0Ctrue")==0) return (Int_t) (fCentralityV0Ctrue / 5.0);
f9a774f9 296 if(method.CompareTo("V0MEqtrue")==0)return (Int_t) (fCentralityV0MEqtrue / 5.0);
297 if(method.CompareTo("V0AEqtrue")==0)return (Int_t) (fCentralityV0AEqtrue / 5.0);
298 if(method.CompareTo("V0CEqtrue")==0)return (Int_t) (fCentralityV0CEqtrue / 5.0);
39a3e400 299 if(method.CompareTo("FMDtrue")==0) return (Int_t) (fCentralityFMDtrue / 5.0);
300 if(method.CompareTo("TRKtrue")==0) return (Int_t) (fCentralityTRKtrue / 5.0);
301 if(method.CompareTo("TKLtrue")==0) return (Int_t) (fCentralityTKLtrue / 5.0);
302 if(method.CompareTo("CL0true")==0) return (Int_t) (fCentralityCL0true / 5.0);
303 if(method.CompareTo("CL1true")==0) return (Int_t) (fCentralityCL1true / 5.0);
304 if(method.CompareTo("CNDtrue")==0) return (Int_t) (fCentralityCNDtrue / 5.0);
305 if(method.CompareTo("ZNAtrue")==0) return (Int_t) (fCentralityZNAtrue / 5.0);
f9a774f9 306 if(method.CompareTo("ZNCtrue")==0) return (Int_t) (fCentralityZNCtrue / 5.0);
3a19f64f 307 if(method.CompareTo("ZPAtrue")==0) return (Int_t) (fCentralityZPAtrue / 5.0);
308 if(method.CompareTo("ZPCtrue")==0) return (Int_t) (fCentralityZPCtrue / 5.0);
a540a9d3 309 return -1;
310 } else {
311 return -1;
312 }
313}
314
315
aa7e002c 316Bool_t AliCentrality::IsEventInCentralityClass(Float_t a, Float_t b, const char *x) const
a540a9d3 317{
aa7e002c 318// True if event is inside a given class
a540a9d3 319 if (fQuality == 0) {
320 TString method = x;
321 if ((method.CompareTo("V0M")==0) && (fCentralityV0M >=a && fCentralityV0M < b)) return kTRUE;
13e74ee2 322 if ((method.CompareTo("V0A")==0) && (fCentralityV0A >=a && fCentralityV0A < b)) return kTRUE;
2d12adde 323 if ((method.CompareTo("V0A123")==0) && (fCentralityV0A123 >=a && fCentralityV0A123 < b)) return kTRUE;
13e74ee2 324 if ((method.CompareTo("V0C")==0) && (fCentralityV0C >=a && fCentralityV0C < b)) return kTRUE;
f9a774f9 325 if ((method.CompareTo("V0MEq")==0) && (fCentralityV0MEq >=a && fCentralityV0MEq < b)) return kTRUE;
326 if ((method.CompareTo("V0AEq")==0) && (fCentralityV0AEq >=a && fCentralityV0AEq < b)) return kTRUE;
327 if ((method.CompareTo("V0CEq")==0) && (fCentralityV0CEq >=a && fCentralityV0CEq < b)) return kTRUE;
a540a9d3 328 if ((method.CompareTo("FMD")==0) && (fCentralityFMD >=a && fCentralityFMD < b)) return kTRUE;
329 if ((method.CompareTo("TRK")==0) && (fCentralityTRK >=a && fCentralityTRK < b)) return kTRUE;
330 if ((method.CompareTo("TKL")==0) && (fCentralityTKL >=a && fCentralityTKL < b)) return kTRUE;
331 if ((method.CompareTo("CL0")==0) && (fCentralityCL0 >=a && fCentralityCL0 < b)) return kTRUE;
332 if ((method.CompareTo("CL1")==0) && (fCentralityCL1 >=a && fCentralityCL1 < b)) return kTRUE;
13e74ee2 333 if ((method.CompareTo("CND")==0) && (fCentralityCND >=a && fCentralityCND < b)) return kTRUE;
99029fba 334 if ((method.CompareTo("ZNA")==0) && (fCentralityZNA >=a && fCentralityZNA < b)) return kTRUE;
f9a774f9 335 if ((method.CompareTo("ZNC")==0) && (fCentralityZNC >=a && fCentralityZNC < b)) return kTRUE;
3a19f64f 336 if ((method.CompareTo("ZPA")==0) && (fCentralityZPA >=a && fCentralityZPA < b)) return kTRUE;
337 if ((method.CompareTo("ZPC")==0) && (fCentralityZPC >=a && fCentralityZPC < b)) return kTRUE;
39a3e400 338 if ((method.CompareTo("NPA")==0) && (fCentralityNPA >=a && fCentralityNPA < b)) return kTRUE;
a540a9d3 339 if ((method.CompareTo("V0MvsFMD")==0) && (fCentralityV0MvsFMD >=a && fCentralityV0MvsFMD < b)) return kTRUE;
340 if ((method.CompareTo("TKLvsV0M")==0) && (fCentralityTKLvsV0M >=a && fCentralityTKLvsV0M < b)) return kTRUE;
341 if ((method.CompareTo("ZEMvsZDC")==0) && (fCentralityZEMvsZDC >=a && fCentralityZEMvsZDC < b)) return kTRUE;
39a3e400 342 if ((method.CompareTo("V0Mtrue")==0) && (fCentralityV0Mtrue >=a && fCentralityV0Mtrue < b)) return kTRUE;
343 if ((method.CompareTo("V0Atrue")==0) && (fCentralityV0Atrue >=a && fCentralityV0Atrue < b)) return kTRUE;
344 if ((method.CompareTo("V0Ctrue")==0) && (fCentralityV0Ctrue >=a && fCentralityV0Ctrue < b)) return kTRUE;
f9a774f9 345 if ((method.CompareTo("V0MEqtrue")==0) && (fCentralityV0MEqtrue >=a && fCentralityV0MEqtrue < b)) return kTRUE;
346 if ((method.CompareTo("V0AEqtrue")==0) && (fCentralityV0AEqtrue >=a && fCentralityV0AEqtrue < b)) return kTRUE;
347 if ((method.CompareTo("V0CEqtrue")==0) && (fCentralityV0CEqtrue >=a && fCentralityV0CEqtrue < b)) return kTRUE;
39a3e400 348 if ((method.CompareTo("FMDtrue")==0) && (fCentralityFMDtrue >=a && fCentralityFMDtrue < b)) return kTRUE;
349 if ((method.CompareTo("TRKtrue")==0) && (fCentralityTRKtrue >=a && fCentralityTRKtrue < b)) return kTRUE;
350 if ((method.CompareTo("TKLtrue")==0) && (fCentralityTKLtrue >=a && fCentralityTKLtrue < b)) return kTRUE;
351 if ((method.CompareTo("CL0true")==0) && (fCentralityCL0true >=a && fCentralityCL0true < b)) return kTRUE;
352 if ((method.CompareTo("CL1true")==0) && (fCentralityCL1true >=a && fCentralityCL1true < b)) return kTRUE;
353 if ((method.CompareTo("CNDtrue")==0) && (fCentralityCNDtrue >=a && fCentralityCNDtrue < b)) return kTRUE;
354 if ((method.CompareTo("ZNAtrue")==0) && (fCentralityZNAtrue >=a && fCentralityZNAtrue < b)) return kTRUE;
f9a774f9 355 if ((method.CompareTo("ZNCtrue")==0) && (fCentralityZNCtrue >=a && fCentralityZNCtrue < b)) return kTRUE;
3a19f64f 356 if ((method.CompareTo("ZPAtrue")==0) && (fCentralityZPAtrue >=a && fCentralityZPAtrue < b)) return kTRUE;
357 if ((method.CompareTo("ZPCtrue")==0) && (fCentralityZPCtrue >=a && fCentralityZPCtrue < b)) return kTRUE;
a540a9d3 358 else return kFALSE;
359 } else {
067ce65d 360 return kFALSE;
a540a9d3 361 }
362}
363
aa7e002c 364Float_t AliCentrality::GetCentralityPercentileUnchecked(const char *x) const
d15bf53f 365{
aa7e002c 366// Return the centrality percentile
d15bf53f 367 TString method = x;
368 if(method.CompareTo("V0M")==0) return fCentralityV0M;
13e74ee2 369 if(method.CompareTo("V0A")==0) return fCentralityV0A;
2d12adde 370 if(method.CompareTo("V0A123")==0) return fCentralityV0A123;
13e74ee2 371 if(method.CompareTo("V0C")==0) return fCentralityV0C;
f9a774f9 372 if(method.CompareTo("V0MEq")==0) return fCentralityV0MEq;
373 if(method.CompareTo("V0AEq")==0) return fCentralityV0AEq;
374 if(method.CompareTo("V0CEq")==0) return fCentralityV0CEq;
d15bf53f 375 if(method.CompareTo("FMD")==0) return fCentralityFMD;
376 if(method.CompareTo("TRK")==0) return fCentralityTRK;
377 if(method.CompareTo("TKL")==0) return fCentralityTKL;
378 if(method.CompareTo("CL0")==0) return fCentralityCL0;
be0d4e9b 379 if(method.CompareTo("CL1")==0) return fCentralityCL1;
13e74ee2 380 if(method.CompareTo("CND")==0) return fCentralityCND;
99029fba 381 if(method.CompareTo("ZNA")==0) return fCentralityZNA;
f9a774f9 382 if(method.CompareTo("ZNC")==0) return fCentralityZNC;
3a19f64f 383 if(method.CompareTo("ZPA")==0) return fCentralityZPA;
384 if(method.CompareTo("ZPC")==0) return fCentralityZPC;
39a3e400 385 if(method.CompareTo("NPA")==0) return fCentralityNPA;
d15bf53f 386 if(method.CompareTo("V0MvsFMD")==0) return fCentralityV0MvsFMD;
387 if(method.CompareTo("TKLvsV0M")==0) return fCentralityTKLvsV0M;
fe92f402 388 if(method.CompareTo("ZEMvsZDC")==0) return fCentralityZEMvsZDC;
39a3e400 389 if(method.CompareTo("V0Mtrue")==0) return fCentralityV0Mtrue;
390 if(method.CompareTo("V0Atrue")==0) return fCentralityV0Atrue;
391 if(method.CompareTo("V0Ctrue")==0) return fCentralityV0Ctrue;
f9a774f9 392 if(method.CompareTo("V0MEqtrue")==0) return fCentralityV0MEqtrue;
393 if(method.CompareTo("V0AEqtrue")==0) return fCentralityV0AEqtrue;
394 if(method.CompareTo("V0CEqtrue")==0) return fCentralityV0CEqtrue;
39a3e400 395 if(method.CompareTo("FMDtrue")==0) return fCentralityFMDtrue;
396 if(method.CompareTo("TRKtrue")==0) return fCentralityTRKtrue;
397 if(method.CompareTo("TKLtrue")==0) return fCentralityTKLtrue;
398 if(method.CompareTo("CL0true")==0) return fCentralityCL0true;
399 if(method.CompareTo("CL1true")==0) return fCentralityCL1true;
400 if(method.CompareTo("CNDtrue")==0) return fCentralityCNDtrue;
401 if(method.CompareTo("ZNAtrue")==0) return fCentralityZNAtrue;
3a19f64f 402 if(method.CompareTo("ZNCtrue")==0) return fCentralityZNCtrue;
403 if(method.CompareTo("ZPAtrue")==0) return fCentralityZPAtrue;
404 if(method.CompareTo("ZPCtrue")==0) return fCentralityZPCtrue;
d15bf53f 405 return -1;
406}
407
aa7e002c 408Int_t AliCentrality::GetCentralityClass10Unchecked(const char *x) const
d15bf53f 409{
aa7e002c 410// Return the centrality class
d15bf53f 411 TString method = x;
f9a774f9 412 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 10.0);
413 if(method.CompareTo("V0A")==0) return (Int_t) (fCentralityV0A / 10.0);
2d12adde 414 if(method.CompareTo("V0A123")==0) return (Int_t) (fCentralityV0A123 / 10.0);
f9a774f9 415 if(method.CompareTo("V0C")==0) return (Int_t) (fCentralityV0C / 10.0);
416 if(method.CompareTo("V0MEq")==0) return (Int_t) (fCentralityV0MEq / 10.0);
417 if(method.CompareTo("V0AEq")==0) return (Int_t) (fCentralityV0AEq / 10.0);
418 if(method.CompareTo("V0CEq")==0) return (Int_t) (fCentralityV0CEq / 10.0);
419 if(method.CompareTo("FMD")==0) return (Int_t) (fCentralityFMD / 10.0);
420 if(method.CompareTo("TRK")==0) return (Int_t) (fCentralityTRK / 10.0);
421 if(method.CompareTo("TKL")==0) return (Int_t) (fCentralityTKL / 10.0);
422 if(method.CompareTo("CL0")==0) return (Int_t) (fCentralityCL0 / 10.0);
423 if(method.CompareTo("CL1")==0) return (Int_t) (fCentralityCL1 / 10.0);
424 if(method.CompareTo("CND")==0) return (Int_t) (fCentralityCND / 10.0);
425 if(method.CompareTo("ZNA")==0) return (Int_t) (fCentralityZNA / 10.0);
426 if(method.CompareTo("ZNC")==0) return (Int_t) (fCentralityZNC / 10.0);
3a19f64f 427 if(method.CompareTo("ZPA")==0) return (Int_t) (fCentralityZPA / 10.0);
428 if(method.CompareTo("ZPC")==0) return (Int_t) (fCentralityZPC / 10.0);
f9a774f9 429 if(method.CompareTo("NPA")==0) return (Int_t) (fCentralityNPA / 10.0);
430 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 10.0);
431 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 10.0);
432 if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 10.0);
433 if(method.CompareTo("V0Mtrue")==0) return (Int_t) (fCentralityV0Mtrue / 10.0);
434 if(method.CompareTo("V0Atrue")==0) return (Int_t) (fCentralityV0Atrue / 10.0);
435 if(method.CompareTo("V0Ctrue")==0) return (Int_t) (fCentralityV0Ctrue / 10.0);
436 if(method.CompareTo("V0MEqtrue")==0)return (Int_t) (fCentralityV0MEqtrue / 10.0);
437 if(method.CompareTo("V0AEqtrue")==0)return (Int_t) (fCentralityV0AEqtrue / 10.0);
438 if(method.CompareTo("V0CEqtrue")==0)return (Int_t) (fCentralityV0CEqtrue / 10.0);
439 if(method.CompareTo("FMDtrue")==0) return (Int_t) (fCentralityFMDtrue / 10.0);
440 if(method.CompareTo("TRKtrue")==0) return (Int_t) (fCentralityTRKtrue / 10.0);
441 if(method.CompareTo("TKLtrue")==0) return (Int_t) (fCentralityTKLtrue / 10.0);
442 if(method.CompareTo("CL0true")==0) return (Int_t) (fCentralityCL0true / 10.0);
443 if(method.CompareTo("CL1true")==0) return (Int_t) (fCentralityCL1true / 10.0);
444 if(method.CompareTo("CNDtrue")==0) return (Int_t) (fCentralityCNDtrue / 10.0);
445 if(method.CompareTo("ZNAtrue")==0) return (Int_t) (fCentralityZNAtrue / 10.0);
446 if(method.CompareTo("ZNCtrue")==0) return (Int_t) (fCentralityZNCtrue / 10.0);
3a19f64f 447 if(method.CompareTo("ZPAtrue")==0) return (Int_t) (fCentralityZPAtrue / 10.0);
448 if(method.CompareTo("ZPCtrue")==0) return (Int_t) (fCentralityZPCtrue / 10.0);
d15bf53f 449 return -1;
450}
451
aa7e002c 452Int_t AliCentrality::GetCentralityClass5Unchecked(const char *x) const
d15bf53f 453{
aa7e002c 454// Return the centrality class
a540a9d3 455 TString method = x;
f9a774f9 456 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 5.0);
457 if(method.CompareTo("V0A")==0) return (Int_t) (fCentralityV0A / 5.0);
2d12adde 458 if(method.CompareTo("V0A123")==0) return (Int_t) (fCentralityV0A123 / 5.0);
f9a774f9 459 if(method.CompareTo("V0C")==0) return (Int_t) (fCentralityV0C / 5.0);
460 if(method.CompareTo("V0MEq")==0) return (Int_t) (fCentralityV0MEq / 5.0);
461 if(method.CompareTo("V0AEq")==0) return (Int_t) (fCentralityV0AEq / 5.0);
462 if(method.CompareTo("V0CEq")==0) return (Int_t) (fCentralityV0CEq / 5.0);
463 if(method.CompareTo("FMD")==0) return (Int_t) (fCentralityFMD / 5.0);
464 if(method.CompareTo("TRK")==0) return (Int_t) (fCentralityTRK / 5.0);
465 if(method.CompareTo("TKL")==0) return (Int_t) (fCentralityTKL / 5.0);
466 if(method.CompareTo("CL0")==0) return (Int_t) (fCentralityCL0 / 5.0);
467 if(method.CompareTo("CL1")==0) return (Int_t) (fCentralityCL1 / 5.0);
468 if(method.CompareTo("CND")==0) return (Int_t) (fCentralityCND / 5.0);
469 if(method.CompareTo("ZNA")==0) return (Int_t) (fCentralityZNA / 5.0);
470 if(method.CompareTo("ZNC")==0) return (Int_t) (fCentralityZNC / 5.0);
3a19f64f 471 if(method.CompareTo("ZPA")==0) return (Int_t) (fCentralityZPA / 5.0);
472 if(method.CompareTo("ZPC")==0) return (Int_t) (fCentralityZPC / 5.0);
f9a774f9 473 if(method.CompareTo("NPA")==0) return (Int_t) (fCentralityNPA / 5.0);
474 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 5.0);
475 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 5.0);
476 if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 5.0);
477 if(method.CompareTo("V0Mtrue")==0) return (Int_t) (fCentralityV0Mtrue / 5.0);
478 if(method.CompareTo("V0Atrue")==0) return (Int_t) (fCentralityV0Atrue / 5.0);
479 if(method.CompareTo("V0Ctrue")==0) return (Int_t) (fCentralityV0Ctrue / 5.0);
480 if(method.CompareTo("V0MEqtrue")==0)return (Int_t) (fCentralityV0MEqtrue / 5.0);
481 if(method.CompareTo("V0AEqtrue")==0)return (Int_t) (fCentralityV0AEqtrue / 5.0);
482 if(method.CompareTo("V0CEqtrue")==0)return (Int_t) (fCentralityV0CEqtrue / 5.0);
483 if(method.CompareTo("FMDtrue")==0) return (Int_t) (fCentralityFMDtrue / 5.0);
484 if(method.CompareTo("TRKtrue")==0) return (Int_t) (fCentralityTRKtrue / 5.0);
485 if(method.CompareTo("TKLtrue")==0) return (Int_t) (fCentralityTKLtrue / 5.0);
486 if(method.CompareTo("CL0true")==0) return (Int_t) (fCentralityCL0true / 5.0);
487 if(method.CompareTo("CL1true")==0) return (Int_t) (fCentralityCL1true / 5.0);
488 if(method.CompareTo("CNDtrue")==0) return (Int_t) (fCentralityCNDtrue / 5.0);
489 if(method.CompareTo("ZNAtrue")==0) return (Int_t) (fCentralityZNAtrue / 5.0);
490 if(method.CompareTo("ZNCtrue")==0) return (Int_t) (fCentralityZNCtrue / 5.0);
3a19f64f 491 if(method.CompareTo("ZPAtrue")==0) return (Int_t) (fCentralityZPAtrue / 5.0);
492 if(method.CompareTo("ZPCtrue")==0) return (Int_t) (fCentralityZPCtrue / 5.0);
d15bf53f 493 return -1;
a540a9d3 494}
d15bf53f 495
aa7e002c 496Bool_t AliCentrality::IsEventInCentralityClassUnchecked(Float_t a, Float_t b, const char *x) const
d15bf53f 497{
aa7e002c 498// True if event inside given centrality class
d15bf53f 499 TString method = x;
f9a774f9 500 if ((method.CompareTo("V0M")==0) && (fCentralityV0M >=a && fCentralityV0M < b)) return kTRUE;
501 if ((method.CompareTo("V0A")==0) && (fCentralityV0A >=a && fCentralityV0A < b)) return kTRUE;
2d12adde 502 if ((method.CompareTo("V0A123")==0) && (fCentralityV0A123 >=a && fCentralityV0A123 < b)) return kTRUE;
f9a774f9 503 if ((method.CompareTo("V0C")==0) && (fCentralityV0C >=a && fCentralityV0C < b)) return kTRUE;
504 if ((method.CompareTo("V0MEq")==0) && (fCentralityV0MEq >=a && fCentralityV0MEq < b)) return kTRUE;
505 if ((method.CompareTo("V0AEq")==0) && (fCentralityV0AEq >=a && fCentralityV0AEq < b)) return kTRUE;
506 if ((method.CompareTo("V0CEq")==0) && (fCentralityV0CEq >=a && fCentralityV0CEq < b)) return kTRUE;
507 if ((method.CompareTo("FMD")==0) && (fCentralityFMD >=a && fCentralityFMD < b)) return kTRUE;
508 if ((method.CompareTo("TRK")==0) && (fCentralityTRK >=a && fCentralityTRK < b)) return kTRUE;
509 if ((method.CompareTo("TKL")==0) && (fCentralityTKL >=a && fCentralityTKL < b)) return kTRUE;
510 if ((method.CompareTo("CL0")==0) && (fCentralityCL0 >=a && fCentralityCL0 < b)) return kTRUE;
511 if ((method.CompareTo("CL1")==0) && (fCentralityCL1 >=a && fCentralityCL1 < b)) return kTRUE;
512 if ((method.CompareTo("CND")==0) && (fCentralityCND >=a && fCentralityCND < b)) return kTRUE;
513 if ((method.CompareTo("ZNA")==0) && (fCentralityZNA >=a && fCentralityZNA < b)) return kTRUE;
514 if ((method.CompareTo("ZNC")==0) && (fCentralityZNC >=a && fCentralityZNC < b)) return kTRUE;
3a19f64f 515 if ((method.CompareTo("ZPA")==0) && (fCentralityZPA >=a && fCentralityZPA < b)) return kTRUE;
516 if ((method.CompareTo("ZPC")==0) && (fCentralityZPC >=a && fCentralityZPC < b)) return kTRUE;
f9a774f9 517 if ((method.CompareTo("NPA")==0) && (fCentralityNPA >=a && fCentralityNPA < b)) return kTRUE;
518 if ((method.CompareTo("V0MvsFMD")==0) && (fCentralityV0MvsFMD >=a && fCentralityV0MvsFMD < b)) return kTRUE;
519 if ((method.CompareTo("TKLvsV0M")==0) && (fCentralityTKLvsV0M >=a && fCentralityTKLvsV0M < b)) return kTRUE;
520 if ((method.CompareTo("ZEMvsZDC")==0) && (fCentralityZEMvsZDC >=a && fCentralityZEMvsZDC < b)) return kTRUE;
521 if ((method.CompareTo("V0Mtrue")==0) && (fCentralityV0Mtrue >=a && fCentralityV0Mtrue < b)) return kTRUE;
522 if ((method.CompareTo("V0Atrue")==0) && (fCentralityV0Atrue >=a && fCentralityV0Atrue < b)) return kTRUE;
523 if ((method.CompareTo("V0Ctrue")==0) && (fCentralityV0Ctrue >=a && fCentralityV0Ctrue < b)) return kTRUE;
524 if ((method.CompareTo("V0MEqtrue")==0) && (fCentralityV0MEqtrue >=a && fCentralityV0MEqtrue < b)) return kTRUE;
525 if ((method.CompareTo("V0AEqtrue")==0) && (fCentralityV0AEqtrue >=a && fCentralityV0AEqtrue < b)) return kTRUE;
526 if ((method.CompareTo("V0CEqtrue")==0) && (fCentralityV0CEqtrue >=a && fCentralityV0CEqtrue < b)) return kTRUE;
527 if ((method.CompareTo("FMDtrue")==0) && (fCentralityFMDtrue >=a && fCentralityFMDtrue < b)) return kTRUE;
528 if ((method.CompareTo("TRKtrue")==0) && (fCentralityTRKtrue >=a && fCentralityTRKtrue < b)) return kTRUE;
529 if ((method.CompareTo("TKLtrue")==0) && (fCentralityTKLtrue >=a && fCentralityTKLtrue < b)) return kTRUE;
530 if ((method.CompareTo("CL0true")==0) && (fCentralityCL0true >=a && fCentralityCL0true < b)) return kTRUE;
531 if ((method.CompareTo("CL1true")==0) && (fCentralityCL1true >=a && fCentralityCL1true < b)) return kTRUE;
532 if ((method.CompareTo("CNDtrue")==0) && (fCentralityCNDtrue >=a && fCentralityCNDtrue < b)) return kTRUE;
533 if ((method.CompareTo("ZNAtrue")==0) && (fCentralityZNAtrue >=a && fCentralityZNAtrue < b)) return kTRUE;
534 if ((method.CompareTo("ZNCtrue")==0) && (fCentralityZNCtrue >=a && fCentralityZNCtrue < b)) return kTRUE;
3a19f64f 535 if ((method.CompareTo("ZPAtrue")==0) && (fCentralityZPAtrue >=a && fCentralityZPAtrue < b)) return kTRUE;
536 if ((method.CompareTo("ZPCtrue")==0) && (fCentralityZPCtrue >=a && fCentralityZPCtrue < b)) return kTRUE;
d15bf53f 537 else return kFALSE;
a540a9d3 538}
d15bf53f 539
93d96ff5 540void AliCentrality::Reset()
541{
542// Reset.
543
544 fQuality = 999;
545 fCentralityV0M = 0;
13e74ee2 546 fCentralityV0A = 0;
2d12adde 547 fCentralityV0A123 = 0;
13e74ee2 548 fCentralityV0C = 0;
f9a774f9 549 fCentralityV0MEq = 0;
550 fCentralityV0AEq = 0;
551 fCentralityV0CEq = 0;
93d96ff5 552 fCentralityFMD = 0;
553 fCentralityTRK = 0;
554 fCentralityTKL = 0;
555 fCentralityCL0 = 0;
556 fCentralityCL1 = 0;
13e74ee2 557 fCentralityCND = 0;
99029fba 558 fCentralityZNA = 0;
f9a774f9 559 fCentralityZNC = 0;
3a19f64f 560 fCentralityZPA = 0;
561 fCentralityZPC = 0;
39a3e400 562 fCentralityNPA = 0;
93d96ff5 563 fCentralityV0MvsFMD = 0;
564 fCentralityTKLvsV0M = 0;
565 fCentralityZEMvsZDC = 0;
39a3e400 566 fCentralityV0Mtrue = 0;
567 fCentralityV0Atrue = 0;
568 fCentralityV0Ctrue = 0;
f9a774f9 569 fCentralityV0MEqtrue = 0;
570 fCentralityV0AEqtrue = 0;
571 fCentralityV0CEqtrue = 0;
39a3e400 572 fCentralityFMDtrue = 0;
573 fCentralityTRKtrue = 0;
574 fCentralityTKLtrue = 0;
575 fCentralityCL0true = 0;
576 fCentralityCL1true = 0;
577 fCentralityCNDtrue = 0;
578 fCentralityZNAtrue = 0;
f9a774f9 579 fCentralityZNCtrue = 0;
3a19f64f 580 fCentralityZPAtrue = 0;
581 fCentralityZPCtrue = 0;
93d96ff5 582}