]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGDQ/dielectron/AliDielectronVarManager.cxx
- updates on the filter (fiorella)
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronVarManager.cxx
1 /*************************************************************************
2 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
3 *                                                                        *
4 * Author: The ALICE Off-line Project.                                    *
5 * Contributors are mentioned in the code where appropriate.              *
6 *                                                                        *
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 **************************************************************************/
15
16 ///////////////////////////////////////////////////////////////////////////
17 //                Dielectron Variables Manager class                     //
18 //                                                                       //
19 /*
20
21 */
22 //                                                                       //
23 ///////////////////////////////////////////////////////////////////////////
24
25 #include "AliDielectronVarManager.h"
26
27 ClassImp(AliDielectronVarManager)
28
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.)"},
41   {"Eta",                    "#eta",                                               ""},
42   {"Y",                      "#it{y}",                                             ""},
43   {"E",                      "E",                                                  "(GeV)"},
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",                                     ""},
63     
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)",                           ""},
74
75   {"ImpactParXY",            "#it{dca}_{xy}",                                      "(cm)"},
76   {"ImpactParZ",             "#it{dca}_{z}",                                       "(cm)"},
77   {"TrackLength",            "#it{l}_{track}",                                     "(cm)"},
78
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",                   ""},
84
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}",                           ""},
91   
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}",                                  ""},
104
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",                                        ""},
112   
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}",                                  ""},
118
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}",                                  ""},
124
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.",                            ""},
132
133   {"V0Index0",               "V0Index0",                                           ""},
134   {"KinkIndex0",             "KinkIndex0",                                         ""},
135   //
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   {"LegDistance",            "d^{legs}",                                           "(cm)"},
162   {"LegDistanceXY",          "d^{legs}_{xy}",                                      "(cm)"},
163   {"DeltaEta",               "#Delta #eta",                                        ""},
164   {"DeltaPhi",               "#Delta #phi",                                        ""},
165   {"Merr",                   "m_{inv} error",                                      "(GeV/#it{c}^{2})"},
166   {"DCA",                    "#it{dca}",                                           "(cm)"},
167   {"PairType",               "PairType",                                           ""},
168   {"PseudoProperTime",       "#tau",                                               "(#mus)"}, //TODO: check unit
169   {"PseudoProperTimeErr",    "#tau error",                                         "(#mus)"},
170   {"PseudoProperTimeResolution", "(#tau-#tau^{MC truth})",                         "(#mus)"},
171   {"PseudoProperTimePull",   "#frac{(#tau-#tau^{MC truth})}{#tau error}",          ""},
172   {"TRDpidEffPair",          "#epsilon^{TRD pair}(PID)",                           ""},
173   //
174   {"X",                      "x_{prim.vtx}",                                       "(cm)"},
175   {"Y",                      "y_{prim.vtx}",                                       "(cm)"},
176   {"Z",                      "z_{prim.vtx}",                                       "(cm)"},
177   {"XRes",                   "#Delta x_{prim.vtx}",                                "(cm)"},
178   {"YRes",                   "#Delta y_{prim.vtx}",                                "(cm)"},
179   {"ZRes",                   "#Delta z_{prim.vtx}",                                "(cm)"},
180   {"PhiMaxPt",               "#phi(#it{p}_{T}^{lead})",                            "(rad.)"},
181   {"MaxPt",                  "#it{p}_{T}^{lead}",                                  "(GeV/#it{c})"},
182
183   {"v0ArpH2",                "#Psi^{V0A}",                                         ""},
184   {"v0CrpH2",                "#Psi^{V0C}",                                         ""},
185   {"v0ACrpH2",               "#Psi^{V0AC}",                                        ""},
186   {"v0AxH2",                 "Q_{x}^{V0A}",                                        ""},
187   {"v0AyH2",                 "Q_{y}^{V0A}",                                        ""},
188   {"v0CxH2",                 "Q_{x}^{V0C}",                                        ""},
189   {"v0CyH2",                 "Q_{y}^{V0C}",                                        ""},
190   {"v0ACxH2",                "Q_{x}^{V0AC}",                                       ""},
191   {"v0ACyH2",                "Q_{y}^{V0AC}",                                       ""},
192   {"v0AmagH2",               "|#vec{Q}^{V0A}|",                                     ""},
193   {"v0CmagH2",               "|#vec{Q}^{V0C}|",                                     ""},
194   {"v0ACmagH2",              "|#vec{Q}^{V0AC}|",                                    ""},
195   {"v0A0rpH2",               "#Psi^{V0A}_{ring 0}",                                ""},
196   {"v0A3rpH2",               "#Psi^{V0A}_{ring 3}",                                ""},
197   {"v0C0rpH2",               "#Psi^{V0C}_{ring 0}",                                ""},
198   {"v0C3rpH2",               "#Psi^{V0C}_{ring 3}",                                ""},
199
200   {"DeltaPhiv0ArpH2",        "#phi^{pair}-#Psi^{V0A}",                             ""},
201   {"DeltaPhiv0CrpH2",        "#phi^{pair}-#Psi^{V0C}",                             ""},
202   {"DeltaPhiv0ACrpH2",       "#phi^{pair}-#Psi^{V0AC}",                            ""},
203   {"v0ATPCDiffH2",           "cos(2(#Psi^{V0A}-#Psi^{TPC}))",                      ""},
204   {"v0CTPCDiffH2",           "cos(2(#Psi^{V0C}-#Psi^{TPC}))",                      ""},
205   {"v0Av0CDiffH2",           "cos(2(#Psi^{V0A}-#Psi^{V0C}))",                      ""},
206   {"v0Av0C0DiffH2",          "cos(2(#Psi^{V0A}-#Psi^{V0C}_{ring 0}))",             ""},
207   {"v0Av0C3DiffH2",          "cos(2(#Psi^{V0A}-#Psi^{V0C}_{ring 3}))",             ""},
208   {"v0Cv0A0DiffH2",          "cos(2(#Psi^{V0C}-#Psi^{V0A}_{ring 0}))",             ""},
209   {"v0Cv0A3DiffH2",          "cos(2(#Psi^{V0C}-#Psi^{V0A}_{ring 3}))",             ""},
210   {"v0A0v0A3DiffH2",         "cos(2(#Psi^{V0A}_{ring 0}-#Psi^{V0A}_{ring 3}))",    ""},
211   {"v0C0v0C3DiffH2",         "cos(2(#Psi^{V0C}_{ring 0}-#Psi^{V0C}_{ring 3}))",    ""},
212   {"v0ArpH2FlowV2",          "cos(2(#phi^{pair}-#Psi^{V0A}))",                     ""},
213   {"v0CrpH2FlowV2",          "cos(2(#phi^{pair}-#Psi^{V0C}))",                     ""},
214   {"v0ACrpH2FlowV2",         "cos(2(#phi^{pair}-#Psi^{V0AC}))",                    ""},
215
216   {"MultV0A",                "multiplicity V0A",                                   ""},
217   {"MultV0C",                "multiplicity V0C",                                   ""},
218   {"MultV0",                 "multiplicity V0",                                    ""},
219   {"AdcV0A",                   "AdcV0A",                                   ""},
220   {"AdcV0C",                   "AdcV0C",                                   ""},
221   {"AdcV0",    "AdcV0",                                     ""},
222   {"VZERO_ch0",   "VZERO_ch0",                                    ""},
223   {"VZERO_ch1",   "VZERO_ch1", ""},
224   {"VZERO_ch2",   "VZERO_ch2", ""},
225   {"VZERO_ch3",   "VZERO_ch3", ""},
226   {"VZERO_ch4",   "VZERO_ch4", ""},
227   {"VZERO_ch5",   "VZERO_ch5", ""},
228   {"VZERO_ch6",   "VZERO_ch6", ""},
229   {"VZERO_ch7",   "VZERO_ch7", ""},
230   {"VZERO_ch8",   "VZERO_ch8", ""},
231   {"VZERO_ch9",   "VZERO_ch9", ""},
232   {"VZERO_ch10",   "VZERO_ch10", ""},
233   {"VZERO_ch11",   "VZERO_ch11", ""},
234   {"VZERO_ch12",   "VZERO_ch12", ""},
235   {"VZERO_ch13",   "VZERO_ch13", ""},
236   {"VZERO_ch14",   "VZERO_ch14", ""},
237   {"VZERO_ch15",   "VZERO_ch15", ""},
238   {"VZERO_ch16",   "VZERO_ch16", ""},
239   {"VZERO_ch17",   "VZERO_ch17", ""},
240   {"VZERO_ch18",   "VZERO_ch18", ""},
241   {"VZERO_ch19",   "VZERO_ch19", ""},
242   {"VZERO_ch20",   "VZERO_ch20", ""},
243   {"VZERO_ch21",   "VZERO_ch21", ""},
244   {"VZERO_ch22",   "VZERO_ch22", ""},
245   {"VZERO_ch23",   "VZERO_ch23", ""},
246   {"VZERO_ch24",   "VZERO_ch24", ""},
247   {"VZERO_ch25",   "VZERO_ch25", ""},
248   {"VZERO_ch26",   "VZERO_ch26", ""},
249   {"VZERO_ch27",   "VZERO_ch27", ""},
250   {"VZERO_ch28",   "VZERO_ch28", ""},
251   {"VZERO_ch29",   "VZERO_ch29", ""},
252   {"VZERO_ch30",   "VZERO_ch30", ""},
253   {"VZERO_ch31",   "VZERO_ch31", ""},
254   {"VZERO_ch32",   "VZERO_ch32", ""},
255   {"VZERO_ch33",   "VZERO_ch33", ""},
256   {"VZERO_ch34",   "VZERO_ch34", ""},
257   {"VZERO_ch35",   "VZERO_ch35", ""},
258   {"VZERO_ch36",   "VZERO_ch36", ""},
259   {"VZERO_ch37",   "VZERO_ch37", ""},
260   {"VZERO_ch38",   "VZERO_ch38", ""},
261   {"VZERO_ch39",   "VZERO_ch39", ""},
262   {"VZERO_ch40",   "VZERO_ch40", ""},
263   {"VZERO_ch41",   "VZERO_ch41", ""},
264   {"VZERO_ch42",   "VZERO_ch42", ""},
265   {"VZERO_ch43",   "VZERO_ch43", ""},
266   {"VZERO_ch44",   "VZERO_ch44", ""},
267   {"VZERO_ch45",   "VZERO_ch45", ""},
268   {"VZERO_ch46",   "VZERO_ch46", ""},
269   {"VZERO_ch47",   "VZERO_ch47", ""},
270   {"VZERO_ch48",   "VZERO_ch48", ""},
271   {"VZERO_ch49",   "VZERO_ch49", ""},
272   {"VZERO_ch50",   "VZERO_ch50", ""},
273   {"VZERO_ch51",   "VZERO_ch51", ""},
274   {"VZERO_ch52",   "VZERO_ch52", ""},
275   {"VZERO_ch53",   "VZERO_ch53", ""},
276   {"VZERO_ch54",   "VZERO_ch54", ""},
277   {"VZERO_ch55",   "VZERO_ch55", ""},
278   {"VZERO_ch56",   "VZERO_ch56", ""},
279   {"VZERO_ch57",   "VZERO_ch57", ""},
280   {"VZERO_ch58",   "VZERO_ch58", ""},
281   {"VZERO_ch59",   "VZERO_ch59", ""},
282   {"VZERO_ch60",   "VZERO_ch60", ""},
283   {"VZERO_ch61",   "VZERO_ch61", ""},
284   {"VZERO_ch62",   "VZERO_ch62", ""},
285   {"VZERO_ch63",   "VZERO_ch63", ""},
286   {"V0AxH2",                 "Q_{x}^{V0A}",                                        ""},
287   {"V0AyH2",                 "Q_{y}^{V0A}",                                        ""},
288   {"V0ArpH2",                "#Psi^{V0A}",                                         ""},
289   {"V0CxH2",                 "Q_{x}^{V0C}",                                        ""},
290   {"V0CyH2",                 "Q_{y}^{V0C}",                                        ""},
291   {"V0CrpH2",                "#Psi^{V0C}",                                         ""},
292   {"V0ACxH2",                "Q_{x}^{V0AC}",                                       ""},
293   {"V0ACyH2",                "Q_{y}^{V0AC}",                                       ""},
294   {"V0ACrpH2",               "#Psi^{V0AC}",                                        ""},
295
296   {"V0ArpResH2",                   "V0ArpResH2", ""},
297   {"V0CrpResH2",                   "V0CrpResH2", ""},
298   {"V0ACrpResH2",                   "V0ACrpResH2", ""},
299   {"V0XaXcH2",               "Q_{x}^{V0A}#timesQ_{x}^{V0C}",                       ""},
300   {"V0XaYaH2",               "Q_{x}^{V0A}#timesQ_{y}^{V0A}",                       ""},
301   {"V0XaYcH2",               "Q_{x}^{V0A}#timesQ_{y}^{V0C}",                       ""},
302   {"V0YaXcH2",               "Q_{y}^{V0A}#timesQ_{x}^{V0C}",                       ""},
303   {"V0YaYcH2",               "Q_{y}^{V0A}#timesQ_{Y}^{V0C}",                       ""},
304   {"V0XcYcH2",               "Q_{X}^{V0C}#timesQ_{Y}^{V0C}",                       ""},
305   {"V0ATPCDiffH2",           "cos(2(#Psi^{V0A}-#Psi^{TPC}))",                      ""},
306   {"V0CTPCDiffH2",           "cos(2(#Psi^{V0C}-#Psi^{TPC}))",                      ""},
307   {"V0AV0CDiffH2",           "cos(2(#Psi^{V0A}-#Psi^{V0C}))",                      ""},
308   {"TPCxH2",                 "Q_{x}^{TPC}",                                        ""},
309   {"TPCyH2",                 "Q_{y}^{TPC}",                                        ""},
310   {"TPCmagH2",               "|#vec{Q}^{TPC}|",                                   ""},
311   {"TPCrpH2",                "#Psi^{TPC}",                                         ""},
312   {"TPCsub1xH2",             "Q_{x}^{TPCsub1}",                                    ""},
313   {"TPCsub1yH2",             "Q_{y}^{TPCsub1}",                                    ""},
314   {"TPCsub1rpH2",            "#Psi^{TPCsub1}",                                     ""},
315   {"TPCsub2xH2",             "Q_{x}^{TPCsub2}",                                    ""},
316   {"TPCsub2yH2",             "Q_{y}^{TPCsub2}",                                    ""},
317   {"TPCsub2rpH2",            "#Psi^{TPCsub2}",                                     ""},
318   {"TPCsub12DiffH2",         "cos(2(#Psi^{TPCsub1}-#Psi^{TPCsub2}))",              ""},
319   {"TPCsub12DiffH2Sin",      "sin(2(#Psi^{TPCsub1}-#Psi^{TPCsub2}))",              ""},
320
321   {"TPCxH2uc",               "Q_{x}^{TPC} (uncorr.)",                              ""},
322   {"TPCyH2uc",               "Q_{y}^{TPC} (uncorr.)",                              ""},
323   {"TPCmagH2uc",             "|#vec{Q}^{TPC}| (uncorr.)",                         ""},
324   {"TPCrpH2uc",              "#Psi^{TPC} (uncorr.)",                               ""},
325   {"TPCsub1xH2uc",           "Q_{x}^{TPCsub1} (uncorr.)",                          ""},
326   {"TPCsub1yH2uc",           "Q_{y}^{TPCsub1} (uncorr.)",                          ""},
327   {"TPCsub1rpH2uc",          "#Psi^{TPCsub1} (uncorr.)",                           ""},
328   {"TPCsub2xH2uc",           "Q_{x}^{TPCsub2} (uncorr.)",                          ""},
329   {"TPCsub2yH2uc",           "Q_{y}^{TPCsub2} (uncorr.)",                          ""},
330   {"TPCsub2rpH2uc",          "#Psi^{TPCsub2} (uncorr.)",                           ""},
331   {"TPCsub12DiffH2uc",       "cos(2(#Psi^{TPCsub1}-#Psi^{TPCsub2})) (uncorr.)",    ""},
332
333   {"NTrk",                   "N_{trk}",                                            ""},
334   {"Tracks",                 "tracks",                                             ""},
335   {"NVtxContrib",            "N_{vtx. contrib.}",                                  ""},
336   {"NVtxContribTPC",         "N_{vtx. contrib.}^{TPC}",                            ""},
337   {"Nacc",                   "N_{acc} #cbar_{#||{#eta}<0.9}",                      ""},
338   {"MatchEffITSTPC",         "N_{trk}^{TPC}/N_{trk}^{ITS} #cbar_{#||{#eta}<0.9}",  ""},
339   {"NaccTrcklts",            "N_{acc. trkl} #cbar_{#||{#eta}<1.6}",                ""},
340   {"NaccTrcklts0916",        "N_{acc. trkl} #cbar_{-1.6<#eta<-0.9}^{0.9<#eta<1.6}",""},
341   
342   {"NaccTrckltsEsd05",       "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (SPD)",          ""},
343   {"NaccTrckltsEsd10",       "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (SPD)",          ""},
344   {"NaccTrckltsEsd16",       "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (SPD)",          ""},
345   {"NaccTrckltsEsd05Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (SPD)",  ""},
346   {"NaccTrckltsEsd10Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (SPD)",  ""},
347   {"NaccTrckltsEsd16Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (SPD)",  ""},
348   {"NaccItsTpcEsd05",        "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (ITS+TPC)",      ""},
349   {"NaccItsTpcEsd10",        "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (ITS+TPC)",      ""},
350   {"NaccItsTpcEsd16",        "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (ITS+TPC)",      ""},
351   {"NaccItsTpcEsd05Corr",    "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (ITS+TPC)", ""},
352   {"NaccItsTpcEsd10Corr",    "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (ITS+TPC)", ""},
353   {"NaccItsTpcEsd16Corr",    "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (ITS+TPC)", ""},
354   {"NaccItsPureEsd05",       "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (ITS)",          ""},
355   {"NaccItsPureEsd10",       "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (ITS)",          ""},
356   {"NaccItsPureEsd16",       "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (ITS)",          ""},
357   {"NaccItsPureEsd05Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (ITS)",  ""},
358   {"NaccItsPureEsd10Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (ITS)",  ""},
359   {"NaccItsPureEsd16Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (ITS)",  ""},
360
361   {"Nch",                    "N_{ch} #cbar_{#||{#eta}<1.6}",                       ""},
362   {"Nch05",                  "N_{ch} #cbar_{#||{#eta}<0.5}",                       ""},
363   {"Nch10",                  "N_{ch} #cbar_{#||{#eta}<1.0}",                       ""},
364   {"Centrality",             "centrality",                                         "(%)"},
365   {"CentralitySPD",          "centrality_{SPD}",                                   "(%)"},
366   {"Nevents",                "N_{evt}",                                            ""},
367   {"RunNumber",              "run",                                                ""},
368   {"MixingBin",              "mixing bin",                                         ""}
369 };
370
371 AliPIDResponse* AliDielectronVarManager::fgPIDResponse      = 0x0;
372 AliVEvent*      AliDielectronVarManager::fgEvent            = 0x0;
373 AliEventplane*  AliDielectronVarManager::fgTPCEventPlane    = 0x0;
374 AliKFVertex*    AliDielectronVarManager::fgKFVertex         = 0x0;
375 TProfile*       AliDielectronVarManager::fgMultEstimatorAvg[4][9] = {{0x0}};
376 TH3D*           AliDielectronVarManager::fgTRDpidEff[10][4] = {{0x0}};
377 Double_t        AliDielectronVarManager::fgTRDpidEffCentRanges[10][4] = {{0.0}};
378 TString         AliDielectronVarManager::fgVZEROCalibrationFile = "";
379 TString         AliDielectronVarManager::fgVZERORecenteringFile = "";
380 TProfile2D*     AliDielectronVarManager::fgVZEROCalib[64] = {0x0};
381 TProfile2D*     AliDielectronVarManager::fgVZERORecentering[2][2] = {{0x0,0x0},{0x0,0x0}};
382 Int_t           AliDielectronVarManager::fgCurrentRun = -1;
383 Double_t        AliDielectronVarManager::fgData[AliDielectronVarManager::kNMaxValues] = {0.};
384 //________________________________________________________________
385 AliDielectronVarManager::AliDielectronVarManager() :
386   TNamed("AliDielectronVarManager","AliDielectronVarManager")
387 {
388   //
389   // Default constructor
390   //
391   for(Int_t i=0; i<4; ++i)
392     for(Int_t j=0; j<9; ++j)
393       fgMultEstimatorAvg[i][j] = 0x0;
394   for(Int_t i=0; i<10; ++i)
395     for(Int_t j=0; j<4; ++j)
396       fgTRDpidEff[i][j] = 0x0;
397   for(Int_t i=0; i<64; ++i) fgVZEROCalib[i] = 0x0;
398   for(Int_t i=0; i<2; ++i) {
399     for(Int_t j=0; j<2; ++j) fgVZERORecentering[i][j] = 0x0;
400   }
401 }
402
403 //________________________________________________________________
404 AliDielectronVarManager::AliDielectronVarManager(const char* name, const char* title) :
405   TNamed(name,title)
406 {
407   //
408   // Named constructor
409   //
410   for(Int_t i=0; i<4; ++i)
411     for(Int_t j=0; j<9; ++j)
412       fgMultEstimatorAvg[i][j] = 0x0;
413   for(Int_t i=0; i<10; ++i)
414     for(Int_t j=0; j<4; ++j)
415       fgTRDpidEff[i][j] = 0x0;  
416   for(Int_t i=0; i<64; ++i) fgVZEROCalib[i] = 0x0;
417   for(Int_t i=0; i<2; ++i)
418     for(Int_t j=0; j<2; ++j) 
419       fgVZERORecentering[i][j] = 0x0;
420 }
421
422 //________________________________________________________________
423 AliDielectronVarManager::~AliDielectronVarManager()
424 {
425   //
426   // Default destructor
427   //
428   for(Int_t i=0; i<4; ++i)
429     for(Int_t j=0; j<9; ++j)
430       if(fgMultEstimatorAvg[i][j]) delete fgMultEstimatorAvg[i][j];
431   for(Int_t i=0; i<10; ++i)
432     for(Int_t j=0; j<4; ++j)
433       if(fgTRDpidEff[i][j]) delete fgTRDpidEff[i][j];    
434   for(Int_t i=0; i<64; ++i) 
435     if(fgVZEROCalib[i]) delete fgVZEROCalib[i];
436   for(Int_t i=0; i<2; ++i)
437     for(Int_t j=0; j<2; ++j) 
438       if(fgVZERORecentering[i][j]) delete fgVZERORecentering[i][j]; 
439 }
440
441 //________________________________________________________________
442 UInt_t AliDielectronVarManager::GetValueType(const char* valname) {
443   //
444   // Get value type by value name
445   //
446
447   TString name(valname);
448   for(UInt_t i=0; i<AliDielectronVarManager::kNMaxValues; i++) {
449     if(!name.CompareTo(fgkParticleNames[i][0])) return i;
450   }
451   return -1;
452 }