1 /*************************************************************************
2 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 ///////////////////////////////////////////////////////////////////////////
17 // Dielectron Variables Manager class //
23 ///////////////////////////////////////////////////////////////////////////
25 #include "AliDielectronVarManager.h"
27 ClassImp(AliDielectronVarManager)
29 const char* AliDielectronVarManager::fgkParticleNames[AliDielectronVarManager::kNMaxValues] = {
54 "NFclsTPCrobustFraction",
55 "NFclsTPCfracCrossedRows",
67 "TRDpidProb_Electrons",
83 "NumberOfJPsisPrompt",
84 "NumberOfJPsisNPrompt",
93 "ITS_nSigma_Electrons",
101 "Y_signed_InnerParam",
107 "TPC_nSigma_Electrons",
111 "TPC_nSigma_Protons",
113 "TOF_nSigma_Electrons",
117 "TOF_nSigma_Protons",
119 "EMCAL_nSigma_Electrons",
161 "PseudoProperTimeErr",
162 "PseudoProperTimeResolution",
163 "PseudoProperTimePull",
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",
264 "NaccTrckltsEsd05Corr",
265 "NaccTrckltsEsd10Corr",
266 "NaccTrckltsEsd16Corr",
270 "NaccItsTpcEsd05Corr",
271 "NaccItsTpcEsd10Corr",
272 "NaccItsTpcEsd16Corr",
276 "NaccItsPureEsd05Corr",
277 "NaccItsPureEsd10Corr",
278 "NaccItsPureEsd16Corr",
290 AliPIDResponse* AliDielectronVarManager::fgPIDResponse = 0x0;
291 AliVEvent* AliDielectronVarManager::fgEvent = 0x0;
292 AliEventplane* AliDielectronVarManager::fgTPCEventPlane = 0x0;
293 AliKFVertex* AliDielectronVarManager::fgKFVertex = 0x0;
294 TProfile* AliDielectronVarManager::fgMultEstimatorAvg[4][9] = {{0x0}};
295 TH3D* AliDielectronVarManager::fgTRDpidEff[10][4] = {{0x0}};
296 Double_t AliDielectronVarManager::fgTRDpidEffCentRanges[10][4] = {{0.0}};
297 TString AliDielectronVarManager::fgVZEROCalibrationFile = "";
298 TString AliDielectronVarManager::fgVZERORecenteringFile = "";
299 TProfile2D* AliDielectronVarManager::fgVZEROCalib[64] = {0x0};
300 TProfile2D* AliDielectronVarManager::fgVZERORecentering[2][2] = {{0x0,0x0},{0x0,0x0}};
301 Int_t AliDielectronVarManager::fgCurrentRun = -1;
302 Double_t AliDielectronVarManager::fgData[AliDielectronVarManager::kNMaxValues] = {0.};
303 //________________________________________________________________
304 AliDielectronVarManager::AliDielectronVarManager() :
305 TNamed("AliDielectronVarManager","AliDielectronVarManager")
308 // Default constructor
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;
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;
322 //________________________________________________________________
323 AliDielectronVarManager::AliDielectronVarManager(const char* name, const char* title) :
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;
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;
341 //________________________________________________________________
342 AliDielectronVarManager::~AliDielectronVarManager()
345 // Default destructor
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];
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];