From b457135f5440c2fc67aac051cd6c35522f3c13e1 Mon Sep 17 00:00:00 2001 From: masera Date: Fri, 14 Nov 2008 11:35:28 +0000 Subject: [PATCH] - AliITSRawStreamSPDErrorLog.cxx, .h some updates by Henrik basically for using the class in SPDmood - AliITSRawStreamSPD.cxx, .h same as above + my addition of the method GetOfflineChipKeyFromOnline() (SPD chip numbering 0-1199, same definition used in the PlaneEff framework) - AliITSClusterFinderV2SPD.cxx it now uses GetOfflineChipKeyFromOnline() to compute the chip key when filling the FastOr bit map - AliITSDetTypeRec.cxx, .h added the SPDFastOr part in GetCalibrationSPD() method - AliITSFastOrCalibrationSPD.cxx, .h new class to store in the OCDB the map of FastOrConfigured chips as a TBits D. Elia --- ITS/AliITSClusterFinderV2SPD.cxx | 4 +- ITS/AliITSDetTypeRec.cxx | 13 ++- ITS/AliITSDetTypeRec.h | 7 +- ITS/AliITSFastOrCalibrationSPD.cxx | 58 ++++++++++++ ITS/AliITSFastOrCalibrationSPD.h | 32 +++++++ ITS/AliITSRawStreamSPD.cxx | 14 ++- ITS/AliITSRawStreamSPD.h | 3 + ITS/AliITSRawStreamSPDErrorLog.cxx | 137 +++++++++++++++++++++++------ ITS/AliITSRawStreamSPDErrorLog.h | 9 ++ ITS/CMake_libITSbase.txt | 1 + ITS/ITSbaseLinkDef.h | 1 + ITS/libITSbase.pkg | 1 + 12 files changed, 243 insertions(+), 37 deletions(-) create mode 100644 ITS/AliITSFastOrCalibrationSPD.cxx create mode 100644 ITS/AliITSFastOrCalibrationSPD.h diff --git a/ITS/AliITSClusterFinderV2SPD.cxx b/ITS/AliITSClusterFinderV2SPD.cxx index a9de7da9893..fc33d765940 100644 --- a/ITS/AliITSClusterFinderV2SPD.cxx +++ b/ITS/AliITSClusterFinderV2SPD.cxx @@ -297,9 +297,7 @@ void AliITSClusterFinderV2SPD::FindClustersSPD(AliITSRawStreamSPD* input, for(UInt_t hs=0; hs<6; hs++) { for(UInt_t chip=0; chip<10; chip++) { if(input->GetFastOrSignal(eq,hs,chip)) { - UInt_t module = input->GetOfflineModuleFromOnline(eq,hs,chip); - UInt_t chipInModule = ( chip>4 ? chip-5 : chip ); - UInt_t chipKey = module*5 + chipInModule; + UInt_t chipKey = input->GetOfflineChipKeyFromOnline(eq,hs,chip); fDetTypeRec->SetFastOrFiredMap(chipKey); } } diff --git a/ITS/AliITSDetTypeRec.cxx b/ITS/AliITSDetTypeRec.cxx index 09ab31c06d9..7381399e8f7 100644 --- a/ITS/AliITSDetTypeRec.cxx +++ b/ITS/AliITSDetTypeRec.cxx @@ -71,6 +71,7 @@ fSegmentation(0), fCalibration(0), fSSDCalibration(0), fSPDDead(0), +fSPDFastOr(0), fPreProcess(0), fPostProcess(0), fDigits(0), @@ -128,6 +129,7 @@ fSegmentation(rec.fSegmentation), fCalibration(rec.fCalibration), fSSDCalibration(rec.fSSDCalibration), fSPDDead(rec.fSPDDead), +fSPDFastOr(rec.fSPDFastOr), fPreProcess(rec.fPreProcess), fPostProcess(rec.fPostProcess), fDigits(rec.fDigits), @@ -454,7 +456,8 @@ Bool_t AliITSDetTypeRec::GetCalibrationSPD(Bool_t cacheStatus) { AliCDBEntry *entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/SPDNoisy"); AliCDBEntry *deadSPD = AliCDBManager::Instance()->Get("ITS/Calib/SPDDead"); - if(!entrySPD || !deadSPD ){ + AliCDBEntry *fastOrSPD = AliCDBManager::Instance()->Get("ITS/Calib/SPDFastOr"); + if(!entrySPD || !deadSPD || !fastOrSPD ){ AliFatal("SPD Calibration object retrieval failed! "); return kFALSE; } @@ -467,11 +470,16 @@ Bool_t AliITSDetTypeRec::GetCalibrationSPD(Bool_t cacheStatus) { if(!cacheStatus)deadSPD->SetObject(NULL); deadSPD->SetOwner(kTRUE); + AliITSFastOrCalibrationSPD *calfastOrSPD = (AliITSFastOrCalibrationSPD *)fastOrSPD->GetObject(); + if(!cacheStatus)fastOrSPD->SetObject(NULL); + fastOrSPD->SetOwner(kTRUE); + if(!cacheStatus){ delete entrySPD; delete deadSPD; + delete fastOrSPD; } - if ((!calSPD) || (!caldeadSPD)){ + if ((!calSPD) || (!caldeadSPD) || (!calfastOrSPD)){ AliWarning("Can not get SPD calibration from calibration database !"); return kFALSE; } @@ -485,6 +493,7 @@ Bool_t AliITSDetTypeRec::GetCalibrationSPD(Bool_t cacheStatus) { cal = (AliITSCalibration*) caldeadSPD->At(i); SetSPDDeadModel(i, cal); } + fSPDFastOr = calfastOrSPD; return kTRUE; } diff --git a/ITS/AliITSDetTypeRec.h b/ITS/AliITSDetTypeRec.h index 8c40dfcf729..01ca3c340b6 100644 --- a/ITS/AliITSDetTypeRec.h +++ b/ITS/AliITSDetTypeRec.h @@ -16,6 +16,7 @@ $Id$ #include #include #include "AliITSDDLModuleMapSDD.h" +#include "AliITSFastOrCalibrationSPD.h" #include "AliITSresponseSDD.h" #include "AliITSgeom.h" class TTree; @@ -56,6 +57,7 @@ class AliITSDetTypeRec : public TObject { virtual Bool_t GetCalibrationSPD(Bool_t cacheStatus); virtual Bool_t GetCalibrationSDD(Bool_t cacheStatus); virtual Bool_t GetCalibrationSSD(Bool_t cacheStatus); + virtual AliITSFastOrCalibrationSPD* GetFastOrCalibrationSPD() const { return fSPDFastOr;} virtual AliITSsegmentation* GetSegmentationModel(Int_t dettype); virtual AliITSCalibration* GetCalibrationModel(Int_t iMod); virtual AliITSCalibration* GetSPDDeadModel(Int_t iMod); @@ -102,7 +104,7 @@ class AliITSDetTypeRec : public TObject { void DigitsToRecPoints(TTree *treeD,TTree *treeR,Int_t lastEntry,Option_t *det, Int_t optCluFind=0); void DigitsToRecPoints(AliRawReader* rawReader,TTree *treeR,Option_t *det="All"); - void SetFastOrFiredMap(UInt_t chip){fFastOrFiredMap.SetBitNumber(chip);} + void SetFastOrFiredMap(UInt_t chipKey){fFastOrFiredMap.SetBitNumber(chipKey);} TBits GetFastOrFiredMap() const {return fFastOrFiredMap;} void ResetFastOrFiredMap(){fFastOrFiredMap.ResetAllBits();} @@ -133,6 +135,7 @@ class AliITSDetTypeRec : public TObject { TObjArray *fCalibration; //! [NMod] AliITSCalibrationSSD* fSSDCalibration; //! SSD calibration object TObjArray *fSPDDead; //! [fgkDefaultNModulesSPD] + AliITSFastOrCalibrationSPD *fSPDFastOr; // Map of FastOr configured chips TObjArray *fPreProcess; //! [] e.g. Find Calibration values TObjArray *fPostProcess; //! [] e.g. find primary vertex TObjArray *fDigits; //! [NMod][NDigits] @@ -155,7 +158,7 @@ class AliITSDetTypeRec : public TObject { TBits fFastOrFiredMap; // Map of FastOr fired chips - ClassDef(AliITSDetTypeRec,15) // ITS Reconstruction structure + ClassDef(AliITSDetTypeRec,16) // ITS Reconstruction structure }; #endif diff --git a/ITS/AliITSFastOrCalibrationSPD.cxx b/ITS/AliITSFastOrCalibrationSPD.cxx new file mode 100644 index 00000000000..35db352a03f --- /dev/null +++ b/ITS/AliITSFastOrCalibrationSPD.cxx @@ -0,0 +1,58 @@ +/************************************************************************** + * 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. * + **************************************************************************/ + +#include "AliITSFastOrCalibrationSPD.h" +/////////////////////////////////////////////////////////////////////////// +// +// Calibration class for the SPD FastOr configuration info +// +// C. Di Giglio Carmelo.Digiglio@ba.infn.it +// D. Elia Domenico.Elia@ba.infn.it +// +/////////////////////////////////////////////////////////////////////////// + +ClassImp(AliITSFastOrCalibrationSPD) + +//----------------------------------------------- +//Deafault constructor +AliITSFastOrCalibrationSPD::AliITSFastOrCalibrationSPD(): +TObject(), +fFastOrConfiguredChips(1200) +{ +// constructor +} + +//Default destructor +AliITSFastOrCalibrationSPD::~AliITSFastOrCalibrationSPD() {} +//____________________________________________________________________________________________ +Bool_t AliITSFastOrCalibrationSPD::WriteFOConfToDB(Int_t runNrStart, Int_t runNrEnd) { + + AliCDBManager* man = AliCDBManager::Instance(); + + if(!man->IsDefaultStorageSet()) { + man->SetDefaultStorage("local://$ALICE_ROOT"); + } + + AliCDBMetaData* metaData = new AliCDBMetaData(); + metaData->SetResponsible("Domenico Elia"); + metaData->SetComment("Created by storeFastOrConfToDB.C"); + AliCDBId idCalSPD("ITS/Calib/SPDFastOr",runNrStart,runNrEnd); + AliCDBEntry* cdbEntry = new AliCDBEntry(this,idCalSPD,metaData); + man->Put(cdbEntry); + delete cdbEntry; + delete metaData; + + return kTRUE; +} diff --git a/ITS/AliITSFastOrCalibrationSPD.h b/ITS/AliITSFastOrCalibrationSPD.h new file mode 100644 index 00000000000..d78b496b970 --- /dev/null +++ b/ITS/AliITSFastOrCalibrationSPD.h @@ -0,0 +1,32 @@ +#ifndef AliITSFastOrCalibrationSPD_H +#define AliITSFastOrCalibrationSPD_H + +#include +#include +#include +#include +#include + + +class AliITSFastOrCalibrationSPD : public TObject{ + public: + AliITSFastOrCalibrationSPD(); //default constructor + virtual ~AliITSFastOrCalibrationSPD(); //destructor + + //setters + void SetFastOrConfiguredChips(UInt_t chipKey) {fFastOrConfiguredChips.SetBitNumber(chipKey);} + void ResetFastOrConfiguredChips() {fFastOrConfiguredChips.ResetAllBits();} + + //getters + TBits GetFastOrConfiguredChips() const {return fFastOrConfiguredChips;} + Bool_t TestFastOrConfiguredChips(UInt_t chipKey) const {return fFastOrConfiguredChips.TestBitNumber(chipKey);} + + Bool_t WriteFOConfToDB(Int_t runNrStart, Int_t runNrEnd); + + private: + TBits fFastOrConfiguredChips; // Map of FastOr configured chips + + ClassDef(AliITSFastOrCalibrationSPD,1) +}; + +#endif diff --git a/ITS/AliITSRawStreamSPD.cxx b/ITS/AliITSRawStreamSPD.cxx index de58c2a067c..e6be7e331a9 100644 --- a/ITS/AliITSRawStreamSPD.cxx +++ b/ITS/AliITSRawStreamSPD.cxx @@ -707,6 +707,16 @@ UInt_t AliITSRawStreamSPD::GetOfflineModuleFromOnline(UInt_t eqId, UInt_t hs, UI else return 240; } //__________________________________________________________________________ +UInt_t AliITSRawStreamSPD::GetOfflineChipKeyFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip) { + // online->offline (chip key: 0-1199) + if (eqId<20 && hs<6 && chip<10) { + UInt_t module = GetOfflineModuleFromOnline(eqId,hs,chip); + UInt_t chipInModule = ( chip>4 ? chip-5 : chip ); + if(eqId>9) chipInModule = 4 - chipInModule; // side C only + return (module*5 + chipInModule); + } else return 1200; +} +//__________________________________________________________________________ UInt_t AliITSRawStreamSPD::GetOfflineColFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t col) { // online->offline (col) if (eqId>=20 || hs>=6 || chip>=10 || col>=32) return 160; // error @@ -734,7 +744,3 @@ UInt_t AliITSRawStreamSPD::GetOfflineRowFromOnline(UInt_t eqId, UInt_t hs, UInt_ if (eqId>=20 || hs>=6 || chip>=10 || row>=256) return 256; // error return 255-row; } - - - - diff --git a/ITS/AliITSRawStreamSPD.h b/ITS/AliITSRawStreamSPD.h index dceff952206..4e23c76a5ff 100644 --- a/ITS/AliITSRawStreamSPD.h +++ b/ITS/AliITSRawStreamSPD.h @@ -51,6 +51,7 @@ class AliITSRawStreamSPD: public AliITSRawStream { static UInt_t GetOnlineRowFromOffline(UInt_t module, UInt_t rowM); // coordinate conversions - online->offline static UInt_t GetOfflineModuleFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip); + static UInt_t GetOfflineChipKeyFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip); static UInt_t GetOfflineColFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t col); static UInt_t GetOfflineRowFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t row); @@ -88,6 +89,8 @@ class AliITSRawStreamSPD: public AliITSRawStream { UInt_t GetHTPAmp(UInt_t hs) const; Bool_t GetHminTHchipPresent(UInt_t chip) const; void ActivateAdvancedErrorLog(Bool_t activate, AliITSRawStreamSPDErrorLog* advLogger = NULL); + AliITSRawStreamSPDErrorLog* GetAdvancedErrorLog() {return fAdvLogger;} + static const Char_t* GetErrorName(UInt_t errorCode); diff --git a/ITS/AliITSRawStreamSPDErrorLog.cxx b/ITS/AliITSRawStreamSPDErrorLog.cxx index 11c903e608e..665db9907ee 100644 --- a/ITS/AliITSRawStreamSPDErrorLog.cxx +++ b/ITS/AliITSRawStreamSPDErrorLog.cxx @@ -26,6 +26,7 @@ AliITSRawStreamSPDErrorLog::AliITSRawStreamSPDErrorLog() : fSuppressEq[eq] = kFALSE; for (UInt_t err=0; errClear(); + fTextTmpGeneral->Clear(); for (UInt_t eq=0; eq<20; eq++) { fTextTmp[eq]->Clear(); fConsErrType[eq]->Reset(); @@ -167,6 +171,7 @@ void AliITSRawStreamSPDErrorLog::Reset() { fNEvents[eq] = 0; for (UInt_t err=0; err=0) { fConsErrPosTMP[errorCode][eq]->SetPoint(fErrPosTMPCounter[errorCode][eq],0,bytesRead+fByteOffset[eq]); @@ -216,8 +225,27 @@ void AliITSRawStreamSPDErrorLog::AddMessage(const Char_t *errMess) { fTextTmpGeneral->InsLine(fTextTmpGeneral->RowCount(),errMess); } //________________________________________________________________________________________________ -void AliITSRawStreamSPDErrorLog::SummarizeEvent(UInt_t eventNum) { - // summarize the information for the current event +void AliITSRawStreamSPDErrorLog::ResetEvent() { + // reset error counters for current event + for (UInt_t eq=0; eq<20; eq++) { + for (UInt_t err=0; errClear(); + fTextTmp[eq]->Clear(); + } + + for (UInt_t eq=0; eq<20; eq++) { + for (UInt_t err=0; errRowCount()>5000) { fText->Clear(); @@ -228,12 +256,41 @@ void AliITSRawStreamSPDErrorLog::SummarizeEvent(UInt_t eventNum) { msg = Form("*** Event %d , General Errors: ***",eventNum); fText->InsLine(fText->RowCount(),msg.Data()); fText->AddText(fTextTmpGeneral); - fTextTmpGeneral->Clear(); + // fTextTmpGeneral->Clear(); + } + + for (UInt_t eq=0; eq<20; eq++) { + if (fNErrors[kTotal][eq]>0) { + msg = Form("*** Event %d , Eq %d: ***",eventNum,eq); + fText->InsLine(fText->RowCount(),msg.Data()); + fText->AddText(fTextTmp[eq]); + fText->InsLine(fText->RowCount()," "); + } + // fTextTmp[eq]->Clear(); } +} +//________________________________________________________________________________________________ +void AliITSRawStreamSPDErrorLog::ProcessEvent(UInt_t eventNum) { + // summarize the information for the current event +// TString msg; +// if (fText->RowCount()>5000) { +// fText->Clear(); +// msg = "*** previous errors cleared ***"; +// fText->InsLine(fText->RowCount(),msg.Data()); +// } +// if (fTextTmpGeneral->RowCount()>1) { +// msg = Form("*** Event %d , General Errors: ***",eventNum); +// fText->InsLine(fText->RowCount(),msg.Data()); +// fText->AddText(fTextTmpGeneral); +// fTextTmpGeneral->Clear(); +// } + + AddErrorMessagesFromCurrentEvent(eventNum); + for (UInt_t eq=0; eq<20; eq++) { for (UInt_t err=0; errFill(err,fNErrors[err][eq]); - if (fNErrors[err][eq]>0){ + if (fNErrors[err][eq]>0) { fConsErrEvent[err][eq]->SetPoint(fErrEventCounter[err][eq],eventNum,fNErrors[err][eq]); fErrEventCounter[err][eq]++; fConsErrFraction[eq]->Fill(err); @@ -247,26 +304,23 @@ void AliITSRawStreamSPDErrorLog::SummarizeEvent(UInt_t eventNum) { } fNEvents[eq]++; - if (fNErrors[kTotal][eq]>0) { - msg = Form("*** Event %d , Eq %d: ***",eventNum,eq); - fText->InsLine(fText->RowCount(),msg.Data()); - fText->AddText(fTextTmp[eq]); - fText->InsLine(fText->RowCount()," "); - } - fByteOffset[eq]=0; - fTextTmp[eq]->Clear(); - for (UInt_t err=0; err0) { +// msg = Form("*** Event %d , Eq %d: ***",eventNum,eq); +// fText->InsLine(fText->RowCount(),msg.Data()); +// fText->AddText(fTextTmp[eq]); +// fText->InsLine(fText->RowCount()," "); +// } +// fByteOffset[eq]=0; +// fTextTmp[eq]->Clear(); } - for (UInt_t eq=0; eq<20; eq++) { - for (UInt_t err=0; errGetBinContent(errorCode+1); + return fNErrorsTotal[errorCode][eq]; + // return (UInt_t) fConsErrType[eq]->GetBinContent(errorCode+1); } else { AliWarning(Form("Error code (%d) or equipment (%d) out of range, returning 0",errorCode,eq)); @@ -335,11 +390,12 @@ UInt_t AliITSRawStreamSPDErrorLog::GetNrErrorsTotal(UInt_t errorCode, UInt_t eq) } //________________________________________________________________________________________________ UInt_t AliITSRawStreamSPDErrorLog::GetNrErrorsTotalAllEq(UInt_t errorCode) { - // returns the total number of errors for a specific error code and for all equipment + // returns the total number of errors for a specific error code and for all equipments if (errorCodeGetBinContent(errorCode+1); + returnval += fNErrorsTotal[errorCode][eq]; + // returnval += (UInt_t) fConsErrType[eq]->GetBinContent(errorCode+1); } return returnval; } @@ -399,3 +455,32 @@ TGraph* AliITSRawStreamSPDErrorLog::GetConsErrPos(UInt_t errorCode, UInt_t eq) { return NULL; } } +//________________________________________________________________________________________________ +UInt_t AliITSRawStreamSPDErrorLog::GetEventErrPosCounter(UInt_t errorCode, UInt_t eq) { + // returns the number of errors with bytes information for current event + if (errorCodeGetPoint(index,x,y); + return (UInt_t) y; + } + else { + AliError(Form("Index %d out of range, returning 0",index)); + return 0; + } + } + else { + AliError(Form("Error code (%d) or equipment (%d) out of range, returning 0",errorCode,eq)); + return 0; + } + +} diff --git a/ITS/AliITSRawStreamSPDErrorLog.h b/ITS/AliITSRawStreamSPDErrorLog.h index 31a238ea9a8..5dc93874235 100644 --- a/ITS/AliITSRawStreamSPDErrorLog.h +++ b/ITS/AliITSRawStreamSPDErrorLog.h @@ -30,6 +30,10 @@ class AliITSRawStreamSPDErrorLog : public TObject { void Reset(); void ProcessError(UInt_t errorCode, UInt_t eq, Int_t bytesRead, Int_t headersRead, const Char_t *errMess); void AddMessage(const Char_t *errMess); + + void ResetEvent(); + void ProcessEvent(UInt_t eventNum); + void AddErrorMessagesFromCurrentEvent(UInt_t eventNum); void SummarizeEvent(UInt_t eventNum); UInt_t GetNrErrors(UInt_t errorCode, UInt_t eq); @@ -49,10 +53,15 @@ class AliITSRawStreamSPDErrorLog : public TObject { TH1F* GetConsErrFraction(UInt_t eq); // NB!!! Take care of deleting returned object later TH1F* GetConsErrFractionUnScaled(UInt_t eq); TGText* GetText() {return fText;} + TGText* GetTextThisEvent(UInt_t eq) {if (eq<20) return fTextTmp[eq]; else return NULL;} + TGText* GetTextGeneralThisEvent() {return fTextTmpGeneral;} + UInt_t GetEventErrPosCounter(UInt_t errorCode, UInt_t eq); + UInt_t GetEventErrPos(UInt_t index, UInt_t errorCode, UInt_t eq); private: Int_t fNErrors[kNrErrorCodes][20]; // number of errors for this event, for each code and eq + Int_t fNErrorsTotal[kNrErrorCodes][20]; // number of errors for all events, for each code and eq UInt_t fNEvents[20]; // number of events used, for each eq UInt_t fErrEventCounter[kNrErrorCodes][20]; // event counter used when filling graph UInt_t fErrPosCounter[kNrErrorCodes][20]; // event counter used when filling graph diff --git a/ITS/CMake_libITSbase.txt b/ITS/CMake_libITSbase.txt index 5801c71b44a..82f76da3936 100644 --- a/ITS/CMake_libITSbase.txt +++ b/ITS/CMake_libITSbase.txt @@ -30,6 +30,7 @@ set(SRCS AliITSresponseSPD.cxx AliITSresponseSDD.cxx AliITSCalibrationSPD.cxx + AliITSFastOrCalibrationSPD.cxx AliITSCalibrationSDD.cxx AliITSCalibrationSSD.cxx AliITSChannelStatus.cxx diff --git a/ITS/ITSbaseLinkDef.h b/ITS/ITSbaseLinkDef.h index a60f9015aa8..8cad21f3060 100644 --- a/ITS/ITSbaseLinkDef.h +++ b/ITS/ITSbaseLinkDef.h @@ -50,6 +50,7 @@ #pragma link C++ class AliITSresponseSPD+; #pragma link C++ class AliITSresponseSDD+; #pragma link C++ class AliITSCalibrationSPD-; +#pragma link C++ class AliITSFastOrCalibrationSPD+; #pragma link C++ class AliITSCalibrationSDD+; #pragma link C++ class AliITSCalibrationSSD+; #pragma link C++ class AliITSChannelStatus+; diff --git a/ITS/libITSbase.pkg b/ITS/libITSbase.pkg index 0cfaac27074..ef019e883e1 100644 --- a/ITS/libITSbase.pkg +++ b/ITS/libITSbase.pkg @@ -29,6 +29,7 @@ SRCS = AliITSgeom.cxx \ AliITSresponseSPD.cxx \ AliITSresponseSDD.cxx \ AliITSCalibrationSPD.cxx \ + AliITSFastOrCalibrationSPD.cxx \ AliITSCalibrationSDD.cxx \ AliITSCalibrationSSD.cxx \ AliITSChannelStatus.cxx \ -- 2.43.0