TObjArray* deadArrSPD = (TObjArray*)spdEntryD->GetObject();
if (!deadArrSPD) AliFatal("No object found in SPDDead file");
+ AliCDBEntry* spdEntrySparseD = cdb->Get("ITS/Calib/SPDSparseDead");
+ if (!spdEntrySparseD) AliFatal("Cannot get CDB entry for SPDSparseDead");
+ TObjArray* deadSparseArrSPD = (TObjArray*)spdEntrySparseD->GetObject();
+ if (!deadSparseArrSPD) AliFatal("No object found in SPDSparseDead file");
+
AliCDBEntry* spdEntryN = cdb->Get("ITS/Calib/SPDNoisy");
if (!spdEntryN) AliFatal("Cannot get CDB entry for SPDNoisy");
TObjArray* noisArrSPD = (TObjArray*)spdEntryN->GetObject();
fSDDChannelStatus=new TBits(nSDDchan);
UInt_t nSSDchan=kSSDModules*kSSDStripsPerModule;
fSSDChannelStatus=new TBits(nSSDchan);
- InitFromOCDB(deadArrSPD,noisArrSPD,calArrSDD,calArrSSD);
+ InitFromOCDB(deadArrSPD,deadSparseArrSPD,noisArrSPD,calArrSDD,calArrSSD);
}
//______________________________________________________________________
AliITSChannelStatus::AliITSChannelStatus(const AliITSDetTypeRec *dtrec):
Int_t index=imod*kSPDNpxPerModule*kSPDNpzPerModule+ix*kSPDNpzPerModule+iz;
fSPDChannelStatus->SetBitNumber(index,kFALSE);
}
+
+ // Mask SPD sparse dead pixels
+ AliITSCalibrationSPD* deadSparseSpd=(AliITSCalibrationSPD*)dtrec->GetSPDSparseDeadModel(imod);
+ for(Int_t ipix=0; ipix<deadSparseSpd->GetNrBad();ipix++){
+ deadSparseSpd->GetBadPixel(ipix,ix,iz);
+ Int_t index=imod*kSPDNpxPerModule*kSPDNpzPerModule+ix*kSPDNpzPerModule+iz;
+ fSPDChannelStatus->SetBitNumber(index,kFALSE);
+ }
+
// Mask SPD noisy pixels
AliITSCalibrationSPD* noisspd=(AliITSCalibrationSPD*)dtrec->GetCalibrationModel(imod);
for(Int_t ipix=0; ipix<noisspd->GetNrBad();ipix++){
}
}
//______________________________________________________________________
-void AliITSChannelStatus::InitFromOCDB(TObjArray* deadArrSPD, TObjArray* noisArrSPD, TObjArray* calArrSDD, TObjArray *calArrSSD){
+void AliITSChannelStatus::InitFromOCDB(TObjArray* deadArrSPD, TObjArray* /* deadSparseArrSPD */, TObjArray* noisArrSPD, TObjArray* calArrSDD, TObjArray *calArrSSD){
// fills bitmaps from arrays of AliITSCalibrationSXD objects
// SPD modules
Int_t index=imod*kSPDNpxPerModule*kSPDNpzPerModule+ix*kSPDNpzPerModule+iz;
fSPDChannelStatus->SetBitNumber(index,kFALSE);
}
+
+ // Mask SPD sparse dead pixels
+ AliITSCalibrationSPD* deadSparseSpd=(AliITSCalibrationSPD*)deadArrSPD->At(imod);
+ for(Int_t ipix=0; ipix<deadSparseSpd->GetNrBad();ipix++){
+ deadSparseSpd->GetBadPixel(ipix,ix,iz);
+ Int_t index=imod*kSPDNpxPerModule*kSPDNpzPerModule+ix*kSPDNpzPerModule+iz;
+ fSPDChannelStatus->SetBitNumber(index,kFALSE);
+ }
// Mask SPD noisy pixels
AliITSCalibrationSPD* noisspd=(AliITSCalibrationSPD*)noisArrSPD->At(imod);