add getter to cut on n cells
[u/mrichter/AliRoot.git] / ITS / AliITSOnlineCalibrationSPDhandler.h
CommitLineData
416d7e17 1#ifndef ALIITSONLINECALIBRATIONSPDHANDLER_H
2#define ALIITSONLINECALIBRATIONSPDHANDLER_H
b15de2d2 3
b696414b 4//////////////////////////////////////////////////////////////////////////////
5// Author: Henrik Tydesjo //
6// Class that simplifies the managing of dead, noisy, and inactive pixels. //
7// Has interface to the AliITSOnlineCalibrationSPD container objects //
8// through reading and writing to TFile. //
9//////////////////////////////////////////////////////////////////////////////
b15de2d2 10
60d9faf6 11/* $Id$ */
e03405c9 12
53ae21ce 13#include "AliITSRawStreamSPD.h"
14#include <TString.h>
b15de2d2 15
60d9faf6 16class TArrayI;
e03405c9 17class TArrayS;
53ae21ce 18class AliITSIntMap;
ed041840 19class AliITSTriggerConditions;
6727e2db 20class AliITSCalibrationSPD;
b15de2d2 21
22class AliITSOnlineCalibrationSPDhandler {
23
24 public:
25 AliITSOnlineCalibrationSPDhandler();
b15de2d2 26 AliITSOnlineCalibrationSPDhandler(const AliITSOnlineCalibrationSPDhandler& handle);
27 virtual ~AliITSOnlineCalibrationSPDhandler();
28 AliITSOnlineCalibrationSPDhandler& operator=(const AliITSOnlineCalibrationSPDhandler& handle);
53ae21ce 29
30 void SetFileLocation(const Char_t* loc) {fFileLocation = loc;}
31 TString GetFileLocation() const {return fFileLocation;}
32
b15de2d2 33 void ClearMaps();
6727e2db 34 void ResetDead();
35 void ResetNoisy();
36 void ResetDeadForChip(UInt_t eq, UInt_t hs, UInt_t chip);
37 void ResetNoisyForChip(UInt_t eq, UInt_t hs, UInt_t chip);
38 void ResetDeadForEq(UInt_t eq);
39 void ResetNoisyForEq(UInt_t eq);
b15de2d2 40
53ae21ce 41 Bool_t ReadFromFiles();
b696414b 42 Bool_t ReadSilentFromFiles();
53ae21ce 43 Bool_t ReadDeadFromFiles();
44 Bool_t ReadNoisyFromFiles();
b696414b 45 Bool_t ReadSilentFromFile(UInt_t eq);
6727e2db 46 Bool_t ReadDeadFromFile(UInt_t eq);
47 Bool_t ReadNoisyFromFile(UInt_t eq);
b696414b 48 Bool_t ReadSilentFromFileName(const char *fileName);
49 Bool_t ReadDeadFromFileName(const char *fileName, Bool_t inactive=kFALSE);
53ae21ce 50 Bool_t ReadNoisyFromFileName(const char *fileName);
b696414b 51
6727e2db 52 UInt_t ReadDeadFromText(const char *fileName, UInt_t module);
53 UInt_t ReadNoisyFromText(const char *fileName, UInt_t module);
ed041840 54 void ReadPITConditionsFromText(const char *fileName);
53ae21ce 55
3479cee3 56 void WriteToFilesAlways();
6727e2db 57 UInt_t WriteToFiles();
b696414b 58 void WriteSilentToFilesAlways();
6727e2db 59 void WriteDeadToFilesAlways();
60 void WriteNoisyToFilesAlways();
b696414b 61 UInt_t WriteSilentToFiles();
6727e2db 62 UInt_t WriteDeadToFiles();
63 UInt_t WriteNoisyToFiles();
b696414b 64 void WriteSilentToFile(UInt_t eq);
65 void WriteDeadToFile(UInt_t eq, Bool_t inactive=kFALSE);
6727e2db 66 void WriteNoisyToFile(UInt_t eq);
53ae21ce 67
66133c2f 68 Bool_t ReadPITConditionsFromDB(Int_t runNr, const Char_t *storage="default");
53ae21ce 69#ifndef SPD_DA_OFF
3db964b1 70 Bool_t ReadDeadModuleFromDB(UInt_t module, Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE);
71 Bool_t ReadNoisyModuleFromDB(UInt_t module, Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE);
72 Bool_t ReadFromDB(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE);
73 Bool_t ReadDeadFromDB(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE);
9806b6f8 74 Bool_t ReadSparseDeadFromDB(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE);
3db964b1 75 Bool_t ReadNoisyFromDB(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE);
76 Bool_t ReadDeadFromDBasNoisy(Int_t runNr, const Char_t *storage="default", Bool_t treeSerial=kFALSE);
416d7e17 77 Bool_t ReadDeadFromCalibObj(const TObjArray* calObj);
78 Bool_t ReadNoisyFromCalibObj(const TObjArray* calObj);
3db964b1 79 Bool_t WriteToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default");
80 Bool_t WriteDeadToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default");
9806b6f8 81 Bool_t WriteSparseDeadToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default");
3db964b1 82 Bool_t WriteDeadToDBasNoisy(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default");
83 Bool_t WriteNoisyToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default");
ed041840 84 Bool_t WritePITConditionsToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t *storage="default");
53ae21ce 85#endif
53ae21ce 86
6727e2db 87 void GenerateDCSConfigFile(const Char_t* fileName);
b15de2d2 88
b696414b 89 TArrayS GetSilentArray(UInt_t module, Bool_t treeSerial=kFALSE); // temporarily needed
e03405c9 90 TArrayS GetDeadArray(UInt_t module, Bool_t treeSerial=kFALSE);
9806b6f8 91 TArrayS GetSparseDeadArray(UInt_t module, Bool_t treeSerial=kFALSE);
e03405c9 92 TArrayS GetNoisyArray(UInt_t module, Bool_t treeSerial=kFALSE);
b696414b 93
60d9faf6 94 TArrayI GetDeadArrayOnline(UInt_t eq);
95 TArrayI GetNoisyArrayOnline(UInt_t eq);
53ae21ce 96
6727e2db 97 void PrintEqSummary();
b696414b 98 void PrintSilent() const; // silent = dead or inactive
6727e2db 99 void PrintDead() const;
9806b6f8 100 void PrintSparseDead() const;
6727e2db 101 void PrintNoisy() const;
53ae21ce 102
6727e2db 103 Bool_t SetDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row);
9806b6f8 104 Bool_t SetSparseDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row);
6727e2db 105 Bool_t SetNoisyPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row);
106 Bool_t SetDeadPixelM(UInt_t module, UInt_t colM, UInt_t row);
9806b6f8 107 Bool_t SetSparseDeadPixelM(UInt_t module, UInt_t colM, UInt_t row);
53ae21ce 108 Bool_t SetNoisyPixelM(UInt_t module, UInt_t colM, UInt_t row);
6727e2db 109 Bool_t UnSetDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row);
9806b6f8 110 Bool_t UnSetSparseDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row);
6727e2db 111 Bool_t UnSetNoisyPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row);
112 Bool_t UnSetDeadPixelM(UInt_t module, UInt_t colM, UInt_t row);
9806b6f8 113 Bool_t UnSetSparseDeadPixelM(UInt_t module, UInt_t colM, UInt_t row);
3479cee3 114 Bool_t UnSetNoisyPixelM(UInt_t module, UInt_t colM, UInt_t row);
6727e2db 115
ed041840 116 Bool_t SetInactiveChipInPITmask(UInt_t eq, UInt_t hs, UInt_t chip);
117 Bool_t UnSetInactiveChipInPITmask(UInt_t eq, UInt_t hs, UInt_t chip);
118
478d804c 119 Bool_t IsPixelBad(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const;
b696414b 120 Bool_t IsPixelSilent(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const; // silent = dead or inactive
6727e2db 121 Bool_t IsPixelDead(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const;
122 Bool_t IsPixelNoisy(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const;
478d804c 123 Bool_t IsPixelBadM(UInt_t module, UInt_t colM, UInt_t row) const;
b696414b 124 Bool_t IsPixelSilentM(UInt_t module, UInt_t colM, UInt_t row) const;
6727e2db 125 Bool_t IsPixelDeadM(UInt_t module, UInt_t colM, UInt_t row) const;
126 Bool_t IsPixelNoisyM(UInt_t module, UInt_t colM, UInt_t row) const;
478d804c 127 Bool_t IsPixelBadKey(Int_t key) const;
b696414b 128 Bool_t IsPixelSilentKey(Int_t key) const;
6727e2db 129 Bool_t IsPixelDeadKey(Int_t key) const;
130 Bool_t IsPixelNoisyKey(Int_t key) const;
b15de2d2 131
478d804c 132 UInt_t GetNrBad() const; // bad = silent or noisy
b696414b 133 UInt_t GetNrSilent() const; // silent = dead or inactive
6727e2db 134 UInt_t GetNrDead() const;
9806b6f8 135 UInt_t GetNrSparseDead() const;
478d804c 136 UInt_t GetDeadEqIdAt(UInt_t index) const;
137 UInt_t GetDeadHSAt(UInt_t index) const;
138 UInt_t GetDeadChipAt(UInt_t index) const;
139 UInt_t GetDeadColAt(UInt_t index) const;
140 UInt_t GetDeadRowAt(UInt_t index) const;
b696414b 141 UInt_t GetNrNoisy() const;
478d804c 142 UInt_t GetNoisyEqIdAt(UInt_t index) const;
143 UInt_t GetNoisyHSAt(UInt_t index) const;
144 UInt_t GetNoisyChipAt(UInt_t index) const;
145 UInt_t GetNoisyColAt(UInt_t index) const;
146 UInt_t GetNoisyRowAt(UInt_t index) const;
6727e2db 147
478d804c 148
149 UInt_t GetNrBad(UInt_t module) const; // bad = silent or noisy
b696414b 150 UInt_t GetNrSilent(UInt_t module) const; // silent = dead or inactive
6727e2db 151 UInt_t GetNrDead(UInt_t module) const;
9806b6f8 152 UInt_t GetNrSparseDead(UInt_t module) const;
bb292d31 153 UInt_t GetNrDeadSingle(UInt_t module) const;
478d804c 154 UInt_t GetDeadEqIdAt(UInt_t module,UInt_t index) const;
155 UInt_t GetDeadHSAt(UInt_t module,UInt_t index) const;
156 UInt_t GetDeadChipAt(UInt_t module,UInt_t index) const;
157 UInt_t GetDeadColAt(UInt_t module,UInt_t index) const;
158 UInt_t GetDeadRowAt(UInt_t module,UInt_t index) const;
b696414b 159 UInt_t GetNrNoisy(UInt_t module) const;
bb292d31 160 UInt_t GetNrNoisySingle(UInt_t module) const;
478d804c 161 UInt_t GetNoisyEqIdAt(UInt_t module, UInt_t index) const;
162 UInt_t GetNoisyHSAt(UInt_t module, UInt_t index) const;
163 UInt_t GetNoisyChipAt(UInt_t module, UInt_t index) const;
164 UInt_t GetNoisyColAt(UInt_t module, UInt_t index) const;
165 UInt_t GetNoisyRowAt(UInt_t module, UInt_t index) const;
53ae21ce 166
478d804c 167 UInt_t GetNrBadEq(UInt_t eq) const; // bad = silent or noisy
b696414b 168 UInt_t GetNrSilentEq(UInt_t eq) const; // silent = dead or inactive
6727e2db 169 UInt_t GetNrDeadEq(UInt_t eq) const;
9806b6f8 170 UInt_t GetNrSparseDeadEq(UInt_t eq) const;
6727e2db 171 UInt_t GetDeadEqIdAtEq(UInt_t eq, UInt_t index) const;
478d804c 172 UInt_t GetDeadHSAtEq(UInt_t eq, UInt_t index) const;
173 UInt_t GetDeadChipAtEq(UInt_t eq, UInt_t index) const;
174 UInt_t GetDeadColAtEq(UInt_t eq, UInt_t index) const;
175 UInt_t GetDeadRowAtEq(UInt_t eq, UInt_t index) const;
b696414b 176 UInt_t GetNrNoisyEq(UInt_t eq) const;
177 UInt_t GetNoisyEqIdAtEq(UInt_t eq, UInt_t index) const;
478d804c 178 UInt_t GetNoisyHSAtEq(UInt_t eq, UInt_t index) const;
179 UInt_t GetNoisyChipAtEq(UInt_t eq, UInt_t index) const;
180 UInt_t GetNoisyColAtEq(UInt_t eq, UInt_t index) const;
181 UInt_t GetNoisyRowAtEq(UInt_t eq, UInt_t index) const;
6727e2db 182
478d804c 183 UInt_t GetNrBadC(UInt_t eq, UInt_t hs, UInt_t chip) const; // bad = silent or noisy
b696414b 184 UInt_t GetNrSilentC(UInt_t eq, UInt_t hs, UInt_t chip) const; // silent = dead or inactive
6727e2db 185 UInt_t GetNrDeadC(UInt_t eq, UInt_t hs, UInt_t chip) const;
9806b6f8 186 UInt_t GetNrSparseDeadC(UInt_t eq, UInt_t hs, UInt_t chip) const;
6727e2db 187 UInt_t GetDeadEqIdAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
6727e2db 188 UInt_t GetDeadHSAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
6727e2db 189 UInt_t GetDeadChipAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
6727e2db 190 UInt_t GetDeadColAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
6727e2db 191 UInt_t GetDeadRowAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
b696414b 192 UInt_t GetNrNoisyC(UInt_t eq, UInt_t hs, UInt_t chip) const;
193 UInt_t GetNoisyEqIdAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
194 UInt_t GetNoisyHSAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
195 UInt_t GetNoisyChipAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
196 UInt_t GetNoisyColAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
6727e2db 197 UInt_t GetNoisyRowAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
198
199 const Char_t* GetDeadPixelAsTextC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
200 const Char_t* GetNoisyPixelAsTextC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const;
201
478d804c 202 void ActivateALL();
203 void ActivateEq(UInt_t eq, Bool_t setval = kTRUE);
204 void ActivateHS(UInt_t eq, UInt_t hs, Bool_t setval = kTRUE);
205 void ActivateChip(UInt_t eq, UInt_t hs, UInt_t chip, Bool_t setval = kTRUE);
206
207 void UnSetDeadALL();
208 void SetDeadEq(UInt_t eq, Bool_t setval = kTRUE);
209 void SetDeadHS(UInt_t eq, UInt_t hs, Bool_t setval = kTRUE);
210 void SetDeadChip(UInt_t eq, UInt_t hs, UInt_t chip, Bool_t setval = kTRUE);
211
212 Bool_t IsActiveEq(UInt_t eq) const;
213 Bool_t IsActiveHS(UInt_t eq, UInt_t hs) const;
214 Bool_t IsActiveChip(UInt_t eq, UInt_t hs, UInt_t chip) const;
215
216 Bool_t IsDeadEq(UInt_t eq) const;
217 Bool_t IsDeadHS(UInt_t eq, UInt_t hs) const;
218 Bool_t IsDeadChip(UInt_t eq, UInt_t hs, UInt_t chip) const;
b696414b 219
478d804c 220 Bool_t IsSilentEq(UInt_t eq) const;
221 Bool_t IsSilentHS(UInt_t eq, UInt_t hs) const;
222 Bool_t IsSilentChip(UInt_t eq, UInt_t hs, UInt_t chip) const;
b696414b 223
c53f028c 224 Bool_t IsNoisyChip(UInt_t eq, UInt_t hs, UInt_t chip) const;
b696414b 225
226 UInt_t AddSilentFrom(AliITSOnlineCalibrationSPDhandler* other);
416d7e17 227 UInt_t AddDeadFrom(const AliITSOnlineCalibrationSPDhandler* other);
228 UInt_t AddNoisyFrom(const AliITSOnlineCalibrationSPDhandler* other);
b15de2d2 229
53ae21ce 230 UInt_t GetNrDiff(AliITSOnlineCalibrationSPDhandler* other) const;
b696414b 231 UInt_t GetNrSilentDiff(AliITSOnlineCalibrationSPDhandler* other) const;
416d7e17 232 UInt_t GetNrDeadDiff(const AliITSOnlineCalibrationSPDhandler* other) const;
233 UInt_t GetNrNoisyDiff(const AliITSOnlineCalibrationSPDhandler* other) const;
234 AliITSOnlineCalibrationSPDhandler* GetDiff(const AliITSOnlineCalibrationSPDhandler* other) const;
235 AliITSOnlineCalibrationSPDhandler* GetSilentDiff(const AliITSOnlineCalibrationSPDhandler* other) const;
236 AliITSOnlineCalibrationSPDhandler* GetDeadDiff(const AliITSOnlineCalibrationSPDhandler* other) const;
237 AliITSOnlineCalibrationSPDhandler* GetNoisyDiff(const AliITSOnlineCalibrationSPDhandler* other) const;
ed041840 238 AliITSTriggerConditions * GetTriggerConditions() const {return fTriggerConditions;}
53ae21ce 239
82dc7949 240 void PrintDiffInDead(AliITSOnlineCalibrationSPDhandler *other) const;
241 void PrintDiffInPITmask(AliITSOnlineCalibrationSPDhandler *other) const;
242
b15de2d2 243 private:
6727e2db 244 TString fFileLocation; // location (dir) of files to read and write from
245 AliITSIntMap* fDeadPixelMap[1200]; // lists of dead pixels for each chip
9806b6f8 246 AliITSIntMap* fSparseDeadPixelMap[1200]; // lists of dead pixels for each chip (used to define sparse dead pixel on LHC period basis)
6727e2db 247 AliITSIntMap* fNoisyPixelMap[1200]; // lists of noisy pixels for each chip
248 UInt_t fNrDead[1200]; // nr of dead pixels for each chip
9806b6f8 249 UInt_t fNrSparseDead[1200]; // nr of sparse dead pixels for each chip
6727e2db 250 UInt_t fNrNoisy[1200]; // nr of noisy pixels for each chip
b696414b 251 Bool_t fActiveEq[20]; // active bit for each equipment
252 Bool_t fActiveHS[20][6]; // active bit for each half-stave
253 Bool_t fActiveChip[20][6][10]; // active bit for each chip
478d804c 254 Bool_t fDeadEq[20]; // dead bit for each equipment
255 Bool_t fDeadHS[20][6]; // dead bit for each half-stave
256 Bool_t fDeadChip[20][6][10]; // dead bit for each chip
66133c2f 257 AliITSTriggerConditions *fTriggerConditions; // PIT conditions (mask, parameters name, parameters values)
258
b696414b 259
6727e2db 260 Int_t GetKey(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
261 {return eq*6*10*32*256 + hs*10*32*256 + chip*32*256 + col*256 + row;}
53ae21ce 262 UInt_t GetEqIdFromKey(Int_t key) const
263 {return key/(6*10*32*256);}
264 UInt_t GetHSFromKey(Int_t key) const
265 {return (key%(6*10*32*256))/(10*32*256);}
266 UInt_t GetChipFromKey(Int_t key) const
267 {return ((key%(6*10*32*256))%(10*32*256))/(32*256);}
268 UInt_t GetColFromKey(Int_t key) const
269 {return (((key%(6*10*32*256))%(10*32*256))%(32*256))/256;}
270 UInt_t GetRowFromKey(Int_t key) const
271 {return (((key%(6*10*32*256))%(10*32*256))%(32*256))%256;}
272 UInt_t GetModuleFromKey(Int_t key) const
6727e2db 273 {return AliITSRawStreamSPD::GetOfflineModuleFromOnline(GetEqIdFromKey(key),GetHSFromKey(key),GetChipFromKey(key));}
53ae21ce 274 UInt_t GetColMFromKey(Int_t key) const
6727e2db 275 {return AliITSRawStreamSPD::GetOfflineColFromOnline(GetEqIdFromKey(key),GetHSFromKey(key),GetChipFromKey(key),GetColFromKey(key));}
276 UInt_t GetRowMFromKey(Int_t key) const
277 {return AliITSRawStreamSPD::GetOfflineRowFromOnline(GetEqIdFromKey(key),GetHSFromKey(key),GetChipFromKey(key),GetRowFromKey(key));}
278
b696414b 279 UInt_t GetGloChip(UInt_t eq, UInt_t hs, UInt_t chip) const {return eq*60 + hs*10 + chip;}
280 UInt_t GetEqGlo(UInt_t gloChip) const {return gloChip/60;}
281 UInt_t GetHSGlo(UInt_t gloChip) const {return (gloChip%60)/10;}
282 UInt_t GetChipGlo(UInt_t gloChip) const {return (gloChip%60)%10;}
6727e2db 283
478d804c 284 void GetChipAndIndexDead(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const;
285 void GetChipAndIndexNoisy(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const;
286 void GetChipAndIndexEqDead(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const;
287 void GetChipAndIndexEqNoisy(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const;
288 void GetChipAndIndexTotDead(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const;
289 void GetChipAndIndexTotNoisy(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const;
6727e2db 290
291 UInt_t GetEqIdFromOffline(UInt_t module) const;
292 UInt_t GetHSFromOffline(UInt_t module) const;
293 UInt_t GetChipFromOffline(UInt_t module, UInt_t colM) const;
294 UInt_t GetColFromOffline(UInt_t module, UInt_t colM) const;
295 UInt_t GetRowFromOffline(UInt_t module, UInt_t rowM) const;
296
297 void RecursiveInsertDead(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd);
9806b6f8 298 void RecursiveInsertSparseDead(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd);
6727e2db 299 void RecursiveInsertNoisy(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd);
300
301 UInt_t GetNrDeadC2(UInt_t gloChip) const;
9806b6f8 302 UInt_t GetNrSparseDeadC2(UInt_t gloChip) const;
6727e2db 303 UInt_t GetDeadEqIdAtC2(UInt_t gloChip, UInt_t index) const;
6727e2db 304 UInt_t GetDeadHSAtC2(UInt_t gloChip, UInt_t index) const;
6727e2db 305 UInt_t GetDeadChipAtC2(UInt_t gloChip, UInt_t index) const;
6727e2db 306 UInt_t GetDeadColAtC2(UInt_t gloChip, UInt_t index) const;
6727e2db 307 UInt_t GetDeadRowAtC2(UInt_t gloChip, UInt_t index) const;
b696414b 308 UInt_t GetNrNoisyC2(UInt_t gloChip) const;
309 UInt_t GetNoisyEqIdAtC2(UInt_t gloChip, UInt_t index) const;
310 UInt_t GetNoisyHSAtC2(UInt_t gloChip, UInt_t index) const;
311 UInt_t GetNoisyChipAtC2(UInt_t gloChip, UInt_t index) const;
312 UInt_t GetNoisyColAtC2(UInt_t gloChip, UInt_t index) const;
6727e2db 313 UInt_t GetNoisyRowAtC2(UInt_t gloChip, UInt_t index) const;
b15de2d2 314
315};
316
317#endif