1 /*************************************************************************
2 * Copyright(c) 1998-2009, 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 // Dielectron Variables Manager class //
23 ///////////////////////////////////////////////////////////////////////////
25 #include "AliDielectronVarManager.h"
27 ClassImp(AliDielectronVarManager)
29 const char* AliDielectronVarManager::fgkParticleNames[AliDielectronVarManager::kNMaxValues][3] = {
30 {"Px", "#it{p}_{x}", "(GeV/#it{c})"},
31 {"Py", "#it{p}_{y}", "(GeV/#it{c})"},
32 {"Pz", "#it{p}_{z}", "(GeV/#it{c})"},
33 {"Pt", "#it{p}_{T}", "(GeV/#it{c})"},
34 {"P", "#it{p}", "(GeV/#it{c})"},
35 {"Xv", "x_{vtx}", "(cm)"},
36 {"Yv", "y_{vtx}", "(cm)"},
37 {"Zv", "z_{vtx}", "(cm)"},
38 {"OneOverPt", "1/^{}#it{p}_{T}", "(GeV/#it{c})^{-1}"},
39 {"Phi", "#phi", "(rad.)"},
40 {"Theta", "#theta", "(rad.)"},
44 {"M", "m_{inv}", "(GeV/#it{c^{2}})"},
45 {"Charge", "q", "(e)"},
46 {"NclsITS", "N_{cls}^{ITS}", ""},
47 {"ITSchi2PerCluster", "#chi^{2}/^{}N_{cls}^{ITS}", ""},
48 {"NclsTPC", "N_{cls}^{TPC}", ""},
49 {"NclsSTPC", "N_{shar.cls}^{TPC}", ""},
50 {"NclsSFracTPC", "N_{shar.cls}^{TPC}/^{}N_{cls}^{TPC}", ""},
51 {"NclsTPCiter1", "N_{1st.iter.cls}^{TPC}", ""},
52 {"NFclsTPC", "N_{find.cls}^{TPC}", ""},
53 {"NFclsTPCrobust", "N_{cross.rows}^{TPC}", ""},
54 {"NFclsTPCrobustFraction", "N_{cls}^{TPC}/^{}N_{find.cls}^{TPC}", ""},//TODO: check
55 {"NFclsTPCfracCrossedRows","N_{cross.rows}^{TPC}/^{}N_{find.cls}^{TPC}", ""},
56 {"TPCsignalN", "N_{d#it{E}/d#it{x} points}^{TPC}", ""},
57 {"TPCsignalNfrac", "N_{d#it{E}/d#it{x} points}^{TPC}/^{}N_{cls}^{TPC}", ""},
58 {"TPCchi2PerCluster", "#chi^{2}/^{}N_{cls}^{TPC}", ""},
59 {"TPCclsDiff", "N_{d#it{E}/d#it{x} points}^{TPC} - N_{cls}^{TPC}", ""},
60 {"TPCclsSegments", "N_{segments}^{TPC}", ""},
61 {"TrackStatus", "TrackStatus", ""},
62 {"FilterBit", "AOD filter bit", ""},
64 {"NclsTRD", "N_{cls}^{TRD}", ""},
65 {"TRDntracklets", "N_{trkl}^{TRD}", ""},
66 {"TRDpidQuality", "N_{PID.trkl}^{TRD}", ""},
67 {"TRDchi2", "#chi^{2}/^{}N_{cls}^{TRD}", ""},//TODO: check denominator
68 {"TRDpidProb_Electrons", "P(PID_{e}^{TRD})", ""},
69 {"TRDpidProb_Pions", "P(PID_{#pi}^{TRD})", ""},
70 {"TRDpidProb2D_Electrons", "P(2dim. PID_{e}^{TRD})", ""},
71 {"TRDpidProb2D_Pions", "P(2dim. PID_{#pi}^{TRD})", ""},
72 {"TRDphi", "#phi^{TRD}", ""},
73 {"TRDpidEffLeg", "#epsilon^{TRD legs}(PID)", ""},
75 {"ImpactParXY", "#it{dca}_{xy}", "(cm)"},
76 {"ImpactParZ", "#it{dca}_{z}", "(cm)"},
77 {"TrackLength", "#it{l}_{track}", "(cm)"},
79 {"PdgCode", "PDG code", ""},
80 {"PdgCodeMother", "mothers PDG code", ""},
81 {"PdgCodeGrandMother", "grand mothers PDG code", ""},
82 {"HasCocktailMother", "mother from AliGenCocktail", ""},
83 {"HasCocktailGrandMother", "grand mother from AliGenCocktail", ""},
85 {"NumberOfDaughters", "N_{daughters}", ""},
86 {"HaveSameMother", "HaveSameMother", ""},
87 {"IsJpsiPrimary", "IsJpsiPrimary", ""},
88 {"NumberOfJPsisIncl", "N_{incl. J/^{}#psi}", ""},
89 {"NumberOfJPsisPrompt", "N_{prompt J/^{}#psi}", ""},
90 {"NumberOfJPsisNPrompt", "N_{non prompt J/^{}#psi}", ""},
92 {"ITS_signal", "ITS d#it{E}/d#it{x}", "(keV/^{}300#mum)"},//TODO: check units
93 {"SSD1_signal", "SSD 1st layer d#it{E}/d#it{x}", "(keV/^{}300#mum)"},
94 {"SSD2_signal", "SSD 2nd layer d#it{E}/d#it{x}", "(keV/^{}300#mum)"},
95 {"SDD1_signal", "SDD 1st layer d#it{E}/d#it{x}", "(keV/^{}300#mum)"},
96 {"SDD2_signal", "SDD 2nd layer d#it{E}/d#it{x}", "(keV/^{}300#mum)"},
97 {"ITS_clusterMap", "ITS_clusterMap", ""},
98 {"ITSLayerFirstCls", "1st ITS cluster", "(layer)"},
99 {"ITS_nSigma_Electrons", "n#sigma_{e}^{ITS}", ""},
100 {"ITS_nSigma_Pions", "n#sigma_{#pi}^{ITS}", ""},
101 {"ITS_nSigma_Muons", "n#sigma_{#mu}^{ITS}", ""},
102 {"ITS_nSigma_Kaons", "n#sigma_{K}^{ITS}", ""},
103 {"ITS_nSigma_Protons", "n#sigma_{p}^{ITS}", ""},
105 {"P_InnerParam", "#it{p}_{inner wall}^{TPC}", "(GeV/#it{c})"},
106 {"P_OuterParam", "#it{p}_{outer wall}^{TPC}", "(GeV/#it{c})"},
107 {"Y_signed_InnerParam", "sign. y_{inner wall}^{TPC}", "(GeV/#it{c})"},
108 {"TPC_signal", "TPC d#it{E}/d#it{x}", "(a.u.)"},
109 {"TOF_signal", "TOF signal", "(ps)"},
110 {"TOF_beta", "TOF #beta", "(#it{c})"},
111 {"TOF_PIDbit", "TOF PID bit", ""},
113 {"TPC_nSigma_Electrons", "n#sigma_{e}^{TPC}", ""},
114 {"TPC_nSigma_Pions", "n#sigma_{#pi}^{TPC}", ""},
115 {"TPC_nSigma_Muons", "n#sigma_{#mu}^{TPC}", ""},
116 {"TPC_nSigma_Kaons", "n#sigma_{K}^{TPC}", ""},
117 {"TPC_nSigma_Protons", "n#sigma_{p}^{TPC}", ""},
119 {"TOF_nSigma_Electrons", "n#sigma_{e}^{TOF}", ""},
120 {"TOF_nSigma_Pions", "n#sigma_{#pi}^{TOF}", ""},
121 {"TOF_nSigma_Muons", "n#sigma_{#mu}^{TOF}", ""},
122 {"TOF_nSigma_Kaons", "n#sigma_{K}^{TOF}", ""},
123 {"TOF_nSigma_Protons", "n#sigma_{p}^{TOF}", ""},
125 {"EMCAL_nSigma_Electrons", "n#sigma_{e}^{EMCAL}", ""},
126 {"EMCAL_EoverP", "E^{EMCAL}/^{}#it{p}", "(#it{c})"},
127 {"EMCAL_E", "E^{EMCAL}", "(GeV)"},
128 {"EMCAL_NCells", "N_{cell}^{EMCAL}", ""},
129 {"EMCAL_M02", "M02 EMCAL showershape param.", ""},
130 {"EMCAL_M20", "M20 EMCAL showershape param.", ""},
131 {"EMCAL_Dispersion", "EMCAL dispersion param.", ""},
133 {"V0Index0", "V0Index0", ""},
134 {"KinkIndex0", "KinkIndex0", ""},
136 {"Chi2NDF", "#chi^{2}/^{}ndf", ""},
137 {"DecayLength", "l_{decay}", "(cm)"},
138 {"R", "d(#vec{x}_{vtx},#vec{x}_{part.})", "(cm)"},
139 {"OpeningAngle", "#varphi", "(rad.)"},
140 {"CosPointingAngle", "cos(#theta)", "(rad.)"},
141 {"ArmAlpha", "#alpha^{arm}", ""},
142 {"ArmPt", "#it{p}_{T}^{arm}", "(GeV/#it{c})"},
143 {"ThetaHE", "cos(#theta_{HE})", ""},
144 {"PhiHE", "#phi_{HE}", "(rad.)"},
145 {"ThetaSqHE", "cos^{2}(#theta_{HE})", ""},
146 {"Cos2PhiHE", "cos(2#phi_{HE})", ""},
147 {"CosTilPhiHE", "cos(#phi_{HE})", ""},
148 {"ThetaCS", "cos(#theta_{CS})", ""},
149 {"PhiCS", "#phi_{CS}", "(rad.)"},
150 {"ThetaSqCS", "cos^{2}(#theta_{CS})", ""},
151 {"PsiPair", "#Psi^{pair}", "(rad.)"},
152 {"PhivPair", "#Phi_{v}^{pair}", "(rad.)"},
153 {"Cos2PhiCS", "cos(2#phi_{CS})", ""},
154 {"CosTilPhiCS", "cos(#phi_{CS})", ""},
155 {"DeltaPhiV0ArpH2", "#phi^{pair}-#Psi^{V0A}", ""},
156 {"DeltaPhiV0CrpH2", "#phi^{pair}-#Psi^{V0C}", ""},
157 {"DeltaPhiV0ACrpH2", "#phi^{pair}-#Psi^{V0AC}", ""},
158 {"V0ArpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0A}))", ""},
159 {"V0CrpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0C}))", ""},
160 {"V0ACrpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0AC}))", ""},
161 {"DeltaPhiv0ArpH2", "#phi^{pair}-#Psi^{V0A}", ""},
162 {"DeltaPhiv0CrpH2", "#phi^{pair}-#Psi^{V0C}", ""},
163 {"DeltaPhiv0ACrpH2", "#phi^{pair}-#Psi^{V0AC}", ""},
164 {"v0ArpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0A}))", ""},
165 {"v0CrpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0C}))", ""},
166 {"v0ACrpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0AC}))", ""},
167 {"LegDistance", "d^{legs}", "(cm)"},
168 {"LegDistanceXY", "d^{legs}_{xy}", "(cm)"},
169 {"DeltaEta", "#Delta #eta", ""},
170 {"DeltaPhi", "#Delta #phi", ""},
171 {"Merr", "m_{inv} error", "(GeV/#it{c}^{2})"},
172 {"DCA", "#it{dca}", "(cm)"},
173 {"PairType", "PairType", ""},
174 {"PseudoProperTime", "#tau", "(#mus)"}, //TODO: check unit
175 {"PseudoProperTimeErr", "#tau error", "(#mus)"},
176 {"PseudoProperTimeResolution", "(#tau-#tau^{MC truth})", "(#mus)"},
177 {"PseudoProperTimePull", "#frac{(#tau-#tau^{MC truth})}{#tau error}", ""},
178 {"TRDpidEffPair", "#epsilon^{TRD pair}(PID)", ""},
180 {"X", "x_{prim.vtx}", "(cm)"},
181 {"Y", "y_{prim.vtx}", "(cm)"},
182 {"Z", "z_{prim.vtx}", "(cm)"},
183 {"XRes", "#Delta x_{prim.vtx}", "(cm)"},
184 {"YRes", "#Delta y_{prim.vtx}", "(cm)"},
185 {"ZRes", "#Delta z_{prim.vtx}", "(cm)"},
186 {"PhiMaxPt", "#phi(#it{p}_{T}^{lead})", "(rad.)"},
187 {"MaxPt", "#it{p}_{T}^{lead}", "(GeV/#it{c})"},
189 {"v0ArpH2", "#Psi^{V0A}", ""},
190 {"v0CrpH2", "#Psi^{V0C}", ""},
191 {"v0ACrpH2", "#Psi^{V0AC}", ""},
192 {"v0AxH2", "Q_{x}^{V0A}", ""},
193 {"v0AyH2", "Q_{y}^{V0A}", ""},
194 {"v0CxH2", "Q_{x}^{V0C}", ""},
195 {"v0CyH2", "Q_{y}^{V0C}", ""},
196 {"v0ACxH2", "Q_{x}^{V0AC}", ""},
197 {"v0ACyH2", "Q_{y}^{V0AC}", ""},
198 {"v0AmagH2", "|#vec{Q}^{V0A}|", ""},
199 {"v0CmagH2", "|#vec{Q}^{V0C}|", ""},
200 {"v0ACmagH2", "|#vec{Q}^{V0AC}|", ""},
201 {"v0A0rpH2", "#Psi^{V0A}_{ring 0}", ""},
202 {"v0A3rpH2", "#Psi^{V0A}_{ring 3}", ""},
203 {"v0C0rpH2", "#Psi^{V0C}_{ring 0}", ""},
204 {"v0C3rpH2", "#Psi^{V0C}_{ring 3}", ""},
205 {"v0ATPCDiffH2", "cos(2(#Psi^{V0A}-#Psi^{TPC}))", ""},
206 {"v0CTPCDiffH2", "cos(2(#Psi^{V0C}-#Psi^{TPC}))", ""},
207 {"v0Av0CDiffH2", "cos(2(#Psi^{V0A}-#Psi^{V0C}))", ""},
208 {"v0Av0C0DiffH2", "cos(2(#Psi^{V0A}-#Psi^{V0C}_{ring 0}))", ""},
209 {"v0Av0C3DiffH2", "cos(2(#Psi^{V0A}-#Psi^{V0C}_{ring 3}))", ""},
210 {"v0Cv0A0DiffH2", "cos(2(#Psi^{V0C}-#Psi^{V0A}_{ring 0}))", ""},
211 {"v0Cv0A3DiffH2", "cos(2(#Psi^{V0C}-#Psi^{V0A}_{ring 3}))", ""},
212 {"v0A0v0A3DiffH2", "cos(2(#Psi^{V0A}_{ring 0}-#Psi^{V0A}_{ring 3}))", ""},
213 {"v0C0v0C3DiffH2", "cos(2(#Psi^{V0C}_{ring 0}-#Psi^{V0C}_{ring 3}))", ""},
215 {"MultV0A", "multiplicity V0A", ""},
216 {"MultV0C", "multiplicity V0C", ""},
217 {"MultV0", "multiplicity V0", ""},
218 {"AdcV0A", "AdcV0A", ""},
219 {"AdcV0C", "AdcV0C", ""},
220 {"AdcV0", "AdcV0", ""},
221 {"VZERO_ch0", "VZERO_ch0", ""},
222 {"VZERO_ch1", "VZERO_ch1", ""},
223 {"VZERO_ch2", "VZERO_ch2", ""},
224 {"VZERO_ch3", "VZERO_ch3", ""},
225 {"VZERO_ch4", "VZERO_ch4", ""},
226 {"VZERO_ch5", "VZERO_ch5", ""},
227 {"VZERO_ch6", "VZERO_ch6", ""},
228 {"VZERO_ch7", "VZERO_ch7", ""},
229 {"VZERO_ch8", "VZERO_ch8", ""},
230 {"VZERO_ch9", "VZERO_ch9", ""},
231 {"VZERO_ch10", "VZERO_ch10", ""},
232 {"VZERO_ch11", "VZERO_ch11", ""},
233 {"VZERO_ch12", "VZERO_ch12", ""},
234 {"VZERO_ch13", "VZERO_ch13", ""},
235 {"VZERO_ch14", "VZERO_ch14", ""},
236 {"VZERO_ch15", "VZERO_ch15", ""},
237 {"VZERO_ch16", "VZERO_ch16", ""},
238 {"VZERO_ch17", "VZERO_ch17", ""},
239 {"VZERO_ch18", "VZERO_ch18", ""},
240 {"VZERO_ch19", "VZERO_ch19", ""},
241 {"VZERO_ch20", "VZERO_ch20", ""},
242 {"VZERO_ch21", "VZERO_ch21", ""},
243 {"VZERO_ch22", "VZERO_ch22", ""},
244 {"VZERO_ch23", "VZERO_ch23", ""},
245 {"VZERO_ch24", "VZERO_ch24", ""},
246 {"VZERO_ch25", "VZERO_ch25", ""},
247 {"VZERO_ch26", "VZERO_ch26", ""},
248 {"VZERO_ch27", "VZERO_ch27", ""},
249 {"VZERO_ch28", "VZERO_ch28", ""},
250 {"VZERO_ch29", "VZERO_ch29", ""},
251 {"VZERO_ch30", "VZERO_ch30", ""},
252 {"VZERO_ch31", "VZERO_ch31", ""},
253 {"VZERO_ch32", "VZERO_ch32", ""},
254 {"VZERO_ch33", "VZERO_ch33", ""},
255 {"VZERO_ch34", "VZERO_ch34", ""},
256 {"VZERO_ch35", "VZERO_ch35", ""},
257 {"VZERO_ch36", "VZERO_ch36", ""},
258 {"VZERO_ch37", "VZERO_ch37", ""},
259 {"VZERO_ch38", "VZERO_ch38", ""},
260 {"VZERO_ch39", "VZERO_ch39", ""},
261 {"VZERO_ch40", "VZERO_ch40", ""},
262 {"VZERO_ch41", "VZERO_ch41", ""},
263 {"VZERO_ch42", "VZERO_ch42", ""},
264 {"VZERO_ch43", "VZERO_ch43", ""},
265 {"VZERO_ch44", "VZERO_ch44", ""},
266 {"VZERO_ch45", "VZERO_ch45", ""},
267 {"VZERO_ch46", "VZERO_ch46", ""},
268 {"VZERO_ch47", "VZERO_ch47", ""},
269 {"VZERO_ch48", "VZERO_ch48", ""},
270 {"VZERO_ch49", "VZERO_ch49", ""},
271 {"VZERO_ch50", "VZERO_ch50", ""},
272 {"VZERO_ch51", "VZERO_ch51", ""},
273 {"VZERO_ch52", "VZERO_ch52", ""},
274 {"VZERO_ch53", "VZERO_ch53", ""},
275 {"VZERO_ch54", "VZERO_ch54", ""},
276 {"VZERO_ch55", "VZERO_ch55", ""},
277 {"VZERO_ch56", "VZERO_ch56", ""},
278 {"VZERO_ch57", "VZERO_ch57", ""},
279 {"VZERO_ch58", "VZERO_ch58", ""},
280 {"VZERO_ch59", "VZERO_ch59", ""},
281 {"VZERO_ch60", "VZERO_ch60", ""},
282 {"VZERO_ch61", "VZERO_ch61", ""},
283 {"VZERO_ch62", "VZERO_ch62", ""},
284 {"VZERO_ch63", "VZERO_ch63", ""},
285 {"V0AxH2", "Q_{x}^{V0A}", ""},
286 {"V0AyH2", "Q_{y}^{V0A}", ""},
287 {"V0ArpH2", "#Psi^{V0A}", ""},
288 {"V0CxH2", "Q_{x}^{V0C}", ""},
289 {"V0CyH2", "Q_{y}^{V0C}", ""},
290 {"V0CrpH2", "#Psi^{V0C}", ""},
291 {"V0ACxH2", "Q_{x}^{V0AC}", ""},
292 {"V0ACyH2", "Q_{y}^{V0AC}", ""},
293 {"V0ACrpH2", "#Psi^{V0AC}", ""},
295 {"V0ArpResH2", "V0ArpResH2", ""},
296 {"V0CrpResH2", "V0CrpResH2", ""},
297 {"V0ACrpResH2", "V0ACrpResH2", ""},
298 {"V0XaXcH2", "Q_{x}^{V0A}#timesQ_{x}^{V0C}", ""},
299 {"V0XaYaH2", "Q_{x}^{V0A}#timesQ_{y}^{V0A}", ""},
300 {"V0XaYcH2", "Q_{x}^{V0A}#timesQ_{y}^{V0C}", ""},
301 {"V0YaXcH2", "Q_{y}^{V0A}#timesQ_{x}^{V0C}", ""},
302 {"V0YaYcH2", "Q_{y}^{V0A}#timesQ_{Y}^{V0C}", ""},
303 {"V0XcYcH2", "Q_{X}^{V0C}#timesQ_{Y}^{V0C}", ""},
304 {"V0ATPCDiffH2", "cos(2(#Psi^{V0A}-#Psi^{TPC}))", ""},
305 {"V0CTPCDiffH2", "cos(2(#Psi^{V0C}-#Psi^{TPC}))", ""},
306 {"V0AV0CDiffH2", "cos(2(#Psi^{V0A}-#Psi^{V0C}))", ""},
307 {"TPCxH2", "Q_{x}^{TPC}", ""},
308 {"TPCyH2", "Q_{y}^{TPC}", ""},
309 {"TPCmagH2", "|#vec{Q}^{TPC}|", ""},
310 {"TPCrpH2", "#Psi^{TPC}", ""},
311 {"TPCsub1xH2", "Q_{x}^{TPCsub1}", ""},
312 {"TPCsub1yH2", "Q_{y}^{TPCsub1}", ""},
313 {"TPCsub1rpH2", "#Psi^{TPCsub1}", ""},
314 {"TPCsub2xH2", "Q_{x}^{TPCsub2}", ""},
315 {"TPCsub2yH2", "Q_{y}^{TPCsub2}", ""},
316 {"TPCsub2rpH2", "#Psi^{TPCsub2}", ""},
317 {"TPCsub12DiffH2", "cos(2(#Psi^{TPCsub1}-#Psi^{TPCsub2}))", ""},
318 {"TPCsub12DiffH2Sin", "sin(2(#Psi^{TPCsub1}-#Psi^{TPCsub2}))", ""},
320 {"TPCxH2uc", "Q_{x}^{TPC} (uncorr.)", ""},
321 {"TPCyH2uc", "Q_{y}^{TPC} (uncorr.)", ""},
322 {"TPCmagH2uc", "|#vec{Q}^{TPC}| (uncorr.)", ""},
323 {"TPCrpH2uc", "#Psi^{TPC} (uncorr.)", ""},
324 {"TPCsub1xH2uc", "Q_{x}^{TPCsub1} (uncorr.)", ""},
325 {"TPCsub1yH2uc", "Q_{y}^{TPCsub1} (uncorr.)", ""},
326 {"TPCsub1rpH2uc", "#Psi^{TPCsub1} (uncorr.)", ""},
327 {"TPCsub2xH2uc", "Q_{x}^{TPCsub2} (uncorr.)", ""},
328 {"TPCsub2yH2uc", "Q_{y}^{TPCsub2} (uncorr.)", ""},
329 {"TPCsub2rpH2uc", "#Psi^{TPCsub2} (uncorr.)", ""},
330 {"TPCsub12DiffH2uc", "cos(2(#Psi^{TPCsub1}-#Psi^{TPCsub2})) (uncorr.)", ""},
332 {"NTrk", "N_{trk}", ""},
333 {"Tracks", "tracks", ""},
334 {"NVtxContrib", "N_{vtx. contrib.}", ""},
335 {"NVtxContribTPC", "N_{vtx. contrib.}^{TPC}", ""},
336 {"Nacc", "N_{acc} #cbar_{#||{#eta}<0.9}", ""},
337 {"MatchEffITSTPC", "N_{trk}^{TPC}/N_{trk}^{ITS} #cbar_{#||{#eta}<0.9}", ""},
338 {"NaccTrcklts", "N_{acc. trkl} #cbar_{#||{#eta}<1.6}", ""},
339 {"NaccTrcklts0916", "N_{acc. trkl} #cbar_{-1.6<#eta<-0.9}^{0.9<#eta<1.6}",""},
341 {"NaccTrckltsEsd05", "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (SPD)", ""},
342 {"NaccTrckltsEsd10", "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (SPD)", ""},
343 {"NaccTrckltsEsd16", "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (SPD)", ""},
344 {"NaccTrckltsEsd05Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (SPD)", ""},
345 {"NaccTrckltsEsd10Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (SPD)", ""},
346 {"NaccTrckltsEsd16Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (SPD)", ""},
347 {"NaccItsTpcEsd05", "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (ITS+TPC)", ""},
348 {"NaccItsTpcEsd10", "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (ITS+TPC)", ""},
349 {"NaccItsTpcEsd16", "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (ITS+TPC)", ""},
350 {"NaccItsTpcEsd05Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (ITS+TPC)", ""},
351 {"NaccItsTpcEsd10Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (ITS+TPC)", ""},
352 {"NaccItsTpcEsd16Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (ITS+TPC)", ""},
353 {"NaccItsPureEsd05", "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (ITS)", ""},
354 {"NaccItsPureEsd10", "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (ITS)", ""},
355 {"NaccItsPureEsd16", "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (ITS)", ""},
356 {"NaccItsPureEsd05Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (ITS)", ""},
357 {"NaccItsPureEsd10Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (ITS)", ""},
358 {"NaccItsPureEsd16Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (ITS)", ""},
360 {"RefMult", "N_{trk}^{ref}", ""},
361 {"RefMultTPConly", "N_{trk}^{TPConly}", ""},
362 {"Nch", "N_{ch} #cbar_{#||{#eta}<1.6}", ""},
363 {"Nch05", "N_{ch} #cbar_{#||{#eta}<0.5}", ""},
364 {"Nch10", "N_{ch} #cbar_{#||{#eta}<1.0}", ""},
365 {"Centrality", "centrality", "(%)"},
366 {"CentralitySPD", "centrality_{SPD}", "(%)"},
367 {"Nevents", "N_{evt}", ""},
368 {"RunNumber", "run", ""},
369 {"MixingBin", "mixing bin", ""}
372 AliPIDResponse* AliDielectronVarManager::fgPIDResponse = 0x0;
373 AliVEvent* AliDielectronVarManager::fgEvent = 0x0;
374 AliEventplane* AliDielectronVarManager::fgTPCEventPlane = 0x0;
375 AliKFVertex* AliDielectronVarManager::fgKFVertex = 0x0;
376 TProfile* AliDielectronVarManager::fgMultEstimatorAvg[4][9] = {{0x0}};
377 TH3D* AliDielectronVarManager::fgTRDpidEff[10][4] = {{0x0}};
378 Double_t AliDielectronVarManager::fgTRDpidEffCentRanges[10][4] = {{0.0}};
379 TString AliDielectronVarManager::fgVZEROCalibrationFile = "";
380 TString AliDielectronVarManager::fgVZERORecenteringFile = "";
381 TProfile2D* AliDielectronVarManager::fgVZEROCalib[64] = {0x0};
382 TProfile2D* AliDielectronVarManager::fgVZERORecentering[2][2] = {{0x0,0x0},{0x0,0x0}};
383 Int_t AliDielectronVarManager::fgCurrentRun = -1;
384 Double_t AliDielectronVarManager::fgData[AliDielectronVarManager::kNMaxValues] = {0.};
385 //________________________________________________________________
386 AliDielectronVarManager::AliDielectronVarManager() :
387 TNamed("AliDielectronVarManager","AliDielectronVarManager")
390 // Default constructor
392 for(Int_t i=0; i<4; ++i)
393 for(Int_t j=0; j<9; ++j)
394 fgMultEstimatorAvg[i][j] = 0x0;
395 for(Int_t i=0; i<10; ++i)
396 for(Int_t j=0; j<4; ++j)
397 fgTRDpidEff[i][j] = 0x0;
398 for(Int_t i=0; i<64; ++i) fgVZEROCalib[i] = 0x0;
399 for(Int_t i=0; i<2; ++i) {
400 for(Int_t j=0; j<2; ++j) fgVZERORecentering[i][j] = 0x0;
404 //________________________________________________________________
405 AliDielectronVarManager::AliDielectronVarManager(const char* name, const char* title) :
411 for(Int_t i=0; i<4; ++i)
412 for(Int_t j=0; j<9; ++j)
413 fgMultEstimatorAvg[i][j] = 0x0;
414 for(Int_t i=0; i<10; ++i)
415 for(Int_t j=0; j<4; ++j)
416 fgTRDpidEff[i][j] = 0x0;
417 for(Int_t i=0; i<64; ++i) fgVZEROCalib[i] = 0x0;
418 for(Int_t i=0; i<2; ++i)
419 for(Int_t j=0; j<2; ++j)
420 fgVZERORecentering[i][j] = 0x0;
423 //________________________________________________________________
424 AliDielectronVarManager::~AliDielectronVarManager()
427 // Default destructor
429 for(Int_t i=0; i<4; ++i)
430 for(Int_t j=0; j<9; ++j)
431 if(fgMultEstimatorAvg[i][j]) delete fgMultEstimatorAvg[i][j];
432 for(Int_t i=0; i<10; ++i)
433 for(Int_t j=0; j<4; ++j)
434 if(fgTRDpidEff[i][j]) delete fgTRDpidEff[i][j];
435 for(Int_t i=0; i<64; ++i)
436 if(fgVZEROCalib[i]) delete fgVZEROCalib[i];
437 for(Int_t i=0; i<2; ++i)
438 for(Int_t j=0; j<2; ++j)
439 if(fgVZERORecentering[i][j]) delete fgVZERORecentering[i][j];
442 //________________________________________________________________
443 UInt_t AliDielectronVarManager::GetValueType(const char* valname) {
445 // Get value type by value name
448 TString name(valname);
449 for(UInt_t i=0; i<AliDielectronVarManager::kNMaxValues; i++) {
450 if(!name.CompareTo(fgkParticleNames[i][0])) return i;