]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/ITSSPDSCANda.cxx
Update for Ds
[u/mrichter/AliRoot.git] / ITS / ITSSPDSCANda.cxx
index 711e8790bfd9049f8e114ccbd4584902dd371420..a57286a72d393ac41cea14cd4f3bd13b7d5e24b3 100644 (file)
@@ -1,7 +1,7 @@
 /*
 Contact: henrik.tydesjo@cern.ch
 Link: tydes.home.cern.ch/tydes/doc/CalibrationOverview/CalibrationAlgorithms/
-Run Type: DAQ_MIN_TH_SCAN,DAQ_MEAN_TH_SCAN,DAQ_UNIFORMITY_SCAN,DAQ_NOISY_PIX_SCAN,DAQ_PIX_DELAY_SCAN,DAQ_FO_UNIF_SCAN
+Run Type: DAQ_MIN_TH_SCAN,DAQ_MEAN_TH_SCAN,DAQ_UNIFORMITY_SCAN,DAQ_NOISY_PIX_SCAN,DAQ_PIX_DELAY_SCAN
 DA Type: LDC
 Number of events needed: Depending on scan type
 Input Files: spd_standal_params,spd_perm_noisy ,  ./calibResults/ScanNoisy/* ,  raw data
@@ -43,6 +43,7 @@ extern "C" {
 #include <TROOT.h>
 #include <TPluginManager.h>
 #include <TObjArray.h>
+#include <TObjString.h>
 #include <TString.h>
 #include <TFitter.h>
 
@@ -84,8 +85,9 @@ int main(int argc, char **argv) {
                                        "TStreamerInfo()");
 
   // turn off annoying warning messages
-  new AliLog;
-  AliLog::Instance()->SetGlobalDebugLevel(-20);
+  // NB: Should not be handled here
+  AliLog* logger = AliLog::GetRootLogger();
+  logger->SetGlobalDebugLevel(-20);
 
   // calib scan types
   enum calib_types{MINTH,MEANTH,DAC,UNIMA,NOISE,DELAY};
@@ -103,6 +105,8 @@ int main(int argc, char **argv) {
   status=daqDA_DB_getFile(idp.Data(),paramsFileName.Data());
   if (status) {
     printf("Failed to get config file %s: status=%d. Using default tuning parameters.\n",idp.Data(),status);
+    TString rmCmd = Form("rm -f %s",paramsFileName.Data());
+    system(rmCmd.Data());
   }
 #endif
   if (status==0) {
@@ -118,10 +122,8 @@ int main(int argc, char **argv) {
        paramsFile >> paramN;
        if (paramsFile.eof()) break;
        paramsFile >> paramV;
-       TString* paramNS = new TString(paramN);
-       TString* paramVS = new TString(paramV);
-       paramNames.AddAtAndExpand((TObject*)paramNS,nrTuningParams);
-       paramVals.AddAtAndExpand((TObject*)paramVS,nrTuningParams);
+       paramNames.AddAtAndExpand(new TObjString(paramN),nrTuningParams);
+       paramVals.AddAtAndExpand(new TObjString(paramV),nrTuningParams);
        nrTuningParams++;
        if (paramsFile.eof()) break;
       }
@@ -129,7 +131,8 @@ int main(int argc, char **argv) {
     }
   }
   //  for (UInt_t i=0; i<nrTuningParams; i++) {
-  //    printf("Entry %d: N=%s , V=%s\n",i,((TString*)paramNames.At(i))->Data(),((TString*)paramVals.At(i))->Data());
+  //  //    printf("Entry %d: N=%s , V=%s\n",i,((TString*)paramNames.At(i))->Data(),((TString*)paramVals.At(i))->Data());
+  //    printf("Entry %d: N=%s , V=%s\n",i,((TObjString*)paramNames.At(i))->GetString().Data(),((TObjString*)paramVals.At(i))->GetString().Data());
   //  }
 
   // perm noisy list:
@@ -139,6 +142,8 @@ int main(int argc, char **argv) {
   permstatus=daqDA_DB_getFile(idn.Data(),permNoisyFileName.Data());
   if (permstatus) {
     printf("Failed to get config file %s: status=%d. No permanently noisy pixels will be added.\n",idn.Data(),permstatus);
+    TString rmCmd = Form("rm -f %s",permNoisyFileName.Data());
+    system(rmCmd.Data());
   }
 #endif
 
@@ -280,14 +285,16 @@ int main(int argc, char **argv) {
            rowStart[eqId]    = str->GetHrowStart();
            rowEnd[eqId]      = str->GetHrowEnd();
            rowValue[eqId]    = str->GetHrowValue();
-           dacValue[eqId]    = str->GetHdacValue();
+           dacValue[eqId]    = str->GetHdacValue(); // this will change below for MEANTH scan
+
            for (UInt_t hs=0; hs<6; hs++) {
              halfStaveScanned[eqId][hs] = str->GetHhalfStaveScanned(hs);
              dacHigh[eqId][hs]          = str->GetHdacHigh(hs);
              dacLow[eqId][hs]           = str->GetHdacLow(hs);
              TPAmp[eqId][hs]            = str->GetHTPAmp(hs);
              for (UInt_t chip=0; chip<10; chip++) {
-               chipPresent[eqId][hs][chip]      = str->GetHchipPresent(hs,chip);
+               chipPresent[eqId][hs][chip] = str->GetHchipPresent(hs,chip);
+               if (type[eqId]==MEANTH && chipPresent[eqId][hs][chip]) dacValue[eqId] = str->GetHdacLow(hs);
              }
            }
            for (UInt_t chip=0; chip<10; chip++) {
@@ -346,19 +353,9 @@ int main(int argc, char **argv) {
              }
              scanObj[eqId]->SetType(type[eqId]);
              scanObj[eqId]->SetDataFormat(dataFormat[eqId]);
-             for (Int_t hs=0; hs<6; hs++) {
-             
-               // remove later when the chip present is set correctly !!!!!!!!!!!!!!!!!!!!!!!!!!!
-               Bool_t halfStavePresent = str->GetHalfStavePresent(hs);
-               // remove later when the chip present is set correctly !!!!!!!!!!!!!!!!!!!!!!!!!!!
-
+             for (Int_t hs=0; hs<6; hs++) {          
                for (UInt_t chip=0; chip<10; chip++) {
                  scanObj[eqId]->SetChipPresent(hs,chip,chipPresent[eqId][hs][chip]);
-
-                 // remove later when the chip present is set correctly !!!!!!!!!!!!!!!!!!!!!!!!!!!
-                 if (halfStavePresent) scanObj[eqId]->SetChipPresent(hs,chip,kTRUE);
-                 // remove later when the chip present is set correctly !!!!!!!!!!!!!!!!!!!!!!!!!!!
-
                }
              }
              scanObj[eqId]->SetRowStart(rowStart[eqId]);
@@ -496,7 +493,7 @@ int main(int argc, char **argv) {
 
     // configure analyzer with tuning parameters etc:
     for (UInt_t i=0; i<nrTuningParams; i++) {
-      analyzer->SetParam(((TString*)paramNames.At(i))->Data(),((TString*)paramVals.At(i))->Data());
+      analyzer->SetParam(((TObjString*)paramNames.At(i))->GetString().Data(),((TObjString*)paramVals.At(i))->GetString().Data());
     }
 
     UInt_t type  = analyzer->GetType();
@@ -726,4 +723,4 @@ int main(int argc, char **argv) {
   printf("DA finished.\n");
 
   return 0;
-}
\ No newline at end of file
+}