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