Change Mult binning scheme
[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   {"TRD_signal",             "TRD d#it{E}/d#it{x} + TR",                           "(a.u.)"},
75
76   {"ImpactParXY",            "#it{dca}_{xy}",                                      "(cm)"},
77   {"ImpactParZ",             "#it{dca}_{z}",                                       "(cm)"},
78   {"TrackLength",            "#it{l}_{track}",                                     "(cm)"},
79   
80   {"PdgCode",                "PDG code",                                           ""},
81   {"PdgCodeMother",          "mothers PDG code",                                   ""},
82   {"PdgCodeGrandMother",     "grand mothers PDG code",                             ""},
83   {"HasCocktailMother",      "mother from AliGenCocktail",                         ""},
84   {"HasCocktailGrandMother", "grand mother from AliGenCocktail",                   ""},
85
86   {"NumberOfDaughters",      "N_{daughters}",                                      ""},
87   {"HaveSameMother",         "HaveSameMother",                                     ""},
88   {"IsJpsiPrimary",          "IsJpsiPrimary",                                      ""},
89   {"NumberOfJPsisIncl",      "N_{incl. J/^{}#psi}",                                ""},
90   {"NumberOfJPsisPrompt",    "N_{prompt J/^{}#psi}",                               ""},
91   {"NumberOfJPsisNPrompt",   "N_{non prompt J/^{}#psi}",                           ""},
92   
93   {"ITS_signal",             "ITS d#it{E}/d#it{x}",                                "(keV/^{}300#mum)"},//TODO: check units
94   {"SSD1_signal",            "SSD 1st layer d#it{E}/d#it{x}",                      "(keV/^{}300#mum)"},
95   {"SSD2_signal",            "SSD 2nd layer d#it{E}/d#it{x}",                      "(keV/^{}300#mum)"},
96   {"SDD1_signal",            "SDD 1st layer d#it{E}/d#it{x}",                      "(keV/^{}300#mum)"},
97   {"SDD2_signal",            "SDD 2nd layer d#it{E}/d#it{x}",                      "(keV/^{}300#mum)"},
98   {"ITS_clusterMap",         "ITS_clusterMap",                                     ""},
99   {"ITSLayerFirstCls",       "1st ITS cluster",                                    "(layer)"},
100   {"ITS_nSigma_Electrons",   "n#sigma_{e}^{ITS}",                                  ""},
101   {"ITS_nSigma_Pions",       "n#sigma_{#pi}^{ITS}",                                ""},
102   {"ITS_nSigma_Muons",       "n#sigma_{#mu}^{ITS}",                                ""},
103   {"ITS_nSigma_Kaons",       "n#sigma_{K}^{ITS}",                                  ""},
104   {"ITS_nSigma_Protons",     "n#sigma_{p}^{ITS}",                                  ""},
105
106   {"P_InnerParam",           "#it{p}_{inner wall}^{TPC}",                          "(GeV/#it{c})"},
107   {"P_OuterParam",           "#it{p}_{outer wall}^{TPC}",                          "(GeV/#it{c})"},
108   {"Y_signed_InnerParam",    "sign. y_{inner wall}^{TPC}",                         "(GeV/#it{c})"},
109   {"TPC_signal",             "TPC d#it{E}/d#it{x}",                                "(a.u.)"},
110   {"TOF_signal",             "TOF signal",                                         "(ps)"},
111   {"TOF_beta",               "TOF #beta",                                          "(#it{c})"},
112   {"TOF_PIDbit",             "TOF PID bit",                                        ""},
113   {"TOF_mismProb",           "TOF mismatch probability"                            ""},
114
115   {"TPC_nSigma_ElectronsRaw","n#sigma_{e}^{TPC} (raw)",                            ""},
116   {"TPC_nSigma_Electrons",   "n#sigma_{e}^{TPC}",                                  ""},
117   {"TPC_nSigma_Pions",       "n#sigma_{#pi}^{TPC}",                                ""},
118   {"TPC_nSigma_Muons",       "n#sigma_{#mu}^{TPC}",                                ""},
119   {"TPC_nSigma_Kaons",       "n#sigma_{K}^{TPC}",                                  ""},
120   {"TPC_nSigma_Protons",     "n#sigma_{p}^{TPC}",                                  ""},
121
122   {"TOF_nSigma_Electrons",   "n#sigma_{e}^{TOF}",                                  ""},
123   {"TOF_nSigma_Pions",       "n#sigma_{#pi}^{TOF}",                                ""},
124   {"TOF_nSigma_Muons",       "n#sigma_{#mu}^{TOF}",                                ""},
125   {"TOF_nSigma_Kaons",       "n#sigma_{K}^{TOF}",                                  ""},
126   {"TOF_nSigma_Protons",     "n#sigma_{p}^{TOF}",                                  ""},
127
128   {"EMCAL_nSigma_Electrons", "n#sigma_{e}^{EMCAL}",                                ""},
129   {"EMCAL_EoverP",           "E^{EMCAL}/^{}#it{p}",                                "(#it{c})"},
130   {"EMCAL_E",                "E^{EMCAL}",                                          "(GeV)"},
131   {"EMCAL_NCells",           "N_{cell}^{EMCAL}",                                   ""},
132   {"EMCAL_M02",              "M02 EMCAL showershape param.",                       ""},
133   {"EMCAL_M20",              "M20 EMCAL showershape param.",                       ""},
134   {"EMCAL_Dispersion",       "EMCAL dispersion param.",                            ""},
135
136   {"EffLeg",                 "A#times#epsilon",                                    ""},
137   {"V0Index0",               "V0Index0",                                           ""},
138   {"KinkIndex0",             "KinkIndex0",                                         ""},
139   //
140   {"Chi2NDF",                "#chi^{2}/^{}ndf",                                    ""},
141   {"DecayLength",            "l_{decay}",                                          "(cm)"},
142   {"R",                      "d(#vec{x}_{vtx},#vec{x}_{part.})",                   "(cm)"},
143   {"OpeningAngle",           "#varphi",                                            "(rad.)"},
144   {"CosPointingAngle",       "cos(#theta)",                                        "(rad.)"},
145   {"ArmAlpha",               "#alpha^{arm}",                                       ""},
146   {"ArmPt",                  "#it{p}_{T}^{arm}",                                   "(GeV/#it{c})"},
147   {"ThetaHE",                "cos(#theta_{HE})",                                   ""},
148   {"PhiHE",                  "#phi_{HE}",                                          "(rad.)"},
149   {"ThetaSqHE",              "cos^{2}(#theta_{HE})",                               ""},
150   {"Cos2PhiHE",              "cos(2#phi_{HE})",                                    ""},
151   {"CosTilPhiHE",            "cos(#phi_{HE})",                                     ""},
152   {"ThetaCS",                "cos(#theta_{CS})",                                   ""},
153   {"PhiCS",                  "#phi_{CS}",                                          "(rad.)"},
154   {"ThetaSqCS",              "cos^{2}(#theta_{CS})",                               ""},
155   {"PsiPair",                "#Psi^{pair}",                                        "(rad.)"},
156   {"PhivPair",               "#Phi_{v}^{pair}",                                    "(rad.)"},
157   {"PairPlaneAngle",         "PairPlaneAngle",                                     "(rad.)"},
158   {"kRotPairx",                  "kRotPairx",                                          "(rad.)"},
159   {"kRotPairy",                  "kRotPairy",                                          "(rad.)"},
160   {"kRotPairz",                  "kRotPairz",                                          "(rad.)"},
161   {"Cos2PhiCS",              "cos(2#phi_{CS})",                                    ""},
162   {"CosTilPhiCS",            "cos(#phi_{CS})",                                     ""},
163   {"CosPhiH2",               "cos(2#phi)",                                         ""},
164   {"SinPhiH2",               "sin(2#phi)",                                         ""},
165   {"DeltaPhiV0ArpH2",        "#phi^{pair}-#Psi^{V0A}",                             ""},
166   {"DeltaPhiV0CrpH2",        "#phi^{pair}-#Psi^{V0C}",                             ""},
167   {"DeltaPhiV0ACrpH2",       "#phi^{pair}-#Psi^{V0AC}",                            ""},
168   {"V0ArpH2FlowV2",          "cos(2(#phi^{pair}-#Psi^{V0A}))",                     ""},
169   {"V0CrpH2FlowV2",          "cos(2(#phi^{pair}-#Psi^{V0C}))",                     ""},
170   {"V0ACrpH2FlowV2",         "cos(2(#phi^{pair}-#Psi^{V0AC}))",                    ""},
171   {"DeltaPhiv0ArpH2",        "#phi^{pair}-#Psi^{V0A}",                             ""},
172   {"DeltaPhiv0CrpH2",        "#phi^{pair}-#Psi^{V0C}",                             ""},
173   {"DeltaPhiv0ACrpH2",       "#phi^{pair}-#Psi^{V0AC}",                            ""},
174   {"DeltaPhiTPCrpH2",        "#phi^{pair}-#Psi^{TPC}",                             ""},
175   {"v0ArpH2FlowV2",          "cos(2(#phi^{pair}-#Psi^{V0A}))",                     ""},
176   {"v0CrpH2FlowV2",          "cos(2(#phi^{pair}-#Psi^{V0C}))",                     ""},
177   {"v0ACrpH2FlowV2",         "cos(2(#phi^{pair}-#Psi^{V0AC}))",                    ""},
178   {"TPCrpH2FlowV2",          "cos(2(#phi^{pair}-#Psi^{TPC}))",                     ""},
179   {"TPCrpH2FlowV2Sin",       "sin(2(#phi^{pair}-#Psi^{TPC}))",                     ""},
180   {"LegDistance",            "d^{legs}",                                           "(cm)"},
181   {"LegDistanceXY",          "d^{legs}_{xy}",                                      "(cm)"},
182   {"DeltaEta",               "#Delta #eta",                                        ""},
183   {"DeltaPhi",               "#Delta #phi",                                        ""},
184   {"Merr",                   "m_{inv} error",                                      "(GeV/#it{c}^{2})"},
185   {"DCA",                    "#it{dca}",                                           "(cm)"},
186   {"PairType",               "PairType",                                           ""},
187   {"PseudoProperTime",       "#tau",                                               "(#mus)"}, //TODO: check unit
188   {"PseudoProperTimeErr",    "#tau error",                                         "(#mus)"},
189   {"PseudoProperTimeResolution", "(#tau-#tau^{MC truth})",                         "(#mus)"},
190   {"PseudoProperTimePull",   "#frac{(#tau-#tau^{MC truth})}{#tau error}",          ""},
191   {"TRDpidEffPair",          "#epsilon^{TRD pair}(PID)",                           ""},
192   {"MomAsymDau1",            "#it{p}^{leg1}/#it{p}^{pair}",                        ""},
193   {"MomAsymDau2",            "#it{p}^{leg2}/#it{p}^{pair}",                        ""},
194   {"EffPair",                "A#times#epsilon",                                    ""},
195   //
196   {"X",                      "x_{prim.vtx}",                                       "(cm)"},
197   {"Y",                      "y_{prim.vtx}",                                       "(cm)"},
198   {"Z",                      "z_{prim.vtx}",                                       "(cm)"},
199   {"XRes",                   "#Delta x_{prim.vtx}",                                "(cm)"},
200   {"YRes",                   "#Delta y_{prim.vtx}",                                "(cm)"},
201   {"ZRes",                   "#Delta z_{prim.vtx}",                                "(cm)"},
202   {"PhiMaxPt",               "#phi(#it{p}_{T}^{lead})",                            "(rad.)"},
203   {"MaxPt",                  "#it{p}_{T}^{lead}",                                  "(GeV/#it{c})"},
204
205   {"v0ArpH2",                "#Psi^{V0A}",                                         ""},
206   {"v0CrpH2",                "#Psi^{V0C}",                                         ""},
207   {"v0ACrpH2",               "#Psi^{V0AC}",                                        ""},
208   {"v0AxH2",                 "Q_{x}^{V0A}",                                        ""},
209   {"v0AyH2",                 "Q_{y}^{V0A}",                                        ""},
210   {"v0CxH2",                 "Q_{x}^{V0C}",                                        ""},
211   {"v0CyH2",                 "Q_{y}^{V0C}",                                        ""},
212   {"v0ACxH2",                "Q_{x}^{V0AC}",                                       ""},
213   {"v0ACyH2",                "Q_{y}^{V0AC}",                                       ""},
214   {"v0AmagH2",               "|#vec{Q}^{V0A}|",                                     ""},
215   {"v0CmagH2",               "|#vec{Q}^{V0C}|",                                     ""},
216   {"v0ACmagH2",              "|#vec{Q}^{V0AC}|",                                    ""},
217   {"v0A0rpH2",               "#Psi^{V0A}_{ring 0}",                                ""},
218   {"v0A3rpH2",               "#Psi^{V0A}_{ring 3}",                                ""},
219   {"v0C0rpH2",               "#Psi^{V0C}_{ring 0}",                                ""},
220   {"v0C3rpH2",               "#Psi^{V0C}_{ring 3}",                                ""},
221   {"v0ATPCDiffH2",           "cos(2(#Psi^{V0A}-#Psi^{TPC}))",                      ""},
222   {"v0CTPCDiffH2",           "cos(2(#Psi^{V0C}-#Psi^{TPC}))",                      ""},
223   {"v0Av0CDiffH2",           "cos(2(#Psi^{V0A}-#Psi^{V0C}))",                      ""},
224   {"v0Av0C0DiffH2",          "cos(2(#Psi^{V0A}-#Psi^{V0C}_{ring 0}))",             ""},
225   {"v0Av0C3DiffH2",          "cos(2(#Psi^{V0A}-#Psi^{V0C}_{ring 3}))",             ""},
226   {"v0Cv0A0DiffH2",          "cos(2(#Psi^{V0C}-#Psi^{V0A}_{ring 0}))",             ""},
227   {"v0Cv0A3DiffH2",          "cos(2(#Psi^{V0C}-#Psi^{V0A}_{ring 3}))",             ""},
228   {"v0A0v0A3DiffH2",         "cos(2(#Psi^{V0A}_{ring 0}-#Psi^{V0A}_{ring 3}))",    ""},
229   {"v0C0v0C3DiffH2",         "cos(2(#Psi^{V0C}_{ring 0}-#Psi^{V0C}_{ring 3}))",    ""},
230
231   {"MultV0A",                "multiplicity V0A",                                   ""},
232   {"MultV0C",                "multiplicity V0C",                                   ""},
233   {"MultV0",                 "multiplicity V0",                                    ""},
234   {"AdcV0A",                   "AdcV0A",                                   ""},
235   {"AdcV0C",                   "AdcV0C",                                   ""},
236   {"AdcV0",    "AdcV0",                                     ""},
237   {"VZERO_ch0",   "VZERO_ch0",                                    ""},
238   {"VZERO_ch1",   "VZERO_ch1", ""},
239   {"VZERO_ch2",   "VZERO_ch2", ""},
240   {"VZERO_ch3",   "VZERO_ch3", ""},
241   {"VZERO_ch4",   "VZERO_ch4", ""},
242   {"VZERO_ch5",   "VZERO_ch5", ""},
243   {"VZERO_ch6",   "VZERO_ch6", ""},
244   {"VZERO_ch7",   "VZERO_ch7", ""},
245   {"VZERO_ch8",   "VZERO_ch8", ""},
246   {"VZERO_ch9",   "VZERO_ch9", ""},
247   {"VZERO_ch10",   "VZERO_ch10", ""},
248   {"VZERO_ch11",   "VZERO_ch11", ""},
249   {"VZERO_ch12",   "VZERO_ch12", ""},
250   {"VZERO_ch13",   "VZERO_ch13", ""},
251   {"VZERO_ch14",   "VZERO_ch14", ""},
252   {"VZERO_ch15",   "VZERO_ch15", ""},
253   {"VZERO_ch16",   "VZERO_ch16", ""},
254   {"VZERO_ch17",   "VZERO_ch17", ""},
255   {"VZERO_ch18",   "VZERO_ch18", ""},
256   {"VZERO_ch19",   "VZERO_ch19", ""},
257   {"VZERO_ch20",   "VZERO_ch20", ""},
258   {"VZERO_ch21",   "VZERO_ch21", ""},
259   {"VZERO_ch22",   "VZERO_ch22", ""},
260   {"VZERO_ch23",   "VZERO_ch23", ""},
261   {"VZERO_ch24",   "VZERO_ch24", ""},
262   {"VZERO_ch25",   "VZERO_ch25", ""},
263   {"VZERO_ch26",   "VZERO_ch26", ""},
264   {"VZERO_ch27",   "VZERO_ch27", ""},
265   {"VZERO_ch28",   "VZERO_ch28", ""},
266   {"VZERO_ch29",   "VZERO_ch29", ""},
267   {"VZERO_ch30",   "VZERO_ch30", ""},
268   {"VZERO_ch31",   "VZERO_ch31", ""},
269   {"VZERO_ch32",   "VZERO_ch32", ""},
270   {"VZERO_ch33",   "VZERO_ch33", ""},
271   {"VZERO_ch34",   "VZERO_ch34", ""},
272   {"VZERO_ch35",   "VZERO_ch35", ""},
273   {"VZERO_ch36",   "VZERO_ch36", ""},
274   {"VZERO_ch37",   "VZERO_ch37", ""},
275   {"VZERO_ch38",   "VZERO_ch38", ""},
276   {"VZERO_ch39",   "VZERO_ch39", ""},
277   {"VZERO_ch40",   "VZERO_ch40", ""},
278   {"VZERO_ch41",   "VZERO_ch41", ""},
279   {"VZERO_ch42",   "VZERO_ch42", ""},
280   {"VZERO_ch43",   "VZERO_ch43", ""},
281   {"VZERO_ch44",   "VZERO_ch44", ""},
282   {"VZERO_ch45",   "VZERO_ch45", ""},
283   {"VZERO_ch46",   "VZERO_ch46", ""},
284   {"VZERO_ch47",   "VZERO_ch47", ""},
285   {"VZERO_ch48",   "VZERO_ch48", ""},
286   {"VZERO_ch49",   "VZERO_ch49", ""},
287   {"VZERO_ch50",   "VZERO_ch50", ""},
288   {"VZERO_ch51",   "VZERO_ch51", ""},
289   {"VZERO_ch52",   "VZERO_ch52", ""},
290   {"VZERO_ch53",   "VZERO_ch53", ""},
291   {"VZERO_ch54",   "VZERO_ch54", ""},
292   {"VZERO_ch55",   "VZERO_ch55", ""},
293   {"VZERO_ch56",   "VZERO_ch56", ""},
294   {"VZERO_ch57",   "VZERO_ch57", ""},
295   {"VZERO_ch58",   "VZERO_ch58", ""},
296   {"VZERO_ch59",   "VZERO_ch59", ""},
297   {"VZERO_ch60",   "VZERO_ch60", ""},
298   {"VZERO_ch61",   "VZERO_ch61", ""},
299   {"VZERO_ch62",   "VZERO_ch62", ""},
300   {"VZERO_ch63",   "VZERO_ch63", ""},
301   {"V0AxH2",                 "Q_{x}^{V0A}",                                        ""},
302   {"V0AyH2",                 "Q_{y}^{V0A}",                                        ""},
303   {"V0ArpH2",                "#Psi^{V0A}",                                         ""},
304   {"V0CxH2",                 "Q_{x}^{V0C}",                                        ""},
305   {"V0CyH2",                 "Q_{y}^{V0C}",                                        ""},
306   {"V0CrpH2",                "#Psi^{V0C}",                                         ""},
307   {"V0ACxH2",                "Q_{x}^{V0AC}",                                       ""},
308   {"V0ACyH2",                "Q_{y}^{V0AC}",                                       ""},
309   {"V0ACrpH2",               "#Psi^{V0AC}",                                        ""},
310
311   {"V0ArpResH2",                   "V0ArpResH2", ""},
312   {"V0CrpResH2",                   "V0CrpResH2", ""},
313   {"V0ACrpResH2",                   "V0ACrpResH2", ""},
314   {"V0XaXcH2",               "Q_{x}^{V0A}#timesQ_{x}^{V0C}",                       ""},
315   {"V0XaYaH2",               "Q_{x}^{V0A}#timesQ_{y}^{V0A}",                       ""},
316   {"V0XaYcH2",               "Q_{x}^{V0A}#timesQ_{y}^{V0C}",                       ""},
317   {"V0YaXcH2",               "Q_{y}^{V0A}#timesQ_{x}^{V0C}",                       ""},
318   {"V0YaYcH2",               "Q_{y}^{V0A}#timesQ_{Y}^{V0C}",                       ""},
319   {"V0XcYcH2",               "Q_{X}^{V0C}#timesQ_{Y}^{V0C}",                       ""},
320   {"V0ATPCDiffH2",           "cos(2(#Psi^{V0A}-#Psi^{TPC}))",                      ""},
321   {"V0CTPCDiffH2",           "cos(2(#Psi^{V0C}-#Psi^{TPC}))",                      ""},
322   {"V0AV0CDiffH2",           "cos(2(#Psi^{V0A}-#Psi^{V0C}))",                      ""},
323   {"TPCxH2",                 "Q_{x}^{TPC}",                                        ""},
324   {"TPCyH2",                 "Q_{y}^{TPC}",                                        ""},
325   {"TPCmagH2",               "|#vec{Q}^{TPC}|",                                    ""},
326   {"TPCrpH2",                "#Psi^{TPC}",                                         ""},
327   {"CosTPCrpH2",             "cos(2#Psi^{TPC})",                                   ""},
328   {"SinTPCrpH2",             "sin(2#Psi^{TPC})",                                   ""},
329   {"TPCsub1xH2",             "Q_{x}^{TPCsub1}",                                    ""},
330   {"TPCsub1yH2",             "Q_{y}^{TPCsub1}",                                    ""},
331   {"TPCsub1rpH2",            "#Psi^{TPCsub1}",                                     ""},
332   {"TPCsub2xH2",             "Q_{x}^{TPCsub2}",                                    ""},
333   {"TPCsub2yH2",             "Q_{y}^{TPCsub2}",                                    ""},
334   {"TPCsub2rpH2",            "#Psi^{TPCsub2}",                                     ""},
335   {"TPCsub12DiffH2",         "cos(2(#Psi^{TPCsub1}-#Psi^{TPCsub2}))",              ""},
336   {"TPCsub12DiffH2Sin",      "sin(2(#Psi^{TPCsub1}-#Psi^{TPCsub2}))",              ""},
337
338   {"TPCxH2uc",               "Q_{x}^{TPC} (uncorr.)",                              ""},
339   {"TPCyH2uc",               "Q_{y}^{TPC} (uncorr.)",                              ""},
340   {"TPCmagH2uc",             "|#vec{Q}^{TPC}| (uncorr.)",                         ""},
341   {"TPCrpH2uc",              "#Psi^{TPC} (uncorr.)",                               ""},
342   {"TPCsub1xH2uc",           "Q_{x}^{TPCsub1} (uncorr.)",                          ""},
343   {"TPCsub1yH2uc",           "Q_{y}^{TPCsub1} (uncorr.)",                          ""},
344   {"TPCsub1rpH2uc",          "#Psi^{TPCsub1} (uncorr.)",                           ""},
345   {"TPCsub2xH2uc",           "Q_{x}^{TPCsub2} (uncorr.)",                          ""},
346   {"TPCsub2yH2uc",           "Q_{y}^{TPCsub2} (uncorr.)",                          ""},
347   {"TPCsub2rpH2uc",          "#Psi^{TPCsub2} (uncorr.)",                           ""},
348   {"TPCsub12DiffH2uc",       "cos(2(#Psi^{TPCsub1}-#Psi^{TPCsub2})) (uncorr.)",    ""},
349
350   {"NTrk",                   "N_{trk}",                                            ""},
351   {"Tracks",                 "tracks",                                             ""},
352   {"NVtxContrib",            "N_{vtx. contrib.}",                                  ""},
353   {"NVtxContribTPC",         "N_{vtx. contrib.}^{TPC}",                            ""},
354   {"Nacc",                   "N_{acc} #cbar_{#||{#eta}<0.9}",                      ""},
355   {"MatchEffITSTPC",         "N_{trk}^{TPC}/N_{trk}^{ITS} #cbar_{#||{#eta}<0.9}",  ""},
356   {"NaccTrcklts",            "N_{acc. trkl} #cbar_{#||{#eta}<1.6}",                ""},
357   {"NaccTrcklts0916",        "N_{acc. trkl} #cbar_{-1.6<#eta<-0.9}^{0.9<#eta<1.6}",""},
358   
359   {"NaccTrckltsEsd05",       "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (SPD)",          ""},
360   {"NaccTrckltsEsd10",       "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (SPD)",          ""},
361   {"NaccTrckltsEsd16",       "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (SPD)",          ""},
362   {"NaccTrckltsEsd05Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (SPD)",  ""},
363   {"NaccTrckltsEsd10Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (SPD)",  ""},
364   {"NaccTrckltsEsd16Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (SPD)",  ""},
365   {"NaccItsTpcEsd05",        "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (ITS+TPC)",      ""},
366   {"NaccItsTpcEsd10",        "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (ITS+TPC)",      ""},
367   {"NaccItsTpcEsd16",        "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (ITS+TPC)",      ""},
368   {"NaccItsTpcEsd05Corr",    "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (ITS+TPC)", ""},
369   {"NaccItsTpcEsd10Corr",    "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (ITS+TPC)", ""},
370   {"NaccItsTpcEsd16Corr",    "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (ITS+TPC)", ""},
371   {"NaccItsPureEsd05",       "N_{acc. trkl} #cbar_{#||{#eta}<0.5} (ITS)",          ""},
372   {"NaccItsPureEsd10",       "N_{acc. trkl} #cbar_{#||{#eta}<1.0} (ITS)",          ""},
373   {"NaccItsPureEsd16",       "N_{acc. trkl} #cbar_{#||{#eta}<1.6} (ITS)",          ""},
374   {"NaccItsPureEsd05Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<0.5} (ITS)",  ""},
375   {"NaccItsPureEsd10Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.0} (ITS)",  ""},
376   {"NaccItsPureEsd16Corr",   "N_{acc. trkl}^{corr.} #cbar_{#||{#eta}<1.6} (ITS)",  ""},
377
378   {"RefMult",                "N_{trk}^{ref}",                                      ""},
379   {"RefMultTPConly",         "N_{trk}^{TPConly}",                                  ""},
380   {"Nch",                    "N_{ch} #cbar_{#||{#eta}<1.6}",                       ""},
381   {"Nch05",                  "N_{ch} #cbar_{#||{#eta}<0.5}",                       ""},
382   {"Nch10",                  "N_{ch} #cbar_{#||{#eta}<1.0}",                       ""},
383   {"Centrality",             "centrality",                                         "(%)"},
384   {"CentralitySPD",          "centrality_{SPD}",                                   "(%)"},
385   {"Nevents",                "N_{evt}",                                            ""},
386   {"RunNumber",              "run",                                                ""},
387   {"MixingBin",              "mixing bin",                                         ""}
388 };
389
390 AliPIDResponse* AliDielectronVarManager::fgPIDResponse      = 0x0;
391 AliVEvent*      AliDielectronVarManager::fgEvent            = 0x0;
392 AliEventplane*  AliDielectronVarManager::fgTPCEventPlane    = 0x0;
393 AliKFVertex*    AliDielectronVarManager::fgKFVertex         = 0x0;
394 TProfile*       AliDielectronVarManager::fgMultEstimatorAvg[4][9] = {{0x0}};
395 TH3D*           AliDielectronVarManager::fgTRDpidEff[10][4] = {{0x0}};
396 THnBase*        AliDielectronVarManager::fgEffMap           = 0x0;
397 Double_t        AliDielectronVarManager::fgTRDpidEffCentRanges[10][4] = {{0.0}};
398 TString         AliDielectronVarManager::fgVZEROCalibrationFile = "";
399 TString         AliDielectronVarManager::fgVZERORecenteringFile = "";
400 TProfile2D*     AliDielectronVarManager::fgVZEROCalib[64] = {0x0};
401 TProfile2D*     AliDielectronVarManager::fgVZERORecentering[2][2] = {{0x0,0x0},{0x0,0x0}};
402 Int_t           AliDielectronVarManager::fgCurrentRun = -1;
403 Double_t        AliDielectronVarManager::fgData[AliDielectronVarManager::kNMaxValues] = {0.};
404 //________________________________________________________________
405 AliDielectronVarManager::AliDielectronVarManager() :
406   TNamed("AliDielectronVarManager","AliDielectronVarManager")
407 {
408   //
409   // Default constructor
410   //
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) fgVZERORecentering[i][j] = 0x0;
420   }
421 }
422
423 //________________________________________________________________
424 AliDielectronVarManager::AliDielectronVarManager(const char* name, const char* title) :
425   TNamed(name,title)
426 {
427   //
428   // Named constructor
429   //
430   for(Int_t i=0; i<4; ++i)
431     for(Int_t j=0; j<9; ++j)
432       fgMultEstimatorAvg[i][j] = 0x0;
433   for(Int_t i=0; i<10; ++i)
434     for(Int_t j=0; j<4; ++j)
435       fgTRDpidEff[i][j] = 0x0;  
436   for(Int_t i=0; i<64; ++i) fgVZEROCalib[i] = 0x0;
437   for(Int_t i=0; i<2; ++i)
438     for(Int_t j=0; j<2; ++j) 
439       fgVZERORecentering[i][j] = 0x0;
440 }
441
442 //________________________________________________________________
443 AliDielectronVarManager::~AliDielectronVarManager()
444 {
445   //
446   // Default destructor
447   //
448   for(Int_t i=0; i<4; ++i)
449     for(Int_t j=0; j<9; ++j)
450       if(fgMultEstimatorAvg[i][j]) delete fgMultEstimatorAvg[i][j];
451   for(Int_t i=0; i<10; ++i)
452     for(Int_t j=0; j<4; ++j)
453       if(fgTRDpidEff[i][j]) delete fgTRDpidEff[i][j];    
454   for(Int_t i=0; i<64; ++i) 
455     if(fgVZEROCalib[i]) delete fgVZEROCalib[i];
456   for(Int_t i=0; i<2; ++i)
457     for(Int_t j=0; j<2; ++j) 
458       if(fgVZERORecentering[i][j]) delete fgVZERORecentering[i][j]; 
459 }
460
461 //________________________________________________________________
462 UInt_t AliDielectronVarManager::GetValueType(const char* valname) {
463   //
464   // Get value type by value name
465   //
466
467   TString name(valname);
468   for(UInt_t i=0; i<AliDielectronVarManager::kNMaxValues; i++) {
469     if(!name.CompareTo(fgkParticleNames[i][0])) return i;
470   }
471   return -1;
472 }