1 /**************************************************************************
2 * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 //*****************************************************
17 // Class AliCentrality
18 // author: Alberica Toia
19 //*****************************************************
20 /// A container for the centrality stored in AOD in ESD
22 #include "AliCentrality.h"
24 ClassImp(AliCentrality)
26 AliCentrality::AliCentrality() : TNamed("Centrality", "Centrality"),
39 fCentralityV0MvsFMD(0),
40 fCentralityTKLvsV0M(0),
41 fCentralityZEMvsZDC(0)
46 AliCentrality::AliCentrality(const AliCentrality& cnt) :
48 fQuality(cnt.fQuality),
49 fCentralityV0M(cnt.fCentralityV0M),
50 fCentralityV0A(cnt.fCentralityV0A),
51 fCentralityV0C(cnt.fCentralityV0C),
52 fCentralityFMD(cnt.fCentralityFMD),
53 fCentralityTRK(cnt.fCentralityTRK),
54 fCentralityTKL(cnt.fCentralityTKL),
55 fCentralityCL0(cnt.fCentralityCL0),
56 fCentralityCL1(cnt.fCentralityCL1),
57 fCentralityCND(cnt.fCentralityCND),
58 fCentralityNPA(cnt.fCentralityNPA),
59 fCentralityZNA(cnt.fCentralityZNA),
60 fCentralityV0MvsFMD(cnt.fCentralityV0MvsFMD),
61 fCentralityTKLvsV0M(cnt.fCentralityTKLvsV0M),
62 fCentralityZEMvsZDC(cnt.fCentralityZEMvsZDC)
67 AliCentrality& AliCentrality::operator=(const AliCentrality& c)
69 /// Assignment operator
72 fQuality = c.fQuality;
73 fCentralityV0M = c.fCentralityV0M;
74 fCentralityV0A = c.fCentralityV0A;
75 fCentralityV0C = c.fCentralityV0C;
76 fCentralityFMD = c.fCentralityFMD;
77 fCentralityTRK = c.fCentralityTRK;
78 fCentralityTKL = c.fCentralityTKL;
79 fCentralityCL0 = c.fCentralityCL0;
80 fCentralityCL1 = c.fCentralityCL1;
81 fCentralityCND = c.fCentralityCND;
82 fCentralityNPA = c.fCentralityNPA;
83 fCentralityZNA = c.fCentralityZNA;
84 fCentralityV0MvsFMD = c.fCentralityV0MvsFMD;
85 fCentralityTKLvsV0M = c.fCentralityTKLvsV0M;
86 fCentralityZEMvsZDC = c.fCentralityZEMvsZDC;
92 AliCentrality::~AliCentrality()
97 Int_t AliCentrality::GetQuality() const
102 Float_t AliCentrality::GetCentralityPercentile(const char *x) const
104 // Return the centrality percentile
107 if(method.CompareTo("V0M")==0) return fCentralityV0M;
108 if(method.CompareTo("V0A")==0) return fCentralityV0A;
109 if(method.CompareTo("V0C")==0) return fCentralityV0C;
110 if(method.CompareTo("FMD")==0) return fCentralityFMD;
111 if(method.CompareTo("TRK")==0) return fCentralityTRK;
112 if(method.CompareTo("TKL")==0) return fCentralityTKL;
113 if(method.CompareTo("CL0")==0) return fCentralityCL0;
114 if(method.CompareTo("CL1")==0) return fCentralityCL1;
115 if(method.CompareTo("CND")==0) return fCentralityCND;
116 if(method.CompareTo("NPA")==0) return fCentralityNPA;
117 if(method.CompareTo("ZNA")==0) return fCentralityZNA;
118 if(method.CompareTo("V0MvsFMD")==0) return fCentralityV0MvsFMD;
119 if(method.CompareTo("TKLvsV0M")==0) return fCentralityTKLvsV0M;
120 if(method.CompareTo("ZEMvsZDC")==0) return fCentralityZEMvsZDC;
127 Int_t AliCentrality::GetCentralityClass10(const char *x) const
129 // Return the centrality class
132 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 10.0);
133 if(method.CompareTo("V0A")==0) return (Int_t) (fCentralityV0A / 10.0);
134 if(method.CompareTo("V0C")==0) return (Int_t) (fCentralityV0C / 10.0);
135 if(method.CompareTo("FMD")==0) return (Int_t) (fCentralityFMD / 10.0);
136 if(method.CompareTo("TRK")==0) return (Int_t) (fCentralityTRK / 10.0);
137 if(method.CompareTo("TKL")==0) return (Int_t) (fCentralityTKL / 10.0);
138 if(method.CompareTo("CL0")==0) return (Int_t) (fCentralityCL0 / 10.0);
139 if(method.CompareTo("CL1")==0) return (Int_t) (fCentralityCL1 / 10.0);
140 if(method.CompareTo("CND")==0) return (Int_t) (fCentralityCND / 10.0);
141 if(method.CompareTo("NPA")==0) return (Int_t) (fCentralityNPA / 10.0);
142 if(method.CompareTo("ZNA")==0) return (Int_t) (fCentralityZNA / 10.0);
143 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 10.0);
144 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 10.0);
145 if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 10.0);
152 Int_t AliCentrality::GetCentralityClass5(const char *x) const
154 // Return the centrality class
157 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 5.0);
158 if(method.CompareTo("V0A")==0) return (Int_t) (fCentralityV0A / 5.0);
159 if(method.CompareTo("V0C")==0) return (Int_t) (fCentralityV0C / 5.0);
160 if(method.CompareTo("FMD")==0) return (Int_t) (fCentralityFMD / 5.0);
161 if(method.CompareTo("TRK")==0) return (Int_t) (fCentralityTRK / 5.0);
162 if(method.CompareTo("TKL")==0) return (Int_t) (fCentralityTKL / 5.0);
163 if(method.CompareTo("CL0")==0) return (Int_t) (fCentralityCL0 / 5.0);
164 if(method.CompareTo("CL1")==0) return (Int_t) (fCentralityCL1 / 5.0);
165 if(method.CompareTo("CND")==0) return (Int_t) (fCentralityCND / 5.0);
166 if(method.CompareTo("NPA")==0) return (Int_t) (fCentralityNPA / 5.0);
167 if(method.CompareTo("ZNA")==0) return (Int_t) (fCentralityZNA / 5.0);
168 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 5.0);
169 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 5.0);
170 if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 5.0);
178 Bool_t AliCentrality::IsEventInCentralityClass(Float_t a, Float_t b, const char *x) const
180 // True if event is inside a given class
183 if ((method.CompareTo("V0M")==0) && (fCentralityV0M >=a && fCentralityV0M < b)) return kTRUE;
184 if ((method.CompareTo("V0A")==0) && (fCentralityV0A >=a && fCentralityV0A < b)) return kTRUE;
185 if ((method.CompareTo("V0C")==0) && (fCentralityV0C >=a && fCentralityV0C < b)) return kTRUE;
186 if ((method.CompareTo("FMD")==0) && (fCentralityFMD >=a && fCentralityFMD < b)) return kTRUE;
187 if ((method.CompareTo("TRK")==0) && (fCentralityTRK >=a && fCentralityTRK < b)) return kTRUE;
188 if ((method.CompareTo("TKL")==0) && (fCentralityTKL >=a && fCentralityTKL < b)) return kTRUE;
189 if ((method.CompareTo("CL0")==0) && (fCentralityCL0 >=a && fCentralityCL0 < b)) return kTRUE;
190 if ((method.CompareTo("CL1")==0) && (fCentralityCL1 >=a && fCentralityCL1 < b)) return kTRUE;
191 if ((method.CompareTo("CND")==0) && (fCentralityCND >=a && fCentralityCND < b)) return kTRUE;
192 if ((method.CompareTo("NPA")==0) && (fCentralityNPA >=a && fCentralityNPA < b)) return kTRUE;
193 if ((method.CompareTo("ZNA")==0) && (fCentralityZNA >=a && fCentralityZNA < b)) return kTRUE;
194 if ((method.CompareTo("V0MvsFMD")==0) && (fCentralityV0MvsFMD >=a && fCentralityV0MvsFMD < b)) return kTRUE;
195 if ((method.CompareTo("TKLvsV0M")==0) && (fCentralityTKLvsV0M >=a && fCentralityTKLvsV0M < b)) return kTRUE;
196 if ((method.CompareTo("ZEMvsZDC")==0) && (fCentralityZEMvsZDC >=a && fCentralityZEMvsZDC < b)) return kTRUE;
203 Float_t AliCentrality::GetCentralityPercentileUnchecked(const char *x) const
205 // Return the centrality percentile
207 if(method.CompareTo("V0M")==0) return fCentralityV0M;
208 if(method.CompareTo("V0A")==0) return fCentralityV0A;
209 if(method.CompareTo("V0C")==0) return fCentralityV0C;
210 if(method.CompareTo("FMD")==0) return fCentralityFMD;
211 if(method.CompareTo("TRK")==0) return fCentralityTRK;
212 if(method.CompareTo("TKL")==0) return fCentralityTKL;
213 if(method.CompareTo("CL0")==0) return fCentralityCL0;
214 if(method.CompareTo("CL1")==0) return fCentralityCL1;
215 if(method.CompareTo("CND")==0) return fCentralityCND;
216 if(method.CompareTo("NPA")==0) return fCentralityNPA;
217 if(method.CompareTo("ZNA")==0) return fCentralityZNA;
218 if(method.CompareTo("V0MvsFMD")==0) return fCentralityV0MvsFMD;
219 if(method.CompareTo("TKLvsV0M")==0) return fCentralityTKLvsV0M;
220 if(method.CompareTo("ZEMvsZDC")==0) return fCentralityZEMvsZDC;
224 Int_t AliCentrality::GetCentralityClass10Unchecked(const char *x) const
226 // Return the centrality class
228 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 10.0);
229 if(method.CompareTo("V0A")==0) return (Int_t) (fCentralityV0A / 10.0);
230 if(method.CompareTo("V0C")==0) return (Int_t) (fCentralityV0C / 10.0);
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);
236 if(method.CompareTo("CND")==0) return (Int_t) (fCentralityCND / 10.0);
237 if(method.CompareTo("NPA")==0) return (Int_t) (fCentralityNPA / 10.0);
238 if(method.CompareTo("ZNA")==0) return (Int_t) (fCentralityZNA / 10.0);
239 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 10.0);
240 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 10.0);
241 if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 10.0);
245 Int_t AliCentrality::GetCentralityClass5Unchecked(const char *x) const
247 // Return the centrality class
249 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 5.0);
250 if(method.CompareTo("V0A")==0) return (Int_t) (fCentralityV0A / 5.0);
251 if(method.CompareTo("V0C")==0) return (Int_t) (fCentralityV0C / 5.0);
252 if(method.CompareTo("FMD")==0) return (Int_t) (fCentralityFMD / 5.0);
253 if(method.CompareTo("TRK")==0) return (Int_t) (fCentralityTRK / 5.0);
254 if(method.CompareTo("TKL")==0) return (Int_t) (fCentralityTKL / 5.0);
255 if(method.CompareTo("CL0")==0) return (Int_t) (fCentralityCL0 / 5.0);
256 if(method.CompareTo("CL1")==0) return (Int_t) (fCentralityCL1 / 5.0);
257 if(method.CompareTo("CND")==0) return (Int_t) (fCentralityCND / 5.0);
258 if(method.CompareTo("NPA")==0) return (Int_t) (fCentralityNPA / 5.0);
259 if(method.CompareTo("ZNA")==0) return (Int_t) (fCentralityZNA / 5.0);
260 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 5.0);
261 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 5.0);
262 if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 5.0);
266 Bool_t AliCentrality::IsEventInCentralityClassUnchecked(Float_t a, Float_t b, const char *x) const
268 // True if event inside given centrality class
270 if ((method.CompareTo("V0M")==0) && (fCentralityV0M >=a && fCentralityV0M < b)) return kTRUE;
271 if ((method.CompareTo("V0A")==0) && (fCentralityV0A >=a && fCentralityV0A < b)) return kTRUE;
272 if ((method.CompareTo("V0C")==0) && (fCentralityV0C >=a && fCentralityV0C < b)) return kTRUE;
273 if ((method.CompareTo("FMD")==0) && (fCentralityFMD >=a && fCentralityFMD < b)) return kTRUE;
274 if ((method.CompareTo("TRK")==0) && (fCentralityTRK >=a && fCentralityTRK < b)) return kTRUE;
275 if ((method.CompareTo("TKL")==0) && (fCentralityTKL >=a && fCentralityTKL < b)) return kTRUE;
276 if ((method.CompareTo("CL0")==0) && (fCentralityCL0 >=a && fCentralityCL0 < b)) return kTRUE;
277 if ((method.CompareTo("CL1")==0) && (fCentralityCL1 >=a && fCentralityCL1 < b)) return kTRUE;
278 if ((method.CompareTo("CND")==0) && (fCentralityCND >=a && fCentralityCND < b)) return kTRUE;
279 if ((method.CompareTo("NPA")==0) && (fCentralityNPA >=a && fCentralityNPA < b)) return kTRUE;
280 if ((method.CompareTo("ZNA")==0) && (fCentralityZNA >=a && fCentralityZNA < b)) return kTRUE;
281 if ((method.CompareTo("V0MvsFMD")==0) && (fCentralityV0MvsFMD >=a && fCentralityV0MvsFMD < b)) return kTRUE;
282 if ((method.CompareTo("TKLvsV0M")==0) && (fCentralityTKLvsV0M >=a && fCentralityTKLvsV0M < b)) return kTRUE;
283 if ((method.CompareTo("ZEMvsZDC")==0) && (fCentralityZEMvsZDC >=a && fCentralityZEMvsZDC < b)) return kTRUE;
287 void AliCentrality::Reset()
303 fCentralityV0MvsFMD = 0;
304 fCentralityTKLvsV0M = 0;
305 fCentralityZEMvsZDC = 0;