+ // create calibration handler (needed already at step 1 in order to fill which eq,hs,chips are active
+ AliITSOnlineCalibrationSPDhandler* handler = new AliITSOnlineCalibrationSPDhandler();
+
+ // Read silent=dead+inactive info from previous calibrations
+#ifndef SPD_DA_OFF
+ for (UInt_t eq=0; eq<20; eq++) {
+ Int_t getPreviousDead_status = 0;
+ TString idpd = Form("spd_previous_dead_%d",eq);
+ TString fileName = Form("%s/SPD_Dead_%d.root",saveDirDead,eq);
+ getPreviousDead_status = daqDA_DB_getFile(idpd.Data(),fileName.Data());
+ // printf("daqDA_DB_getFile(%s,%s)\n",idpd.Data(),fileName.Data());
+ if (getPreviousDead_status) {
+ printf("SPD DA: Failed to get dead file %s: status=%d. Dead search will start from zero for this eq.\n",idpd.Data(),getPreviousDead_status);
+ TString rmCmd = Form("rm -f %s",fileName.Data());
+ system(rmCmd.Data());
+ }
+ }
+#endif
+ handler->SetFileLocation(saveDirDead);
+ handler->ReadSilentFromFiles();
+ printf("SPD DA: Number of single dead pixels from previous runs: %d\n",handler->GetNrDead());
+
+ // Read hit-maps from previous runs
+#ifndef SPD_DA_OFF
+ for (UInt_t eq=0; eq<20; eq++) {
+ Int_t getPreviousHitmap_status = 0;
+ TString idph = Form("spd_previous_hitmap_%d",eq);
+ TString fileName = Form("%s/SPDphys_dead_run_0_0_eq_%d.root",saveDirDeadRefTmp,eq);
+ getPreviousHitmap_status = daqDA_DB_getFile(idph.Data(),fileName.Data());
+ // printf("daqDA_DB_getFile(%s,%s)\n",idph.Data(),fileName.Data());
+ if (getPreviousHitmap_status) {
+ printf("SPD DA: Failed to get previous hitmap file %s: status=%d. Dead search will start with empty hitmap for this eq.\n",idph.Data(),getPreviousHitmap_status);
+ TString rmCmd = Form("rm -f %s",fileName.Data());
+ system(rmCmd.Data());
+ }
+ }
+#endif
+
+
+
+