X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=ITS%2FAliITSOnlineCalibrationSPDhandler.h;h=a93e971004533e3620790e636a60db0b88e353a4;hb=20f79d37d89dc1fa42a87fab4697de017cd08cf0;hp=a5f2d648a8e51100b7f93f39e00f0e5a31b8ecaa;hpb=e03405c9e64850cc1a9022249036fcd626008493;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSOnlineCalibrationSPDhandler.h b/ITS/AliITSOnlineCalibrationSPDhandler.h index a5f2d648a8e..a93e9710045 100644 --- a/ITS/AliITSOnlineCalibrationSPDhandler.h +++ b/ITS/AliITSOnlineCalibrationSPDhandler.h @@ -1,20 +1,22 @@ -#ifndef ALI_ITS_ONLINECALIBRATIONSPDHANDLER_H -#define ALI_ITS_ONLINECALIBRATIONSPDHANDLER_H +#ifndef ALIITSONLINECALIBRATIONSPDHANDLER_H +#define ALIITSONLINECALIBRATIONSPDHANDLER_H -////////////////////////////////////////////////////////////////////////// -// Author: Henrik Tydesjo // -// Class that simplifies the managing of dead and noisy pixels. // -// Has interface to the AliITSOnlineCalibrationSPD container objects // -// through reading and writing to TFile. // -////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// +// Author: Henrik Tydesjo // +// Class that simplifies the managing of dead, noisy, and inactive pixels. // +// Has interface to the AliITSOnlineCalibrationSPD container objects // +// through reading and writing to TFile. // +////////////////////////////////////////////////////////////////////////////// -/* $Id$ */ +/* $Id$ */ #include "AliITSRawStreamSPD.h" #include +class TArrayI; class TArrayS; class AliITSIntMap; +class AliITSTriggerConditions; class AliITSCalibrationSPD; class AliITSOnlineCalibrationSPDhandler { @@ -37,141 +39,224 @@ class AliITSOnlineCalibrationSPDhandler { void ResetNoisyForEq(UInt_t eq); Bool_t ReadFromFiles(); + Bool_t ReadSilentFromFiles(); Bool_t ReadDeadFromFiles(); Bool_t ReadNoisyFromFiles(); + Bool_t ReadSilentFromFile(UInt_t eq); Bool_t ReadDeadFromFile(UInt_t eq); Bool_t ReadNoisyFromFile(UInt_t eq); - Bool_t ReadDeadFromFileName(const char *fileName); + Bool_t ReadSilentFromFileName(const char *fileName); + Bool_t ReadDeadFromFileName(const char *fileName, Bool_t inactive=kFALSE); Bool_t ReadNoisyFromFileName(const char *fileName); + UInt_t ReadDeadFromText(const char *fileName, UInt_t module); UInt_t ReadNoisyFromText(const char *fileName, UInt_t module); + void ReadPITConditionsFromText(const char *fileName); void WriteToFilesAlways(); UInt_t WriteToFiles(); + void WriteSilentToFilesAlways(); void WriteDeadToFilesAlways(); void WriteNoisyToFilesAlways(); + UInt_t WriteSilentToFiles(); UInt_t WriteDeadToFiles(); UInt_t WriteNoisyToFiles(); - void WriteDeadToFile(UInt_t eq); + void WriteSilentToFile(UInt_t eq); + void WriteDeadToFile(UInt_t eq, Bool_t inactive=kFALSE); void WriteNoisyToFile(UInt_t eq); + Bool_t ReadPITConditionsFromDB(Int_t runNr, const Char_t *storage="default"); #ifndef SPD_DA_OFF - Bool_t ReadDeadModuleFromDB(UInt_t module, Int_t runNr, Bool_t treeSerial=kFALSE); - Bool_t ReadNoisyModuleFromDB(UInt_t module, Int_t runNr, Bool_t treeSerial=kFALSE); - Bool_t ReadFromDB(Int_t runNr, Bool_t treeSerial=kFALSE); - Bool_t ReadDeadFromDB(Int_t runNr, Bool_t treeSerial=kFALSE); - Bool_t ReadNoisyFromDB(Int_t runNr, Bool_t treeSerial=kFALSE); - Bool_t ReadDeadFromCalibObj(TObjArray* calObj); - Bool_t ReadNoisyFromCalibObj(TObjArray* calObj); - Bool_t WriteToDB(Int_t runNrStart, Int_t runNrEnd); - Bool_t WriteDeadToDB(Int_t runNrStart, Int_t runNrEnd); - Bool_t WriteNoisyToDB(Int_t runNrStart, Int_t runNrEnd); + Bool_t ReadDeadModuleFromDB(UInt_t module, Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE); + Bool_t ReadNoisyModuleFromDB(UInt_t module, Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE); + Bool_t ReadFromDB(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE); + Bool_t ReadDeadFromDB(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE); + Bool_t ReadSparseDeadFromDB(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE); + Bool_t ReadNoisyFromDB(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE); + Bool_t ReadDeadFromDBasNoisy(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE); + Bool_t ReadDeadFromCalibObj(const TObjArray* calObj); + Bool_t ReadNoisyFromCalibObj(const TObjArray* calObj); + Bool_t WriteToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default"); + Bool_t WriteDeadToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default"); + Bool_t WriteSparseDeadToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default"); + Bool_t WriteDeadToDBasNoisy(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default"); + Bool_t WriteNoisyToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default"); + Bool_t WritePITConditionsToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default"); #endif void GenerateDCSConfigFile(const Char_t* fileName); + TArrayS GetSilentArray(UInt_t module, Bool_t treeSerial=kFALSE); // temporarily needed TArrayS GetDeadArray(UInt_t module, Bool_t treeSerial=kFALSE); + TArrayS GetSparseDeadArray(UInt_t module, Bool_t treeSerial=kFALSE); TArrayS GetNoisyArray(UInt_t module, Bool_t treeSerial=kFALSE); - TArrayS GetDeadArrayOnline(UInt_t eq); - TArrayS GetNoisyArrayOnline(UInt_t eq); + + TArrayI GetDeadArrayOnline(UInt_t eq); + TArrayI GetNoisyArrayOnline(UInt_t eq); void PrintEqSummary(); + void PrintSilent() const; // silent = dead or inactive void PrintDead() const; + void PrintSparseDead() const; void PrintNoisy() const; Bool_t SetDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row); + Bool_t SetSparseDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row); Bool_t SetNoisyPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row); Bool_t SetDeadPixelM(UInt_t module, UInt_t colM, UInt_t row); + Bool_t SetSparseDeadPixelM(UInt_t module, UInt_t colM, UInt_t row); Bool_t SetNoisyPixelM(UInt_t module, UInt_t colM, UInt_t row); Bool_t UnSetDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row); + Bool_t UnSetSparseDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row); Bool_t UnSetNoisyPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row); Bool_t UnSetDeadPixelM(UInt_t module, UInt_t colM, UInt_t row); + Bool_t UnSetSparseDeadPixelM(UInt_t module, UInt_t colM, UInt_t row); Bool_t UnSetNoisyPixelM(UInt_t module, UInt_t colM, UInt_t row); - UInt_t SetDeadChip(UInt_t eq, UInt_t hs, UInt_t chip); - UInt_t SetNoisyChip(UInt_t eq, UInt_t hs, UInt_t chip); - Bool_t UnSetDeadChip(UInt_t eq, UInt_t hs, UInt_t chip); - Bool_t UnSetNoisyChip(UInt_t eq, UInt_t hs, UInt_t chip); + Bool_t SetInactiveChipInPITmask(UInt_t eq, UInt_t hs, UInt_t chip); + Bool_t UnSetInactiveChipInPITmask(UInt_t eq, UInt_t hs, UInt_t chip); + + Bool_t IsPixelBad(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const; + Bool_t IsPixelSilent(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const; // silent = dead or inactive Bool_t IsPixelDead(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const; Bool_t IsPixelNoisy(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const; + Bool_t IsPixelBadM(UInt_t module, UInt_t colM, UInt_t row) const; + Bool_t IsPixelSilentM(UInt_t module, UInt_t colM, UInt_t row) const; Bool_t IsPixelDeadM(UInt_t module, UInt_t colM, UInt_t row) const; Bool_t IsPixelNoisyM(UInt_t module, UInt_t colM, UInt_t row) const; + Bool_t IsPixelBadKey(Int_t key) const; + Bool_t IsPixelSilentKey(Int_t key) const; Bool_t IsPixelDeadKey(Int_t key) const; Bool_t IsPixelNoisyKey(Int_t key) const; + UInt_t GetNrBad() const; // bad = silent or noisy + UInt_t GetNrSilent() const; // silent = dead or inactive UInt_t GetNrDead() const; + UInt_t GetNrSparseDead() const; + UInt_t GetDeadEqIdAt(UInt_t index) const; + UInt_t GetDeadHSAt(UInt_t index) const; + UInt_t GetDeadChipAt(UInt_t index) const; + UInt_t GetDeadColAt(UInt_t index) const; + UInt_t GetDeadRowAt(UInt_t index) const; UInt_t GetNrNoisy() const; - UInt_t GetDeadEqIdAt(UInt_t index); - UInt_t GetNoisyEqIdAt(UInt_t index); - UInt_t GetDeadHSAt(UInt_t index); - UInt_t GetNoisyHSAt(UInt_t index); - UInt_t GetDeadChipAt(UInt_t index); - UInt_t GetNoisyChipAt(UInt_t index); - UInt_t GetDeadColAt(UInt_t index); - UInt_t GetNoisyColAt(UInt_t index); - UInt_t GetDeadRowAt(UInt_t index); - UInt_t GetNoisyRowAt(UInt_t index); + UInt_t GetNoisyEqIdAt(UInt_t index) const; + UInt_t GetNoisyHSAt(UInt_t index) const; + UInt_t GetNoisyChipAt(UInt_t index) const; + UInt_t GetNoisyColAt(UInt_t index) const; + UInt_t GetNoisyRowAt(UInt_t index) const; + + UInt_t GetNrBad(UInt_t module) const; // bad = silent or noisy + UInt_t GetNrSilent(UInt_t module) const; // silent = dead or inactive UInt_t GetNrDead(UInt_t module) const; + UInt_t GetNrSparseDead(UInt_t module) const; + UInt_t GetNrDeadSingle(UInt_t module) const; + UInt_t GetDeadEqIdAt(UInt_t module,UInt_t index) const; + UInt_t GetDeadHSAt(UInt_t module,UInt_t index) const; + UInt_t GetDeadChipAt(UInt_t module,UInt_t index) const; + UInt_t GetDeadColAt(UInt_t module,UInt_t index) const; + UInt_t GetDeadRowAt(UInt_t module,UInt_t index) const; UInt_t GetNrNoisy(UInt_t module) const; - UInt_t GetDeadEqIdAt(UInt_t module,UInt_t index); - UInt_t GetNoisyEqIdAt(UInt_t module, UInt_t index); - UInt_t GetDeadHSAt(UInt_t module,UInt_t index); - UInt_t GetNoisyHSAt(UInt_t module, UInt_t index); - UInt_t GetDeadChipAt(UInt_t module,UInt_t index); - UInt_t GetNoisyChipAt(UInt_t module, UInt_t index); - UInt_t GetDeadColAt(UInt_t module,UInt_t index); - UInt_t GetNoisyColAt(UInt_t module, UInt_t index); - UInt_t GetDeadRowAt(UInt_t module,UInt_t index); - UInt_t GetNoisyRowAt(UInt_t module, UInt_t index); + UInt_t GetNrNoisySingle(UInt_t module) const; + UInt_t GetNoisyEqIdAt(UInt_t module, UInt_t index) const; + UInt_t GetNoisyHSAt(UInt_t module, UInt_t index) const; + UInt_t GetNoisyChipAt(UInt_t module, UInt_t index) const; + UInt_t GetNoisyColAt(UInt_t module, UInt_t index) const; + UInt_t GetNoisyRowAt(UInt_t module, UInt_t index) const; + UInt_t GetNrBadEq(UInt_t eq) const; // bad = silent or noisy + UInt_t GetNrSilentEq(UInt_t eq) const; // silent = dead or inactive UInt_t GetNrDeadEq(UInt_t eq) const; - UInt_t GetNrNoisyEq(UInt_t eq) const; + UInt_t GetNrSparseDeadEq(UInt_t eq) const; UInt_t GetDeadEqIdAtEq(UInt_t eq, UInt_t index) const; + UInt_t GetDeadHSAtEq(UInt_t eq, UInt_t index) const; + UInt_t GetDeadChipAtEq(UInt_t eq, UInt_t index) const; + UInt_t GetDeadColAtEq(UInt_t eq, UInt_t index) const; + UInt_t GetDeadRowAtEq(UInt_t eq, UInt_t index) const; + UInt_t GetNrNoisyEq(UInt_t eq) const; UInt_t GetNoisyEqIdAtEq(UInt_t eq, UInt_t index) const; - UInt_t GetDeadHSAtEq(UInt_t eq, UInt_t index); - UInt_t GetNoisyHSAtEq(UInt_t eq, UInt_t index); - UInt_t GetDeadChipAtEq(UInt_t eq, UInt_t index); - UInt_t GetNoisyChipAtEq(UInt_t eq, UInt_t index); - UInt_t GetDeadColAtEq(UInt_t eq, UInt_t index); - UInt_t GetNoisyColAtEq(UInt_t eq, UInt_t index); - UInt_t GetDeadRowAtEq(UInt_t eq, UInt_t index); - UInt_t GetNoisyRowAtEq(UInt_t eq, UInt_t index); + UInt_t GetNoisyHSAtEq(UInt_t eq, UInt_t index) const; + UInt_t GetNoisyChipAtEq(UInt_t eq, UInt_t index) const; + UInt_t GetNoisyColAtEq(UInt_t eq, UInt_t index) const; + UInt_t GetNoisyRowAtEq(UInt_t eq, UInt_t index) const; + UInt_t GetNrBadC(UInt_t eq, UInt_t hs, UInt_t chip) const; // bad = silent or noisy + UInt_t GetNrSilentC(UInt_t eq, UInt_t hs, UInt_t chip) const; // silent = dead or inactive UInt_t GetNrDeadC(UInt_t eq, UInt_t hs, UInt_t chip) const; - UInt_t GetNrNoisyC(UInt_t eq, UInt_t hs, UInt_t chip) const; + UInt_t GetNrSparseDeadC(UInt_t eq, UInt_t hs, UInt_t chip) const; UInt_t GetDeadEqIdAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; - UInt_t GetNoisyEqIdAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; UInt_t GetDeadHSAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; - UInt_t GetNoisyHSAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; UInt_t GetDeadChipAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; - UInt_t GetNoisyChipAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; UInt_t GetDeadColAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; - UInt_t GetNoisyColAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; UInt_t GetDeadRowAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; + UInt_t GetNrNoisyC(UInt_t eq, UInt_t hs, UInt_t chip) const; + UInt_t GetNoisyEqIdAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; + UInt_t GetNoisyHSAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; + UInt_t GetNoisyChipAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; + UInt_t GetNoisyColAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; UInt_t GetNoisyRowAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; const Char_t* GetDeadPixelAsTextC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; const Char_t* GetNoisyPixelAsTextC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const; - UInt_t AddDeadFrom(AliITSOnlineCalibrationSPDhandler* other); - UInt_t AddNoisyFrom(AliITSOnlineCalibrationSPDhandler* other); + void ActivateALL(); + void ActivateEq(UInt_t eq, Bool_t setval = kTRUE); + void ActivateHS(UInt_t eq, UInt_t hs, Bool_t setval = kTRUE); + void ActivateChip(UInt_t eq, UInt_t hs, UInt_t chip, Bool_t setval = kTRUE); + + void UnSetDeadALL(); + void SetDeadEq(UInt_t eq, Bool_t setval = kTRUE); + void SetDeadHS(UInt_t eq, UInt_t hs, Bool_t setval = kTRUE); + void SetDeadChip(UInt_t eq, UInt_t hs, UInt_t chip, Bool_t setval = kTRUE); + + Bool_t IsActiveEq(UInt_t eq) const; + Bool_t IsActiveHS(UInt_t eq, UInt_t hs) const; + Bool_t IsActiveChip(UInt_t eq, UInt_t hs, UInt_t chip) const; + + Bool_t IsDeadEq(UInt_t eq) const; + Bool_t IsDeadHS(UInt_t eq, UInt_t hs) const; + Bool_t IsDeadChip(UInt_t eq, UInt_t hs, UInt_t chip) const; + + Bool_t IsSilentEq(UInt_t eq) const; + Bool_t IsSilentHS(UInt_t eq, UInt_t hs) const; + Bool_t IsSilentChip(UInt_t eq, UInt_t hs, UInt_t chip) const; + + Bool_t IsNoisyChip(UInt_t eq, UInt_t hs, UInt_t chip) const; + + UInt_t AddSilentFrom(AliITSOnlineCalibrationSPDhandler* other); + UInt_t AddDeadFrom(const AliITSOnlineCalibrationSPDhandler* other); + UInt_t AddNoisyFrom(const AliITSOnlineCalibrationSPDhandler* other); UInt_t GetNrDiff(AliITSOnlineCalibrationSPDhandler* other) const; - UInt_t GetNrDeadDiff(AliITSOnlineCalibrationSPDhandler* other) const; - UInt_t GetNrNoisyDiff(AliITSOnlineCalibrationSPDhandler* other) const; - AliITSOnlineCalibrationSPDhandler* GetDiff(AliITSOnlineCalibrationSPDhandler* other) const; - AliITSOnlineCalibrationSPDhandler* GetDeadDiff(AliITSOnlineCalibrationSPDhandler* other) const; - AliITSOnlineCalibrationSPDhandler* GetNoisyDiff(AliITSOnlineCalibrationSPDhandler* other) const; + UInt_t GetNrSilentDiff(AliITSOnlineCalibrationSPDhandler* other) const; + UInt_t GetNrDeadDiff(const AliITSOnlineCalibrationSPDhandler* other) const; + UInt_t GetNrNoisyDiff(const AliITSOnlineCalibrationSPDhandler* other) const; + AliITSOnlineCalibrationSPDhandler* GetDiff(const AliITSOnlineCalibrationSPDhandler* other) const; + AliITSOnlineCalibrationSPDhandler* GetSilentDiff(const AliITSOnlineCalibrationSPDhandler* other) const; + AliITSOnlineCalibrationSPDhandler* GetDeadDiff(const AliITSOnlineCalibrationSPDhandler* other) const; + AliITSOnlineCalibrationSPDhandler* GetNoisyDiff(const AliITSOnlineCalibrationSPDhandler* other) const; + AliITSTriggerConditions * GetTriggerConditions() const {return fTriggerConditions;} + void PrintDiffInDead(AliITSOnlineCalibrationSPDhandler *other) const; + void PrintDiffInPITmask(AliITSOnlineCalibrationSPDhandler *other) const; private: TString fFileLocation; // location (dir) of files to read and write from AliITSIntMap* fDeadPixelMap[1200]; // lists of dead pixels for each chip + AliITSIntMap* fSparseDeadPixelMap[1200]; // lists of dead pixels for each chip (used to define sparse dead pixel on LHC period basis) AliITSIntMap* fNoisyPixelMap[1200]; // lists of noisy pixels for each chip UInt_t fNrDead[1200]; // nr of dead pixels for each chip + UInt_t fNrSparseDead[1200]; // nr of sparse dead pixels for each chip UInt_t fNrNoisy[1200]; // nr of noisy pixels for each chip - + Bool_t fActiveEq[20]; // active bit for each equipment + Bool_t fActiveHS[20][6]; // active bit for each half-stave + Bool_t fActiveChip[20][6][10]; // active bit for each chip + Bool_t fDeadEq[20]; // dead bit for each equipment + Bool_t fDeadHS[20][6]; // dead bit for each half-stave + Bool_t fDeadChip[20][6][10]; // dead bit for each chip + AliITSTriggerConditions *fTriggerConditions; // PIT conditions (mask, parameters name, parameters values) + + Int_t GetKey(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const {return eq*6*10*32*256 + hs*10*32*256 + chip*32*256 + col*256 + row;} UInt_t GetEqIdFromKey(Int_t key) const @@ -191,15 +276,17 @@ class AliITSOnlineCalibrationSPDhandler { UInt_t GetRowMFromKey(Int_t key) const {return AliITSRawStreamSPD::GetOfflineRowFromOnline(GetEqIdFromKey(key),GetHSFromKey(key),GetChipFromKey(key),GetRowFromKey(key));} - UInt_t GetGloChip(UInt_t eq, UInt_t hs, UInt_t chip) const - {return eq*6*10 + hs*10 + chip;} + UInt_t GetGloChip(UInt_t eq, UInt_t hs, UInt_t chip) const {return eq*60 + hs*10 + chip;} + UInt_t GetEqGlo(UInt_t gloChip) const {return gloChip/60;} + UInt_t GetHSGlo(UInt_t gloChip) const {return (gloChip%60)/10;} + UInt_t GetChipGlo(UInt_t gloChip) const {return (gloChip%60)%10;} - void GetChipAndIndexDead(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex); - void GetChipAndIndexNoisy(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex); - void GetChipAndIndexEqDead(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex); - void GetChipAndIndexEqNoisy(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex); - void GetChipAndIndexTotDead(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex); - void GetChipAndIndexTotNoisy(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex); + void GetChipAndIndexDead(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const; + void GetChipAndIndexNoisy(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const; + void GetChipAndIndexEqDead(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const; + void GetChipAndIndexEqNoisy(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const; + void GetChipAndIndexTotDead(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const; + void GetChipAndIndexTotNoisy(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const; UInt_t GetEqIdFromOffline(UInt_t module) const; UInt_t GetHSFromOffline(UInt_t module) const; @@ -208,19 +295,21 @@ class AliITSOnlineCalibrationSPDhandler { UInt_t GetRowFromOffline(UInt_t module, UInt_t rowM) const; void RecursiveInsertDead(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd); + void RecursiveInsertSparseDead(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd); void RecursiveInsertNoisy(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd); UInt_t GetNrDeadC2(UInt_t gloChip) const; - UInt_t GetNrNoisyC2(UInt_t gloChip) const; + UInt_t GetNrSparseDeadC2(UInt_t gloChip) const; UInt_t GetDeadEqIdAtC2(UInt_t gloChip, UInt_t index) const; - UInt_t GetNoisyEqIdAtC2(UInt_t gloChip, UInt_t index) const; UInt_t GetDeadHSAtC2(UInt_t gloChip, UInt_t index) const; - UInt_t GetNoisyHSAtC2(UInt_t gloChip, UInt_t index) const; UInt_t GetDeadChipAtC2(UInt_t gloChip, UInt_t index) const; - UInt_t GetNoisyChipAtC2(UInt_t gloChip, UInt_t index) const; UInt_t GetDeadColAtC2(UInt_t gloChip, UInt_t index) const; - UInt_t GetNoisyColAtC2(UInt_t gloChip, UInt_t index) const; UInt_t GetDeadRowAtC2(UInt_t gloChip, UInt_t index) const; + UInt_t GetNrNoisyC2(UInt_t gloChip) const; + UInt_t GetNoisyEqIdAtC2(UInt_t gloChip, UInt_t index) const; + UInt_t GetNoisyHSAtC2(UInt_t gloChip, UInt_t index) const; + UInt_t GetNoisyChipAtC2(UInt_t gloChip, UInt_t index) const; + UInt_t GetNoisyColAtC2(UInt_t gloChip, UInt_t index) const; UInt_t GetNoisyRowAtC2(UInt_t gloChip, UInt_t index) const; };