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", "#epsilon^{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#epsilon", ""},
138 {"OneOverEffLeg", "(A#times#epsilon)^{-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}", ""},
177 {"Cos2PhiCS", "cos(2#phi_{CS})", ""},
178 {"CosTilPhiCS", "cos(#phi_{CS})", ""},
179 {"CosPhiH2", "cos(2#phi)", ""},
180 {"SinPhiH2", "sin(2#phi)", ""},
181 {"DeltaPhiV0ArpH2", "#phi^{pair}-#Psi^{V0A}", ""},
182 {"DeltaPhiV0CrpH2", "#phi^{pair}-#Psi^{V0C}", ""},
183 {"DeltaPhiV0ACrpH2", "#phi^{pair}-#Psi^{V0AC}", ""},
184 {"V0ArpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0A}))", ""},
185 {"V0CrpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0C}))", ""},
186 {"V0ACrpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0AC}))", ""},
187 {"DeltaPhiv0ArpH2", "#phi^{pair}-#Psi^{V0A}", ""},
188 {"DeltaPhiv0CrpH2", "#phi^{pair}-#Psi^{V0C}", ""},
189 {"DeltaPhiv0ACrpH2", "#phi^{pair}-#Psi^{V0AC}", ""},
190 {"DeltaPhiTPCrpH2", "#phi^{pair}-#Psi^{TPC}", ""},
191 {"v0ArpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0A}))", ""},
192 {"v0CrpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0C}))", ""},
193 {"v0ACrpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{V0AC}))", ""},
194 {"TPCrpH2FlowV2", "cos(2(#phi^{pair}-#Psi^{TPC}))", ""},
195 {"TPCrpH2FlowV2Sin", "sin(2(#phi^{pair}-#Psi^{TPC}))", ""},
196 {"LegDistance", "d^{legs}", "(cm)"},
197 {"LegDistanceXY", "d^{legs}_{xy}", "(cm)"},
198 {"DeltaEta", "#Delta #eta", ""},
199 {"DeltaPhi", "#Delta #phi", ""},
200 {"Merr", "m_{inv} error", "(GeV/#it{c}^{2})"},
201 {"DCA", "#it{dca}", "(cm)"},
202 {"PairType", "PairType", ""},
203 {"PseudoProperTime", "#tau", "(#mus)"}, //TODO: check unit
204 {"PseudoProperTimeErr", "#tau error", "(#mus)"},
205 {"PseudoProperTimeResolution", "(#tau-#tau^{MC truth})", "(#mus)"},
206 {"PseudoProperTimePull", "#frac{(#tau-#tau^{MC truth})}{#tau error}", ""},
207 {"TRDpidEffPair", "#epsilon^{TRD pair}(PID)", ""},
208 {"MomAsymDau1", "#it{p}^{leg1}/#it{p}^{pair}", ""},
209 {"MomAsymDau2", "#it{p}^{leg2}/#it{p}^{pair}", ""},
210 {"EffPair", "A#times#epsilon", ""},
211 {"OneOverEffPair", "(A#times#epsilon)^{-1}", ""},
212 {"RndmPair", "P", ""},
213 {"Pairs", "pairs/event", ""},
215 {"X", "x_{prim.vtx}", "(cm)"},
216 {"Y", "y_{prim.vtx}", "(cm)"},
217 {"Z", "z_{prim.vtx}", "(cm)"},
218 {"XRes", "#Delta x_{prim.vtx}", "(cm)"},
219 {"YRes", "#Delta y_{prim.vtx}", "(cm)"},
220 {"ZRes", "#Delta z_{prim.vtx}", "(cm)"},
221 {"PhiMaxPt", "#phi(#it{p}_{T}^{lead})", "(rad.)"},
222 {"MaxPt", "#it{p}_{T}^{lead}", "(GeV/#it{c})"},
224 {"v0ArpH2", "#Psi^{V0A}", ""},
225 {"v0CrpH2", "#Psi^{V0C}", ""},
226 {"v0ACrpH2", "#Psi^{V0AC}", ""},
227 {"v0AxH2", "Q_{x}^{V0A}", ""},
228 {"v0AyH2", "Q_{y}^{V0A}", ""},
229 {"v0CxH2", "Q_{x}^{V0C}", ""},
230 {"v0CyH2", "Q_{y}^{V0C}", ""},
231 {"v0ACxH2", "Q_{x}^{V0AC}", ""},
232 {"v0ACyH2", "Q_{y}^{V0AC}", ""},
233 {"v0AmagH2", "|#vec{Q}^{V0A}|", ""},
234 {"v0CmagH2", "|#vec{Q}^{V0C}|", ""},
235 {"v0ACmagH2", "|#vec{Q}^{V0AC}|", ""},
236 {"v0A0rpH2", "#Psi^{V0A}_{ring 0}", ""},
237 {"v0A3rpH2", "#Psi^{V0A}_{ring 3}", ""},
238 {"v0C0rpH2", "#Psi^{V0C}_{ring 0}", ""},
239 {"v0C3rpH2", "#Psi^{V0C}_{ring 3}", ""},
240 {"v0ATPCDiffH2", "cos(2(#Psi^{V0A}-#Psi^{TPC}))", ""},
241 {"v0CTPCDiffH2", "cos(2(#Psi^{V0C}-#Psi^{TPC}))", ""},
242 {"v0Av0CDiffH2", "cos(2(#Psi^{V0A}-#Psi^{V0C}))", ""},
243 {"v0Av0C0DiffH2", "cos(2(#Psi^{V0A}-#Psi^{V0C}_{ring 0}))", ""},
244 {"v0Av0C3DiffH2", "cos(2(#Psi^{V0A}-#Psi^{V0C}_{ring 3}))", ""},
245 {"v0Cv0A0DiffH2", "cos(2(#Psi^{V0C}-#Psi^{V0A}_{ring 0}))", ""},
246 {"v0Cv0A3DiffH2", "cos(2(#Psi^{V0C}-#Psi^{V0A}_{ring 3}))", ""},
247 {"v0A0v0A3DiffH2", "cos(2(#Psi^{V0A}_{ring 0}-#Psi^{V0A}_{ring 3}))", ""},
248 {"v0C0v0C3DiffH2", "cos(2(#Psi^{V0C}_{ring 0}-#Psi^{V0C}_{ring 3}))", ""},
250 {"MultV0A", "multiplicity V0A", ""},
251 {"MultV0C", "multiplicity V0C", ""},
252 {"MultV0", "multiplicity V0", ""},
253 {"AdcV0A", "AdcV0A", ""},
254 {"AdcV0C", "AdcV0C", ""},
255 {"AdcV0", "AdcV0", ""},
256 {"VZERO_ch0", "VZERO_ch0", ""},
257 {"VZERO_ch1", "VZERO_ch1", ""},
258 {"VZERO_ch2", "VZERO_ch2", ""},
259 {"VZERO_ch3", "VZERO_ch3", ""},
260 {"VZERO_ch4", "VZERO_ch4", ""},
261 {"VZERO_ch5", "VZERO_ch5", ""},
262 {"VZERO_ch6", "VZERO_ch6", ""},
263 {"VZERO_ch7", "VZERO_ch7", ""},
264 {"VZERO_ch8", "VZERO_ch8", ""},
265 {"VZERO_ch9", "VZERO_ch9", ""},
266 {"VZERO_ch10", "VZERO_ch10", ""},
267 {"VZERO_ch11", "VZERO_ch11", ""},
268 {"VZERO_ch12", "VZERO_ch12", ""},
269 {"VZERO_ch13", "VZERO_ch13", ""},
270 {"VZERO_ch14", "VZERO_ch14", ""},
271 {"VZERO_ch15", "VZERO_ch15", ""},
272 {"VZERO_ch16", "VZERO_ch16", ""},
273 {"VZERO_ch17", "VZERO_ch17", ""},
274 {"VZERO_ch18", "VZERO_ch18", ""},
275 {"VZERO_ch19", "VZERO_ch19", ""},
276 {"VZERO_ch20", "VZERO_ch20", ""},
277 {"VZERO_ch21", "VZERO_ch21", ""},
278 {"VZERO_ch22", "VZERO_ch22", ""},
279 {"VZERO_ch23", "VZERO_ch23", ""},
280 {"VZERO_ch24", "VZERO_ch24", ""},
281 {"VZERO_ch25", "VZERO_ch25", ""},
282 {"VZERO_ch26", "VZERO_ch26", ""},
283 {"VZERO_ch27", "VZERO_ch27", ""},
284 {"VZERO_ch28", "VZERO_ch28", ""},
285 {"VZERO_ch29", "VZERO_ch29", ""},
286 {"VZERO_ch30", "VZERO_ch30", ""},
287 {"VZERO_ch31", "VZERO_ch31", ""},
288 {"VZERO_ch32", "VZERO_ch32", ""},
289 {"VZERO_ch33", "VZERO_ch33", ""},
290 {"VZERO_ch34", "VZERO_ch34", ""},
291 {"VZERO_ch35", "VZERO_ch35", ""},
292 {"VZERO_ch36", "VZERO_ch36", ""},
293 {"VZERO_ch37", "VZERO_ch37", ""},
294 {"VZERO_ch38", "VZERO_ch38", ""},
295 {"VZERO_ch39", "VZERO_ch39", ""},
296 {"VZERO_ch40", "VZERO_ch40", ""},
297 {"VZERO_ch41", "VZERO_ch41", ""},
298 {"VZERO_ch42", "VZERO_ch42", ""},
299 {"VZERO_ch43", "VZERO_ch43", ""},
300 {"VZERO_ch44", "VZERO_ch44", ""},
301 {"VZERO_ch45", "VZERO_ch45", ""},
302 {"VZERO_ch46", "VZERO_ch46", ""},
303 {"VZERO_ch47", "VZERO_ch47", ""},
304 {"VZERO_ch48", "VZERO_ch48", ""},
305 {"VZERO_ch49", "VZERO_ch49", ""},
306 {"VZERO_ch50", "VZERO_ch50", ""},
307 {"VZERO_ch51", "VZERO_ch51", ""},
308 {"VZERO_ch52", "VZERO_ch52", ""},
309 {"VZERO_ch53", "VZERO_ch53", ""},
310 {"VZERO_ch54", "VZERO_ch54", ""},
311 {"VZERO_ch55", "VZERO_ch55", ""},
312 {"VZERO_ch56", "VZERO_ch56", ""},
313 {"VZERO_ch57", "VZERO_ch57", ""},
314 {"VZERO_ch58", "VZERO_ch58", ""},
315 {"VZERO_ch59", "VZERO_ch59", ""},
316 {"VZERO_ch60", "VZERO_ch60", ""},
317 {"VZERO_ch61", "VZERO_ch61", ""},
318 {"VZERO_ch62", "VZERO_ch62", ""},
319 {"VZERO_ch63", "VZERO_ch63", ""},
320 {"V0AxH2", "Q_{x}^{V0A}", ""},
321 {"V0AyH2", "Q_{y}^{V0A}", ""},
322 {"V0ArpH2", "#Psi^{V0A}", ""},
323 {"V0CxH2", "Q_{x}^{V0C}", ""},
324 {"V0CyH2", "Q_{y}^{V0C}", ""},
325 {"V0CrpH2", "#Psi^{V0C}", ""},
326 {"V0ACxH2", "Q_{x}^{V0AC}", ""},
327 {"V0ACyH2", "Q_{y}^{V0AC}", ""},
328 {"V0ACrpH2", "#Psi^{V0AC}", ""},
330 {"V0ArpResH2", "V0ArpResH2", ""},
331 {"V0CrpResH2", "V0CrpResH2", ""},
332 {"V0ACrpResH2", "V0ACrpResH2", ""},
333 {"V0XaXcH2", "Q_{x}^{V0A}#timesQ_{x}^{V0C}", ""},
334 {"V0XaYaH2", "Q_{x}^{V0A}#timesQ_{y}^{V0A}", ""},
335 {"V0XaYcH2", "Q_{x}^{V0A}#timesQ_{y}^{V0C}", ""},
336 {"V0YaXcH2", "Q_{y}^{V0A}#timesQ_{x}^{V0C}", ""},
337 {"V0YaYcH2", "Q_{y}^{V0A}#timesQ_{Y}^{V0C}", ""},
338 {"V0XcYcH2", "Q_{X}^{V0C}#timesQ_{Y}^{V0C}", ""},
339 {"V0ATPCDiffH2", "cos(2(#Psi^{V0A}-#Psi^{TPC}))", ""},
340 {"V0CTPCDiffH2", "cos(2(#Psi^{V0C}-#Psi^{TPC}))", ""},
341 {"V0AV0CDiffH2", "cos(2(#Psi^{V0A}-#Psi^{V0C}))", ""},
342 {"TPCxH2", "Q_{x}^{TPC}", ""},
343 {"TPCyH2", "Q_{y}^{TPC}", ""},
344 {"TPCmagH2", "|#vec{Q}^{TPC}|", ""},
345 {"TPCrpH2", "#Psi^{TPC}", ""},
346 {"CosTPCrpH2", "cos(2#Psi^{TPC})", ""},
347 {"SinTPCrpH2", "sin(2#Psi^{TPC})", ""},
348 {"TPCsub1xH2", "Q_{x}^{TPCsub1}", ""},
349 {"TPCsub1yH2", "Q_{y}^{TPCsub1}", ""},
350 {"TPCsub1rpH2", "#Psi^{TPCsub1}", ""},
351 {"TPCsub2xH2", "Q_{x}^{TPCsub2}", ""},
352 {"TPCsub2yH2", "Q_{y}^{TPCsub2}", ""},
353 {"TPCsub2rpH2", "#Psi^{TPCsub2}", ""},
354 {"TPCsub12DiffH2", "cos(2(#Psi^{TPCsub1}-#Psi^{TPCsub2}))", ""},
355 {"TPCsub12DiffH2Sin", "sin(2(#Psi^{TPCsub1}-#Psi^{TPCsub2}))", ""},
357 {"TPCxH2uc", "Q_{x}^{TPC} (uncorr.)", ""},
358 {"TPCyH2uc", "Q_{y}^{TPC} (uncorr.)", ""},
359 {"TPCmagH2uc", "|#vec{Q}^{TPC}| (uncorr.)", ""},
360 {"TPCrpH2uc", "#Psi^{TPC} (uncorr.)", ""},
361 {"TPCsub1xH2uc", "Q_{x}^{TPCsub1} (uncorr.)", ""},
362 {"TPCsub1yH2uc", "Q_{y}^{TPCsub1} (uncorr.)", ""},
363 {"TPCsub1rpH2uc", "#Psi^{TPCsub1} (uncorr.)", ""},
364 {"TPCsub2xH2uc", "Q_{x}^{TPCsub2} (uncorr.)", ""},
365 {"TPCsub2yH2uc", "Q_{y}^{TPCsub2} (uncorr.)", ""},
366 {"TPCsub2rpH2uc", "#Psi^{TPCsub2} (uncorr.)", ""},
367 {"TPCsub12DiffH2uc", "cos(2(#Psi^{TPCsub1}-#Psi^{TPCsub2})) (uncorr.)", ""},
369 {"NTrk", "N_{trk}", ""},
370 {"Tracks", "tracks/per event", ""},
371 {"NVtxContrib", "N_{vtx. contrib.}", ""},
372 {"NVtxContribTPC", "N_{vtx. contrib.}^{TPC}", ""},
373 {"Nacc", "N_{acc} #cbar_{#||{#eta}<0.9}", ""},
374 {"MatchEffITSTPC", "N_{trk}^{TPC}/N_{trk}^{ITS} #cbar_{#||{#eta}<0.9}", ""},
375 {"NaccTrcklts", "N_{acc. trkl} #cbar_{#||{#eta}<1.6}", ""},
376 {"NaccTrcklts0916", "N_{acc. trkl} #cbar_{-1.6<#eta<-0.9}^{0.9<#eta<1.6}",""},
378 {"NaccTrckltsEsd05", "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (SPD)", ""},
379 {"NaccTrckltsEsd10", "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (SPD)", ""},
380 {"NaccTrckltsEsd16", "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (SPD)", ""},
381 {"NaccTrckltsEsd05Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (SPD)", ""},
382 {"NaccTrckltsEsd10Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (SPD)", ""},
383 {"NaccTrckltsEsd16Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (SPD)", ""},
384 {"NaccItsTpcEsd05", "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (ITS+TPC)", ""},
385 {"NaccItsTpcEsd10", "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (ITS+TPC)", ""},
386 {"NaccItsTpcEsd16", "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (ITS+TPC)", ""},
387 {"NaccItsTpcEsd05Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (ITS+TPC)", ""},
388 {"NaccItsTpcEsd10Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (ITS+TPC)", ""},
389 {"NaccItsTpcEsd16Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (ITS+TPC)", ""},
390 {"NaccItsPureEsd05", "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (ITS)", ""},
391 {"NaccItsPureEsd10", "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (ITS)", ""},
392 {"NaccItsPureEsd16", "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (ITS)", ""},
393 {"NaccItsPureEsd05Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (ITS)", ""},
394 {"NaccItsPureEsd10Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (ITS)", ""},
395 {"NaccItsPureEsd16Corr", "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (ITS)", ""},
397 {"RefMult", "N_{trk}^{ref}", ""},
398 {"RefMultTPConly", "N_{trk}^{TPConly}", ""},
399 {"Nch", "N_{ch} #cbar_{#||{#eta}<1.6}", ""},
400 {"Nch05", "N_{ch} #cbar_{#||{#eta}<0.5}", ""},
401 {"Nch10", "N_{ch} #cbar_{#||{#eta}<1.0}", ""},
402 {"Centrality", "centrality", "(%)"},
403 {"CentralitySPD", "centrality_{SPD}", "(%)"},
404 {"TriggerInclONL", "online trigger bit (inclusive)", ""},
405 {"TriggerInclOFF", "offline trigger bit (inclusive)", ""},
406 {"TriggerExclOFF", "offline trigger bit (exclusive)", ""},
407 {"Nevents", "N_{evt}", ""},
408 {"RunNumber", "run", ""},
409 {"MixingBin", "mixing bin", ""}
412 AliPIDResponse* AliDielectronVarManager::fgPIDResponse = 0x0;
413 AliVEvent* AliDielectronVarManager::fgEvent = 0x0;
414 AliEventplane* AliDielectronVarManager::fgTPCEventPlane = 0x0;
415 AliKFVertex* AliDielectronVarManager::fgKFVertex = 0x0;
416 TProfile* AliDielectronVarManager::fgMultEstimatorAvg[4][9] = {{0x0}};
417 TH3D* AliDielectronVarManager::fgTRDpidEff[10][4] = {{0x0}};
418 THnBase* AliDielectronVarManager::fgEffMap = 0x0;
419 Double_t AliDielectronVarManager::fgTRDpidEffCentRanges[10][4] = {{0.0}};
420 TString AliDielectronVarManager::fgVZEROCalibrationFile = "";
421 TString AliDielectronVarManager::fgVZERORecenteringFile = "";
422 TProfile2D* AliDielectronVarManager::fgVZEROCalib[64] = {0x0};
423 TProfile2D* AliDielectronVarManager::fgVZERORecentering[2][2] = {{0x0,0x0},{0x0,0x0}};
424 Int_t AliDielectronVarManager::fgCurrentRun = -1;
425 Double_t AliDielectronVarManager::fgData[AliDielectronVarManager::kNMaxValues] = {0.};
426 //________________________________________________________________
427 AliDielectronVarManager::AliDielectronVarManager() :
428 TNamed("AliDielectronVarManager","AliDielectronVarManager")
431 // Default constructor
433 for(Int_t i=0; i<4; ++i)
434 for(Int_t j=0; j<9; ++j)
435 fgMultEstimatorAvg[i][j] = 0x0;
436 for(Int_t i=0; i<10; ++i)
437 for(Int_t j=0; j<4; ++j)
438 fgTRDpidEff[i][j] = 0x0;
439 for(Int_t i=0; i<64; ++i) fgVZEROCalib[i] = 0x0;
440 for(Int_t i=0; i<2; ++i) {
441 for(Int_t j=0; j<2; ++j) fgVZERORecentering[i][j] = 0x0;
446 //________________________________________________________________
447 AliDielectronVarManager::AliDielectronVarManager(const char* name, const char* title) :
453 for(Int_t i=0; i<4; ++i)
454 for(Int_t j=0; j<9; ++j)
455 fgMultEstimatorAvg[i][j] = 0x0;
456 for(Int_t i=0; i<10; ++i)
457 for(Int_t j=0; j<4; ++j)
458 fgTRDpidEff[i][j] = 0x0;
459 for(Int_t i=0; i<64; ++i) fgVZEROCalib[i] = 0x0;
460 for(Int_t i=0; i<2; ++i)
461 for(Int_t j=0; j<2; ++j)
462 fgVZERORecentering[i][j] = 0x0;
466 //________________________________________________________________
467 AliDielectronVarManager::~AliDielectronVarManager()
470 // Default destructor
472 for(Int_t i=0; i<4; ++i)
473 for(Int_t j=0; j<9; ++j)
474 if(fgMultEstimatorAvg[i][j]) delete fgMultEstimatorAvg[i][j];
475 for(Int_t i=0; i<10; ++i)
476 for(Int_t j=0; j<4; ++j)
477 if(fgTRDpidEff[i][j]) delete fgTRDpidEff[i][j];
478 for(Int_t i=0; i<64; ++i)
479 if(fgVZEROCalib[i]) delete fgVZEROCalib[i];
480 for(Int_t i=0; i<2; ++i)
481 for(Int_t j=0; j<2; ++j)
482 if(fgVZERORecentering[i][j]) delete fgVZERORecentering[i][j];
485 //________________________________________________________________
486 UInt_t AliDielectronVarManager::GetValueType(const char* valname) {
488 // Get value type by value name
491 TString name(valname);
492 for(UInt_t i=0; i<AliDielectronVarManager::kNMaxValues; i++) {
493 if(!name.CompareTo(fgkParticleNames[i][0])) return i;