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 AliCentralitySelectionTask
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"),
33 fCentralityV0MvsFMD(0),
34 fCentralityTKLvsV0M(0),
35 fCentralityZEMvsZDC(0)
40 AliCentrality::AliCentrality(const AliCentrality& cnt) :
42 fCentralityV0M(cnt.fCentralityV0M),
43 fCentralityFMD(cnt.fCentralityFMD),
44 fCentralityTRK(cnt.fCentralityTRK),
45 fCentralityTKL(cnt.fCentralityTKL),
46 fCentralityCL0(cnt.fCentralityCL0),
47 fCentralityCL1(cnt.fCentralityCL1),
48 fCentralityV0MvsFMD(cnt.fCentralityV0MvsFMD),
49 fCentralityTKLvsV0M(cnt.fCentralityTKLvsV0M),
50 fCentralityZEMvsZDC(cnt.fCentralityZEMvsZDC)
55 AliCentrality& AliCentrality::operator=(const AliCentrality& c)
57 /// Assignment operator
60 fCentralityV0M = c.fCentralityV0M;
61 fCentralityFMD = c.fCentralityFMD;
62 fCentralityTRK = c.fCentralityTRK;
63 fCentralityTKL = c.fCentralityTKL;
64 fCentralityCL0 = c.fCentralityCL0;
65 fCentralityCL1 = c.fCentralityCL1;
66 fCentralityV0MvsFMD = c.fCentralityV0MvsFMD;
67 fCentralityTKLvsV0M = c.fCentralityTKLvsV0M;
68 fCentralityZEMvsZDC = c.fCentralityZEMvsZDC;
74 AliCentrality::~AliCentrality()
79 Float_t AliCentrality::GetCentralityPercentile(const char *x)
82 if(method.CompareTo("V0M")==0) return fCentralityV0M;
83 if(method.CompareTo("FMD")==0) return fCentralityFMD;
84 if(method.CompareTo("TRK")==0) return fCentralityTRK;
85 if(method.CompareTo("TKL")==0) return fCentralityTKL;
86 if(method.CompareTo("CL0")==0) return fCentralityCL0;
87 if(method.CompareTo("CL1")==0) return fCentralityCL1;
88 if(method.CompareTo("V0MvsFMD")==0) return fCentralityV0MvsFMD;
89 if(method.CompareTo("TKLvsV0M")==0) return fCentralityTKLvsV0M;
90 if(method.CompareTo("ZENvsZDC")==0) return fCentralityZEMvsZDC;
94 Int_t AliCentrality::GetCentralityClass10(const char *x)
97 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 10.0);
98 if(method.CompareTo("FMD")==0) return (Int_t) (fCentralityFMD / 10.0);
99 if(method.CompareTo("TRK")==0) return (Int_t) (fCentralityTRK / 10.0);
100 if(method.CompareTo("TKL")==0) return (Int_t) (fCentralityTKL / 10.0);
101 if(method.CompareTo("CL0")==0) return (Int_t) (fCentralityCL0 / 10.0);
102 if(method.CompareTo("CL1")==0) return (Int_t) (fCentralityCL1 / 10.0);
103 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 10.0);
104 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 10.0);
105 if(method.CompareTo("ZENvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 10.0);
109 Int_t AliCentrality::GetCentralityClass5(const char *x)
112 if(method.CompareTo("V0M")==0) return (Int_t) (fCentralityV0M / 5.0);
113 if(method.CompareTo("FMD")==0) return (Int_t) (fCentralityFMD / 5.0);
114 if(method.CompareTo("TRK")==0) return (Int_t) (fCentralityTRK / 5.0);
115 if(method.CompareTo("TKL")==0) return (Int_t) (fCentralityTKL / 5.0);
116 if(method.CompareTo("CL0")==0) return (Int_t) (fCentralityCL0 / 5.0);
117 if(method.CompareTo("CL1")==0) return (Int_t) (fCentralityCL1 / 5.0);
118 if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 5.0);
119 if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 5.0);
120 if(method.CompareTo("ZENvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 5.0);
124 Bool_t AliCentrality::IsEventInCentralityClass(Float_t a, Float_t b, const char *x)
127 if ((method.CompareTo("V0M")==0) && (fCentralityV0M >=a && fCentralityV0M < b)) return kTRUE;
128 if ((method.CompareTo("FMD")==0) && (fCentralityFMD >=a && fCentralityFMD < b)) return kTRUE;
129 if ((method.CompareTo("TRK")==0) && (fCentralityTRK >=a && fCentralityTRK < b)) return kTRUE;
130 if ((method.CompareTo("TKL")==0) && (fCentralityTKL >=a && fCentralityTKL < b)) return kTRUE;
131 if ((method.CompareTo("CL0")==0) && (fCentralityCL0 >=a && fCentralityCL0 < b)) return kTRUE;
132 if ((method.CompareTo("CL1")==0) && (fCentralityCL1 >=a && fCentralityCL1 < b)) return kTRUE;
133 if ((method.CompareTo("V0MvsFMD")==0) && (fCentralityV0MvsFMD >=a && fCentralityV0MvsFMD < b)) return kTRUE;
134 if ((method.CompareTo("TKLvsV0M")==0) && (fCentralityTKLvsV0M >=a && fCentralityTKLvsV0M < b)) return kTRUE;
135 if ((method.CompareTo("ZEMvsZDC")==0) && (fCentralityZEMvsZDC >=a && fCentralityZEMvsZDC < b)) return kTRUE;