]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGDQ/dielectron/AliDielectronVarManager.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[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   {"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.)"},
42   {"Eta",                    "#eta",                                               ""},
43   {"Y",                      "#it{y}",                                             ""},
44   {"E",                      "E",                                                  "(GeV)"},
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",                                     ""},
64     
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.)"},
76
77   {"ImpactParXY",            "#it{dca}_{xy}",                                      "(cm)"},
78   {"ImpactParZ",             "#it{dca}_{z}",                                       "(cm)"},
79   {"TrackLength",            "#it{l}_{track}",                                     "(cm)"},
80   
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",                   ""},
86
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}",                           ""},
93   
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}",                                  ""},
106
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"                            ""},
115
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}",                                  ""},
122
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}",                                  ""},
128
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.",                            ""},
136
137   {"EffLeg",                 "A#times#epsilon",                                    ""},
138   {"OneOverEffLeg",          "(A#times#epsilon)^{-1}",                             ""},
139   {"V0Index0",               "V0Index0",                                           ""},
140   {"KinkIndex0",             "KinkIndex0",                                         ""},
141   //
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",                                        ""},
214   //
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})"},
223
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}))",    ""},
249
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}",                                        ""},
329
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}))",              ""},
356
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.)",    ""},
368
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}",""},
377   
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)",  ""},
396
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",                                         ""}
410 };
411
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")
429 {
430   //
431   // Default constructor
432   //
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;
442   }
443   gRandom->SetSeed();
444 }
445
446 //________________________________________________________________
447 AliDielectronVarManager::AliDielectronVarManager(const char* name, const char* title) :
448   TNamed(name,title)
449 {
450   //
451   // Named constructor
452   //
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;
463   gRandom->SetSeed();
464 }
465
466 //________________________________________________________________
467 AliDielectronVarManager::~AliDielectronVarManager()
468 {
469   //
470   // Default destructor
471   //
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]; 
483 }
484
485 //________________________________________________________________
486 UInt_t AliDielectronVarManager::GetValueType(const char* valname) {
487   //
488   // Get value type by value name
489   //
490
491   TString name(valname);
492   for(UInt_t i=0; i<AliDielectronVarManager::kNMaxValues; i++) {
493     if(!name.CompareTo(fgkParticleNames[i][0])) return i;
494   }
495   return -1;
496 }