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