]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/AliDielectronVarManager.cxx
o small fix in mixing handler (bin finding)
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronVarManager.cxx
CommitLineData
b2a297fa 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
27ClassImp(AliDielectronVarManager)
28
29const char* AliDielectronVarManager::fgkParticleNames[AliDielectronVarManager::kNMaxValues] = {
30 "Px",
31 "Py",
32 "Pz",
33 "Pt",
34 "P",
35 "Xv",
36 "Yv",
37 "Zv",
38 "OneOverPt",
39 "Phi",
40 "Theta",
41 "Eta",
42 "Y",
43 "E",
44 "M",
45 "Charge",
46 "NclsITS",
5720c765 47 "ITSchi2PerCluster",
b2a297fa 48 "NclsTPC",
5720c765 49 "NclsSTPC",
50 "NclsSFracTPC",
554e40f8 51 "NclsTPCiter1",
b2a297fa 52 "NFclsTPC",
45b2b1b8 53 "NFclsTPCrobust",
fb7d2d99 54 "NFclsTPCrobustFraction",
b2a297fa 55 "TPCsignalN",
ba15fdfb 56 "TPCsignalNfrac",
61d106d3 57 "TPCchi2PerCluster",
5720c765 58 "TPCclsDiff",
61d106d3 59 "TrackStatus",
60
b2a297fa 61 "NclsTRD",
62 "TRDntracklets",
63 "TRDpidQuality",
8df8e382 64 "TRDpidProb_Electrons",
65 "TRDpidProb_Pions",
5720c765 66 "TRDphi",
67 "TRDpidEffLeg",
68
b2a297fa 69 "ImpactParXY",
70 "ImpactParZ",
71 "TrackLength",
8df8e382 72
5720c765 73 "PdgCode",
8df8e382 74 "PdgCodeMother",
ba15fdfb 75 "PdgCodeGrandMother",
8df8e382 76 "NumberOfDaughters",
77 "HaveSameMother",
fb7d2d99 78 "IsJpsiPrimary",
5720c765 79 "NumberOfJPsisIncl",
80 "NumberOfJPsisPrompt",
81 "NumberOfJPsisNPrompt",
82
8df8e382 83 "ITS_signal",
84 "SSD1_signal",
85 "SSD2_signal",
86 "SDD1_signal",
87 "SDD2_signal",
3505bfad 88 "ITS_clusterMap",
5720c765 89 "ITSLayerFirstCls",
9143d69f 90 "ITS_nSigma_Electrons",
91 "ITS_nSigma_Pions",
92 "ITS_nSigma_Muons",
93 "ITS_nSigma_Kaons",
94 "ITS_nSigma_Protons",
8df8e382 95
a655b716 96 "P_InnerParam",
5720c765 97 "P_OuterParam",
98 "Y_signed_InnerParam",
a655b716 99 "TPC_signal",
ba15fdfb 100 "TOF_signal",
101 "TOF_beta",
5720c765 102 "TOF_PIDbit",
ba15fdfb 103
a655b716 104 "TPC_nSigma_Electrons",
572b0139 105 "TPC_nSigma_Pions",
106 "TPC_nSigma_Muons",
107 "TPC_nSigma_Kaons",
108 "TPC_nSigma_Protons",
9143d69f 109
8df8e382 110 "TOF_nSigma_Electrons",
572b0139 111 "TOF_nSigma_Pions",
112 "TOF_nSigma_Muons",
113 "TOF_nSigma_Kaons",
114 "TOF_nSigma_Protons",
ffbede40 115
5720c765 116 "EMCAL_nSigma_Electrons",
a823f01b 117 "EMCAL_EoverP",
118 "EMCAL_NCells",
119 "EMCAL_M02",
120 "EMCAL_M20",
121 "EMCAL_Dispersion",
5720c765 122
ffbede40 123 "KinkIndex0",
b2a297fa 124 //
125 "Chi2NDF",
126 "DecayLength",
127 "R",
128 "OpeningAngle",
8df8e382 129 "ThetaHE",
130 "PhiHE",
5720c765 131 "Cos2PhiHE",
a823f01b 132 "CosTilPhiHE",
8df8e382 133 "ThetaCS",
134 "PhiCS",
236e1bda 135 "PsiPair",
5720c765 136 "Cos2PhiCS",
a823f01b 137 "CosTilPhiCS",
5720c765 138 "DeltaPhiV0ArpH2",
139 "DeltaPhiV0CrpH2",
140 "DeltaPhiV0ACrpH2",
141 "V0ArpH2FlowV2",
142 "V0CrpH2FlowV2",
143 "V0ACrpH2FlowV2",
572b0139 144 "LegDistance",
145 "LegDistanceXY",
61d106d3 146 "DeltaEta",
147 "DeltaPhi",
b2a297fa 148 "Merr",
149 "DCA",
150 "PairType",
ba15fdfb 151 "PseudoProperTime",
5720c765 152 "PseudoProperTimeResolution",
153 "PseudoProperTimePull",
154 "TRDpidEffPair",
b2a297fa 155 //
156 "X",
157 "Y",
158 "Z",
159 "XRes",
160 "YRes",
161 "ZRes",
5720c765 162
163 "v0ArpH2",
164 "v0CrpH2",
165 "v0ACrpH2",
166 "v0ATPCDiffH2",
167 "v0CTPCDiffH2",
168 "v0Av0CDiffH2",
169
170 "MultV0A",
171 "MultV0C",
172 "MultV0",
173 "AdcV0A",
174 "AdcV0C",
175 "AdcV0",
176 "VZERO_ch0", "VZERO_ch1", "VZERO_ch2", "VZERO_ch3", "VZERO_ch4", "VZERO_ch5", "VZERO_ch6", "VZERO_ch7", "VZERO_ch8", "VZERO_ch9",
177 "VZERO_ch10", "VZERO_ch11", "VZERO_ch12", "VZERO_ch13", "VZERO_ch14", "VZERO_ch15", "VZERO_ch16", "VZERO_ch17", "VZERO_ch18", "VZERO_ch19",
178 "VZERO_ch20", "VZERO_ch21", "VZERO_ch22", "VZERO_ch23", "VZERO_ch24", "VZERO_ch25", "VZERO_ch26", "VZERO_ch27", "VZERO_ch28", "VZERO_ch29",
179 "VZERO_ch30", "VZERO_ch31", "VZERO_ch32", "VZERO_ch33", "VZERO_ch34", "VZERO_ch35", "VZERO_ch36", "VZERO_ch37", "VZERO_ch38", "VZERO_ch39",
180 "VZERO_ch40", "VZERO_ch41", "VZERO_ch42", "VZERO_ch43", "VZERO_ch44", "VZERO_ch45", "VZERO_ch46", "VZERO_ch47", "VZERO_ch48", "VZERO_ch49",
181 "VZERO_ch50", "VZERO_ch51", "VZERO_ch52", "VZERO_ch53", "VZERO_ch54", "VZERO_ch55", "VZERO_ch56", "VZERO_ch57", "VZERO_ch58", "VZERO_ch59",
182 "VZERO_ch60", "VZERO_ch61", "VZERO_ch62", "VZERO_ch63",
183 "V0AxH2",
184 "V0AyH2",
185 "V0ArpH2",
186 "V0CxH2",
187 "V0CyH2",
188 "V0CrpH2",
189 "V0ACxH2",
190 "V0ACyH2",
191 "V0ACrpH2",
192 "V0ArpResH2",
193 "V0CrpResH2",
194 "V0ACrpResH2",
195 "V0XaXcH2",
196 "V0XaYaH2",
197 "V0XaYcH2",
198 "V0YaXcH2",
199 "V0YaYcH2",
200 "V0XcYcH2",
201 "V0ATPCDiffH2",
202 "V0CTPCDiffH2",
203 "V0AV0CDiffH2",
204 "TPCxH2",
205 "TPCyH2",
206 "TPCrpH2",
207 "TPCsub1xH2",
208 "TPCsub1yH2",
209 "TPCsub1rpH2",
210 "TPCsub2xH2",
211 "TPCsub2yH2",
212 "TPCsub2rpH2",
213 "TPCsub12DiffH2",
214 "TPCsub12DiffH2Sin",
215
216 "TPCxH2uc",
217 "TPCyH2uc",
218 "TPCrpH2uc",
219 "TPCsub1xH2uc",
220 "TPCsub1yH2uc",
221 "TPCsub1rpH2uc",
222 "TPCsub2xH2uc",
223 "TPCsub2yH2uc",
224 "TPCsub2rpH2uc",
225 "TPCsub12DiffH2uc",
226
b2a297fa 227 "NTrk",
6551594b 228 "Tracks",
a823f01b 229 "NVtxContrib",
ba15fdfb 230 "Nacc",
5720c765 231 "NaccTrcklts",
232 "NaccTrcklts0916",
233
234 "NaccTrckltsEsd05",
235 "NaccTrckltsEsd10",
236 "NaccTrckltsEsd16",
237 "NaccTrckltsEsd05Corr",
238 "NaccTrckltsEsd10Corr",
239 "NaccTrckltsEsd16Corr",
240 "NaccItsTpcEsd05",
241 "NaccItsTpcEsd10",
242 "NaccItsTpcEsd16",
243 "NaccItsTpcEsd05Corr",
244 "NaccItsTpcEsd10Corr",
245 "NaccItsTpcEsd16Corr",
246 "NaccItsPureEsd05",
247 "NaccItsPureEsd10",
248 "NaccItsPureEsd16",
249 "NaccItsPureEsd05Corr",
250 "NaccItsPureEsd10Corr",
251 "NaccItsPureEsd16Corr",
252
a823f01b 253 "Nch",
254 "Nch05",
255 "Nch10",
ffbede40 256 "Centrality",
a823f01b 257 "CentralitySPD",
5720c765 258 "Nevents",
d327d9cd 259 "RunNumber",
260 "MixingBin"
b2a297fa 261};
262
5720c765 263AliPIDResponse* AliDielectronVarManager::fgPIDResponse = 0x0;
264AliVEvent* AliDielectronVarManager::fgEvent = 0x0;
265AliEventplane* AliDielectronVarManager::fgTPCEventPlane = 0x0;
266AliKFVertex* AliDielectronVarManager::fgKFVertex = 0x0;
267TProfile* AliDielectronVarManager::fgMultEstimatorAvg[4][9] = {{0x0}};
268TH3D* AliDielectronVarManager::fgTRDpidEff[10][4] = {{0x0}};
269Double_t AliDielectronVarManager::fgTRDpidEffCentRanges[10][4] = {{0.0}};
a823f01b 270TString AliDielectronVarManager::fgVZEROCalibrationFile = "";
271TString AliDielectronVarManager::fgVZERORecenteringFile = "";
272TProfile2D* AliDielectronVarManager::fgVZEROCalib[64] = {0x0};
273TProfile2D* AliDielectronVarManager::fgVZERORecentering[2][2] = {{0x0,0x0},{0x0,0x0}};
274Int_t AliDielectronVarManager::fgCurrentRun = -1;
275Double_t AliDielectronVarManager::fgData[AliDielectronVarManager::kNMaxValues] = {0.};
b2a297fa 276//________________________________________________________________
277AliDielectronVarManager::AliDielectronVarManager() :
278 TNamed("AliDielectronVarManager","AliDielectronVarManager")
279{
280 //
281 // Default constructor
282 //
5720c765 283 for(Int_t i=0; i<4; ++i)
284 for(Int_t j=0; j<9; ++j)
285 fgMultEstimatorAvg[i][j] = 0x0;
286 for(Int_t i=0; i<10; ++i)
287 for(Int_t j=0; j<4; ++j)
288 fgTRDpidEff[i][j] = 0x0;
a823f01b 289 for(Int_t i=0; i<64; ++i) fgVZEROCalib[i] = 0x0;
290 for(Int_t i=0; i<2; ++i) {
291 for(Int_t j=0; j<2; ++j) fgVZERORecentering[i][j] = 0x0;
292 }
b2a297fa 293}
294
295//________________________________________________________________
296AliDielectronVarManager::AliDielectronVarManager(const char* name, const char* title) :
297 TNamed(name,title)
298{
299 //
300 // Named constructor
301 //
5720c765 302 for(Int_t i=0; i<4; ++i)
303 for(Int_t j=0; j<9; ++j)
304 fgMultEstimatorAvg[i][j] = 0x0;
305 for(Int_t i=0; i<10; ++i)
306 for(Int_t j=0; j<4; ++j)
307 fgTRDpidEff[i][j] = 0x0;
a823f01b 308 for(Int_t i=0; i<64; ++i) fgVZEROCalib[i] = 0x0;
309 for(Int_t i=0; i<2; ++i)
310 for(Int_t j=0; j<2; ++j)
311 fgVZERORecentering[i][j] = 0x0;
b2a297fa 312}
313
314//________________________________________________________________
315AliDielectronVarManager::~AliDielectronVarManager()
316{
317 //
318 // Default destructor
319 //
5720c765 320 for(Int_t i=0; i<4; ++i)
321 for(Int_t j=0; j<9; ++j)
322 if(fgMultEstimatorAvg[i][j]) delete fgMultEstimatorAvg[i][j];
323 for(Int_t i=0; i<10; ++i)
324 for(Int_t j=0; j<4; ++j)
325 if(fgTRDpidEff[i][j]) delete fgTRDpidEff[i][j];
a823f01b 326 for(Int_t i=0; i<64; ++i)
327 if(fgVZEROCalib[i]) delete fgVZEROCalib[i];
328 for(Int_t i=0; i<2; ++i)
329 for(Int_t j=0; j<2; ++j)
330 if(fgVZERORecentering[i][j]) delete fgVZERORecentering[i][j];
b2a297fa 331}
5720c765 332