From 2cdf778aaf0fe072619c1360707246c2c78e26a8 Mon Sep 17 00:00:00 2001 From: rpreghen Date: Thu, 28 May 2009 11:41:53 +0000 Subject: [PATCH] Added AliTOFcalibHisto class to handle calibration information stored in reference calibration files. Added reference calibration files to be used with AliTOFcalibHisto. --- TOF/AliTOFcalibHisto.cxx | 483 +++++++++++++++++++++++++++++++++ TOF/AliTOFcalibHisto.h | 151 +++++++++++ TOF/TOFbaseLinkDef.h | 1 + TOF/data/AliTOFcalibHisto.root | Bin 0 -> 233961 bytes TOF/data/AliTOFcalibPar.root | Bin 0 -> 27674 bytes TOF/libTOFbase.pkg | 3 +- 6 files changed, 637 insertions(+), 1 deletion(-) create mode 100644 TOF/AliTOFcalibHisto.cxx create mode 100644 TOF/AliTOFcalibHisto.h create mode 100644 TOF/data/AliTOFcalibHisto.root create mode 100644 TOF/data/AliTOFcalibPar.root diff --git a/TOF/AliTOFcalibHisto.cxx b/TOF/AliTOFcalibHisto.cxx new file mode 100644 index 00000000000..ebb1641580a --- /dev/null +++ b/TOF/AliTOFcalibHisto.cxx @@ -0,0 +1,483 @@ +/************************************************************************** + * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * * + * Author: The ALICE Off-line Project. * + * Contributors are mentioned in the code where appropriate. * + * * + * Permission to use, copy, modify and distribute this software and its * + * documentation strictly for non-commercial purposes is hereby granted * + * without fee, provided that the above copyright notice appears in all * + * copies and that both the copyright notice and this permission notice * + * appear in the supporting documentation. The authors make no claims * + * about the suitability of this software for any purpose. It is * + * provided "as is" without express or implied warranty. * + **************************************************************************/ + +/************************************************************************* + * + * AliTOFcalibHisto - class to handle TOF calibration histograms, + * map histograms and more + * + * autors: Roberto Preghenella (R+) + * concacts: preghenella@bo.infn.it + * + *************************************************************************/ + +#include "AliTOFcalibHisto.h" +#include "AliLog.h" +#include "TH1F.h" +#include "TFile.h" +#include "AliTOFRawStream.h" +#include "AliTOFCableLengthMap.h" +#include "AliESDtrack.h" + +ClassImp(AliTOFcalibHisto) + +//__________________________________________________________________________ + +TFile *AliTOFcalibHisto::fgCalibHistoFile = NULL; +TFile *AliTOFcalibHisto::fgCalibParFile = NULL; + +//__________________________________________________________________________ + +TString AliTOFcalibHisto::fgCalibHistoFileName = "$ALICE_ROOT/TOF/data/AliTOFcalibHisto.root"; +TString AliTOFcalibHisto::fgCalibParFileName = "$ALICE_ROOT/TOF/data/AliTOFcalibPar.root"; + +//__________________________________________________________________________ + +const TString AliTOFcalibHisto::fgkCalibConstName[kNcalibConsts] = { + "LHCperiod", + "AmphenolCableDelay", + "FlatCableDelay", + "InterfaceCardDelay" +}; + +//__________________________________________________________________________ + +const TString AliTOFcalibHisto::fgkCalibMapName[kNcalibMaps] = { + /* EO indices */ + "DDL", + "TRM", + "Chain", + "TDC", + "Channel", + /* DO indices */ + "Sector", + "Plate", + "Strip", + "SectorStrip", + "PadZ", + "PadX", + "Pad", + "InterfaceCardIndex", + /* calib constants */ + "DDLBCshift", + "FlatCableLength", + "InterfaceCardLength", + "AmphenolCableLength" +}; + +//__________________________________________________________________________ + +const TString AliTOFcalibHisto::fgkCalibParName[kNcalibPars] = { + "hDDLDelay", + "hHPTDCDelay", + "hLeftFEAchDelay", + "hRightFEAchDelay", + "hFEADelay", + "hTRMDelay", + "hSlew" +}; + +//__________________________________________________________________________ + +/* LHC clock period [ns] */ +const Float_t AliTOFcalibHisto::fgkLHCperiod = 25.; /* SET THE CORRECT VALUE !!! */ + +//__________________________________________________________________________ + +/* Amphenol cable delay [ns/cm] */ +const Float_t AliTOFcalibHisto::fgkAmphenolCableDelay = 5.13e-2; /* from measurement */ + +//__________________________________________________________________________ + +/* flat cable delay [ns/cm] */ +//const Float_t AliTOFcalibHisto::fgkFlatCableDelay = 5.3e-2; /* from Amphenol 132-2829 series data-sheet */ +const Float_t AliTOFcalibHisto::fgkFlatCableDelay = 5.124e-2; /* from LHC08d calibration */ + +//__________________________________________________________________________ + +/* interface card delay [ns/cm] */ +//const Float_t AliTOFcalibHisto::fgkInterfaceCardDelay = 6.9e-2; /* from HyperLinx simulation */ +const Float_t AliTOFcalibHisto::fgkInterfaceCardDelay = 5.7898e-2; /* from LHC08d calibration */ + +//__________________________________________________________________________ + +/* number of readout channels */ +const Int_t AliTOFcalibHisto::fgkNchannels = 157248; + +//__________________________________________________________________________ + +/* DDL BC shifts due to TTC fibers [LHCperiod] */ +const Int_t AliTOFcalibHisto::fgkDDLBCshift[72] = { + 2, 2, -1, -1, + 2, 2, 0, 0, + 2, 2, 0, 0, + 2, 2, 0, 0, + 2, 2, 0, 0, + 2, 2, 0, 0, + 2, 2, 0, 0, + 2, 2, 0, 0, + 2, 2, 0, 0, + 2, 2, 0, 0, + 2, 2, -1, -1, + 2, 2, -1, -1, + 2, 2, -2, -2, + 2, 2, -2, -2, + 2, 2, -2, -2, + 2, 2, -1, -1, + 2, 2, -1, -1, + 2, 2, -1, -1, +}; + +//__________________________________________________________________________ + +/* strip flat-cable length (preliminary) [cm] */ +const Float_t AliTOFcalibHisto::fgkFlatCableLength[91] = { + 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 17., + 21., 21., 21., 21., 21., 17., 17., 21., 21., 17., 21., 21., 21., 17., 21., 21., 17., 21., 23., + 17., 19., 17., 19., 17., 19., 17., 19., 17., 19., 17., 19., 17., 19., 17., + 23., 21., 17., 21., 21., 17., 21., 21., 21., 17., 21., 21., 17., 17., 21., 21., 21., 21., 21., + 17., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18. +}; + +//__________________________________________________________________________ + +/* interface card lenght (preliminary) [cm] */ +const Float_t AliTOFcalibHisto::fgkInterfaceCardLength[48] = { + 13.97, 12.57, 14.52, 13.10, 15.44, 13.60, 10.58, 9.14, + 11.21, 9.76, 12.11, 10.76, 8.67, 7.58, 9.32, 8.09, + 10.24, 8.4, 5.51, 4.31, 6.54, 5.23, 7.48, 6.28, + 10.43, 8.76, 11.05, 9.43, 11.72, 10.14, 7.2, 5.69, + 7.71, 6.26, 8.36, 7.19, 4.85, 4.09, 5.57, 4.35, + 6.59, 5.12, 2.49, 2.96, 2.70, 2.76, 2.91, 2.55 +}; + +//__________________________________________________________________________ + +AliTOFcalibHisto::AliTOFcalibHisto() : + TObject(), + fCalibConst(), + fCalibMap(), + fCalibPar() +{ + /* default constructor */ +} + +//__________________________________________________________________________ + +AliTOFcalibHisto::~AliTOFcalibHisto() +{ + /* default destructor */ +} + +//__________________________________________________________________________ + +void +AliTOFcalibHisto::LoadHisto(TFile* file, TH1F **histo, const Char_t *name) +{ + /* load histo */ + *histo = (TH1F *)file->Get(name); + if (!*histo) + AliWarning(Form("error while getting %s histo", name)); +} + +//__________________________________________________________________________ + +void +AliTOFcalibHisto::CreateHisto(TH1F **histo, const Char_t *name, Int_t size) +{ + /* create histo */ + *histo = new TH1F(name, Form(";index;%s", name), size, 0, size); + if (!*histo) + AliWarning(Form("error while creating %s histo", name)); +} + +//__________________________________________________________________________ + +void +AliTOFcalibHisto::WriteHisto(TFile *file, TH1F *histo) +{ + /* write histo */ + if (!file || !file->IsOpen() || !histo) + return; + file->cd(); + histo->Write(); +} + +//__________________________________________________________________________ + +void +AliTOFcalibHisto::SetHisto(TH1F *histo, Int_t index, Float_t value) +{ + /* set histo */ + if (!histo) + return; + histo->SetBinContent(index + 1, value); +} + +//__________________________________________________________________________ + +Float_t +AliTOFcalibHisto::GetHisto(TH1F *histo, Int_t index) +{ + /* get histo */ + if (!histo) { + AliWarning("cannot get histo"); + return 0.; + } + return histo->GetBinContent(index + 1); +} + +//__________________________________________________________________________ + +void +AliTOFcalibHisto::LoadCalibHisto() +{ + /* load calib histo */ + + if (fgCalibHistoFile && fgCalibHistoFile->IsOpen()) + AliWarning("calib histo file already open: reloading"); + + /* open input file */ + TFile *fileIn = TFile::Open(GetCalibHistoFileName()); + if (!fileIn || !fileIn->IsOpen()) + AliFatal(Form("cannot open input file %s", GetCalibHistoFileName())); + + /* set calib histo file */ + fgCalibHistoFile = fileIn; + + /* load consts */ + for (Int_t iConst = 0; iConst < kNcalibConsts; iConst++) + LoadHisto(fileIn, &fCalibConst[iConst], fgkCalibConstName[iConst].Data()); + /* load maps */ + for (Int_t iMap = 0; iMap < kNcalibMaps; iMap++) + LoadHisto(fileIn, &fCalibMap[iMap], fgkCalibMapName[iMap].Data()); +} + +//__________________________________________________________________________ + +void +AliTOFcalibHisto::LoadCalibPar() +{ + /* load calib par */ + + if (fgCalibParFile && fgCalibParFile->IsOpen()) + AliWarning("calib par file already open: reloading"); + + /* load calib histo */ + LoadCalibHisto(); + + /* open input file */ + TFile *fileIn = TFile::Open(GetCalibParFileName()); + if (!fileIn || !fileIn->IsOpen()) + AliError(Form("cannot open input file %s", GetCalibParFileName())); + + /* set calib par file */ + fgCalibParFile = fileIn; + + /* load pars */ + for (Int_t i = 0; i < kNcalibPars; i++) + LoadHisto(fileIn, &fCalibPar[i], fgkCalibParName[i].Data()); + +} + +//__________________________________________________________________________ + +void +AliTOFcalibHisto::WriteCalibHisto() +{ + /* write calib histo */ + + /* open output file */ + TFile *fileOut = TFile::Open(GetCalibHistoFileName(), "RECREATE"); + if (!fileOut || !fileOut->IsOpen()) + AliFatal(Form("cannot open output file %s", GetCalibHistoFileName())); + + /* create consts */ + for (Int_t iConst = 0; iConst < kNcalibConsts; iConst++) + CreateHisto(&fCalibConst[iConst], fgkCalibConstName[iConst].Data(), 1); + /* create maps */ + for (Int_t iMap = 0; iMap < kNcalibMaps; iMap++) + CreateHisto(&fCalibMap[iMap], fgkCalibMapName[iMap].Data(), fgkNchannels); + + /*** SETUP CONSTS ***/ + + SetHisto(fCalibConst[kLHCperiod], 0, fgkLHCperiod); + SetHisto(fCalibConst[kAmphenolCableDelay], 0, fgkAmphenolCableDelay); + SetHisto(fCalibConst[kFlatCableDelay], 0, fgkFlatCableDelay); + SetHisto(fCalibConst[kInterfaceCardDelay], 0, fgkInterfaceCardDelay); + + /*** SETUP MAPS ***/ + + AliTOFRawStream rawStream; + Int_t det[5], dummy, index, sector, plate, strip, sectorStrip, padz, padx, pad, icIndex; + + /* temporarly disable warnings */ + AliLog::EType_t logLevel = (AliLog::EType_t)AliLog::GetGlobalLogLevel(); + AliLog::SetGlobalLogLevel(AliLog::kError); + + /* loop over electronics oriented (EO) indices */ + for (Int_t ddl = 0; ddl < 72; ddl++) + for (Int_t trm = 0; trm < 10; trm++) + for (Int_t chain = 0; chain < 2; chain++) + for (Int_t tdc = 0; tdc < 15; tdc++) + for (Int_t channel = 0; channel < 8; channel++) { + + /* convert EO indices into detector oriented (DO) indices + (this call causes some warnings because the loop includes + EO indices which are not connected to physical channels) */ + rawStream.EquipmentId2VolumeId(ddl, trm + 3, chain, tdc, channel, det); + + /* swap det[3] and det[4] */ + dummy = det[3]; det[3] = det[4]; det[4] = dummy; + + /* check detector indices */ + if (det[0] < 0 || det[0] > 71 || + det[1] < 0 || det[1] > 4 || + det[2] < 0 || det[2] > 18 || + det[3] < 0 || det[3] > 1 || + det[4] < 0 || det[4] > 47) + continue; + + /* setup information */ + index = AliTOFGeometry::GetIndex(det); + sector = det[0]; + plate = det[1]; + strip = det[2]; + sectorStrip = plate < 3 ? plate * 19 + strip : plate * 19 - 4 + strip; + padz = det[3]; + padx = det[4]; + pad = padz + 2 * padx; + icIndex = pad < 48 ? pad : 95 - pad; + + /* set maps */ + + /* EO indices */ + SetHisto(fCalibMap[kDDL], index, ddl); + SetHisto(fCalibMap[kTRM], index, trm); + SetHisto(fCalibMap[kChain], index, chain); + SetHisto(fCalibMap[kTDC], index, tdc); + SetHisto(fCalibMap[kChannel], index, channel); + /* DO indices */ + SetHisto(fCalibMap[kSector], index, sector); + SetHisto(fCalibMap[kPlate], index, plate); + SetHisto(fCalibMap[kStrip], index, strip); + SetHisto(fCalibMap[kSectorStrip], index, sectorStrip); + SetHisto(fCalibMap[kPadZ], index, padz); + SetHisto(fCalibMap[kPadX], index, padx); + SetHisto(fCalibMap[kPad], index, pad); + SetHisto(fCalibMap[kInterfaceCardIndex], index, icIndex); + /* calib constants */ + SetHisto(fCalibMap[kDDLBCshift], index, fgkDDLBCshift[ddl]); + SetHisto(fCalibMap[kFlatCableLength], index, fgkFlatCableLength[sectorStrip]); + SetHisto(fCalibMap[kInterfaceCardLength], index, fgkInterfaceCardLength[icIndex]); + SetHisto(fCalibMap[kAmphenolCableLength], index, AliTOFCableLengthMap::GetCableLength(ddl, trm + 3, chain, tdc)); + + } /* loop over electronics oriented (EO) indices */ + + /* re-enable warnings */ + AliLog::SetGlobalLogLevel(logLevel); + + /* write consts */ + for (Int_t iConst = 0; iConst < kNcalibConsts; iConst++) + WriteHisto(fileOut, fCalibConst[iConst]); + /* write maps */ + for (Int_t iMap = 0; iMap < kNcalibMaps; iMap++) + WriteHisto(fileOut, fCalibMap[iMap]); + + /* close output file */ + fileOut->Close(); +} + +//__________________________________________________________________________ + +Float_t +AliTOFcalibHisto::GetCorrection(Int_t corr, Int_t index, Float_t tot) +{ + /* apply correction */ + + Int_t ddl, chain, tdc, channel, hptdc, pbCh, feaIndex, sector, plate, strip, padx, trm; + Float_t slewing; + + switch (corr) { + case kDDLBCcorr: + return -GetCalibConst(kLHCperiod) * GetCalibMap(kDDLBCshift, index); + case kAmphenolCableCorr: + return GetCalibConst(kAmphenolCableDelay) * GetCalibMap(kAmphenolCableLength, index); + case kFlatCableCorr: + return GetCalibConst(kFlatCableDelay) * GetCalibMap(kFlatCableLength, index); + case kInterfaceCardCorr: + return GetCalibConst(kInterfaceCardDelay) * GetCalibMap(kInterfaceCardLength, index); + case kDDLdelayCorr: + ddl = (Int_t)GetCalibMap(kDDL, index); + return GetCalibPar(kDDLdelayPar, ddl); + case kHPTDCdelayCorr: + chain = (Int_t)GetCalibMap(kChain, index); + tdc = (Int_t)GetCalibMap(kTDC, index); + hptdc = tdc + 15 * chain; + return GetCalibPar(kHPTDCdelayPar, hptdc); + case kFEAchDelayCorr: + ddl = (Int_t)GetCalibMap(kDDL, index); + tdc = (Int_t)GetCalibMap(kTDC, index); + channel = (Int_t)GetCalibMap(kChannel, index); + pbCh = channel + 8 * (tdc % 3); + if (ddl % 2 == 0) + return GetCalibPar(kRightFEAchDelayPar, pbCh); + else + return GetCalibPar(kLeftFEAchDelayPar, pbCh); + case kFEAdelayCorr: + sector = (Int_t)GetCalibMap(kSector, index); + plate = (Int_t)GetCalibMap(kPlate, index); + strip = (Int_t)GetCalibMap(kStrip, index); + padx = (Int_t)GetCalibMap(kPadX, index); + feaIndex = padx / 12 + 4 * strip + 4 * 19 * plate + 4 * 19 * 5 * sector; + return GetCalibPar(kFEAdelayPar, feaIndex); + case kTRMdelayCorr: + trm = (Int_t)GetCalibMap(kTRM, index); + return GetCalibPar(kTRMdelayPar, trm); + case kTimeSlewingCorr: + slewing = 0.; + for (Int_t i = 0; i < fCalibPar[kTimeSlewingPar]->GetNbinsX(); i++) + slewing += GetCalibPar(kTimeSlewingPar, i) * TMath::Power(tot, i); + return slewing; + default: + AliWarning(Form("unknown correction flag (%d)", corr)); + return 0.; + } +} + +//__________________________________________________________________________ + +Float_t +AliTOFcalibHisto::GetNominalCorrection(Int_t index) +{ + /* get nominal correction */ + Float_t corr = 0; + for (Int_t iCorr = 0; iCorr < kNcorrections; iCorr++) + corr += GetCorrection(iCorr, index); + return corr; +} + +//__________________________________________________________________________ + +void +AliTOFcalibHisto::ApplyNominalCorrection(AliESDtrack *track) +{ + /* apply nominal correction */ + + Double_t rawTime = track->GetTOFsignalRaw(); + Int_t index = track->GetTOFCalChannel(); + Double_t time = rawTime - 1.e3 * GetNominalCorrection(index); + track->SetTOFsignal(time); +} diff --git a/TOF/AliTOFcalibHisto.h b/TOF/AliTOFcalibHisto.h new file mode 100644 index 00000000000..04b2bcb5796 --- /dev/null +++ b/TOF/AliTOFcalibHisto.h @@ -0,0 +1,151 @@ +#ifndef ALITOFCALIBHISTO_H +#define ALITOFCALIBHISTO_H + +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +/************************************************************************* + * + * AliTOFcalibHisto - class to handle TOF calibration histograms, + * map histograms and more + * + * autors: Roberto Preghenella (R+) + * concacts: preghenella@bo.infn.it + * + *************************************************************************/ + +#include "TObject.h" +#include "TString.h" + +class TH1F; +class TFile; +class AliESDtrack; + +class AliTOFcalibHisto : +public TObject +{ + + public: + + enum ECorrection_t { + kDDLBCcorr, + kAmphenolCableCorr, + kFlatCableCorr, + kInterfaceCardCorr, + kDDLdelayCorr, + kHPTDCdelayCorr, + kFEAchDelayCorr, + kFEAdelayCorr, + kTRMdelayCorr, + kTimeSlewingCorr, + kNcorrections + }; + + enum ECalibConst_t { + kLHCperiod, + kAmphenolCableDelay, + kFlatCableDelay, + kInterfaceCardDelay, + kNcalibConsts + }; + + enum ECalibMap_t { + /* EO indices */ + kDDL, + kTRM, + kChain, + kTDC, + kChannel, + /* DO indices */ + kSector, + kPlate, + kStrip, + kSectorStrip, + kPadZ, + kPadX, + kPad, + kInterfaceCardIndex, + /* calib constants */ + kDDLBCshift, + kFlatCableLength, + kInterfaceCardLength, + kAmphenolCableLength, + /* number of histos */ + kNcalibMaps + }; + + enum ECalibPar_t { + kDDLdelayPar, + kHPTDCdelayPar, + kLeftFEAchDelayPar, + kRightFEAchDelayPar, + kFEAdelayPar, + kTRMdelayPar, + kTimeSlewingPar, + kNcalibPars + }; + + private: + + static TFile *fgCalibHistoFile; /* calib histo file */ + static TFile *fgCalibParFile; /* calib par file */ + + static TString fgCalibHistoFileName; /* calib histo file name */ + static TString fgCalibParFileName; /* calib par file name */ + static const TString fgkCalibConstName[kNcalibConsts]; // calib const name array */ + static const TString fgkCalibMapName[kNcalibMaps]; // calib map name array */ + static const TString fgkCalibParName[kNcalibPars]; // calib par name array */ + + static const Float_t fgkLHCperiod; /* LHC clock period */ + static const Float_t fgkAmphenolCableDelay; /* Amphenol cable delay */ + static const Float_t fgkFlatCableDelay; /* flat cable delay */ + static const Float_t fgkInterfaceCardDelay; /* interface card delay */ + + static const Int_t fgkNchannels; /* number of readout channels */ + static const Int_t fgkDDLBCshift[72]; /* DDL BC shifts due to TTC fibers */ + static const Float_t fgkFlatCableLength[91]; /* strip flat-cable length */ + static const Float_t fgkInterfaceCardLength[48]; /* interface card length */ + + TH1F *fCalibConst[kNcalibConsts]; // calib const array + TH1F *fCalibMap[kNcalibMaps]; // calib map array + TH1F *fCalibPar[kNcalibPars]; // calib par array + + /* methods */ + void LoadHisto(TFile *file, TH1F **histo, const Char_t *name); /* create histo */ + void CreateHisto(TH1F **histo, const Char_t *name, Int_t size); /* create histo */ + void WriteHisto(TFile *file, TH1F *histo); /* write histo */ + void SetHisto(TH1F *histo, Int_t index, Float_t value); /* set histo */ + Float_t GetHisto(TH1F *histo, Int_t index); /* get histo */ + + AliTOFcalibHisto(const AliTOFcalibHisto &source) : TObject(source) {}; /* copy constructor */ + AliTOFcalibHisto &operator=(const AliTOFcalibHisto &) {return *this;}; /* operator= */ + + public: + + AliTOFcalibHisto(); /* default constructor */ + virtual ~AliTOFcalibHisto(); /* default destructor */ + + /* getters */ + static const Char_t *GetCalibHistoFileName() {return fgCalibHistoFileName.Data();}; /* get calib histo file name */ + static const Char_t *GetCalibParFileName() {return fgCalibParFileName.Data();}; /* get calib par file name */ + + /* setters */ + static void SetCalibHistoFileName(const Char_t *value) {fgCalibHistoFileName = value;}; /* set calib histo file name */ + static void SetCalibParFileName(const Char_t *value) {fgCalibParFileName = value;}; /* set calib par file name */ + + /* methods */ + void LoadCalibHisto(); /* load calib histo */ + void LoadCalibPar(); /* load calib par */ + void WriteCalibHisto(); /* write calib histo */ + Float_t GetCalibConst(Int_t histo) {return GetHisto(fCalibConst[histo], 0);}; /* get calib const */ + Float_t GetCalibMap(Int_t histo, Int_t index) {return GetHisto(fCalibMap[histo], index);}; /* get calib map */ + Float_t GetCalibPar(Int_t histo, Int_t index) {return GetHisto(fCalibPar[histo], index);}; /* get calib par */ + Float_t GetCorrection(Int_t corr, Int_t index, Float_t tot = 0.); /* get correction */ + Float_t GetNominalCorrection(Int_t index); /* get nominal correction */ + void ApplyNominalCorrection(AliESDtrack *track); /* apply nominal corrections */ + + ClassDef(AliTOFcalibHisto, 1); + +}; + +#endif /* ALITOFCALIBHISTO_H */ diff --git a/TOF/TOFbaseLinkDef.h b/TOF/TOFbaseLinkDef.h index dd6570006ec..b064a91750b 100644 --- a/TOF/TOFbaseLinkDef.h +++ b/TOF/TOFbaseLinkDef.h @@ -31,6 +31,7 @@ #pragma link C++ class AliTOFFEEReader+; #pragma link C++ class AliTOFCableLengthMap+; #pragma link C++ class AliTOFNoiseConfigHandler+; +#pragma link C++ class AliTOFcalibHisto+; #endif diff --git a/TOF/data/AliTOFcalibHisto.root b/TOF/data/AliTOFcalibHisto.root new file mode 100644 index 0000000000000000000000000000000000000000..719f1d5f65c98f4282f211e54ba984df0efbb538 GIT binary patch literal 233961 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 literal 0 HcmV?d00001 diff --git a/TOF/data/AliTOFcalibPar.root b/TOF/data/AliTOFcalibPar.root new file mode 100644 index 0000000000000000000000000000000000000000..7e53eca139cafb2fefcace83ba8a9626fa3ac9cb GIT binary patch literal 27674 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 SjPyVAOq8EFQiFw3(f$_&Z;7D* literal 0 HcmV?d00001 diff --git a/TOF/libTOFbase.pkg b/TOF/libTOFbase.pkg index d39203970c4..0b813d6d9dc 100644 --- a/TOF/libTOFbase.pkg +++ b/TOF/libTOFbase.pkg @@ -23,7 +23,8 @@ SRCS = AliTOFGeometry.cxx \ AliTOFPreprocessorFDR.cxx \ AliTOFFEEReader.cxx \ AliTOFCableLengthMap.cxx \ - AliTOFNoiseConfigHandler.cxx + AliTOFNoiseConfigHandler.cxx \ + AliTOFcalibHisto.cxx HDRS:= $(SRCS:.cxx=.h) -- 2.43.0