]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFPreprocessor.cxx
Coverity fix.
[u/mrichter/AliRoot.git] / TOF / AliTOFPreprocessor.cxx
index 5f62f0a691bd959f2d77209ed88ac61810b1a3c6..99cb61ed2da4ef39fb8fb717e702f5e92d20debd 100644 (file)
@@ -169,8 +169,6 @@ UInt_t AliTOFPreprocessor::ProcessDCSDataPoints(TMap *dcsAliasMap)
 
   // processing DCS
 
-  fData->SetFDRFlag(fFDRFlag);
-  
   if (!dcsAliasMap){
     Log("No DCS map found: TOF exiting from Shuttle");
     if (fData){
@@ -181,7 +179,9 @@ UInt_t AliTOFPreprocessor::ProcessDCSDataPoints(TMap *dcsAliasMap)
   }
   else {
 
-  // The processing of the DCS input data is forwarded to AliTOFDataDCS
+    fData->SetFDRFlag(fFDRFlag);
+  
+    // The processing of the DCS input data is forwarded to AliTOFDataDCS
     resultDCSMap=fData->ProcessData(*dcsAliasMap);
     if(!resultDCSMap){
       Log("Some problems occurred while processing DCS data, TOF exiting from Shuttle");
@@ -236,8 +236,6 @@ UInt_t AliTOFPreprocessor::ProcessHVandLVdps(TMap *dcsAliasMap)
 
   // processing DCS HV and LV data points
 
-  fHVLVmaps->SetFDRFlag(fFDRFlag);
-  
   if (!dcsAliasMap){
     Log("No DCS map found: TOF exiting from Shuttle");
     if (fHVLVmaps){
@@ -248,6 +246,8 @@ UInt_t AliTOFPreprocessor::ProcessHVandLVdps(TMap *dcsAliasMap)
   }
   else {
 
+    fHVLVmaps->SetFDRFlag(fFDRFlag);
+  
     // The processing of the DCS input data is forwarded to AliTOFDataDCS
     //if (0) { // AdC
     resultDCSMap = fHVLVmaps->ProcessData(*dcsAliasMap);
@@ -506,6 +506,10 @@ UInt_t AliTOFPreprocessor::ProcessOnlineDelays()
                          list->Print();
                          for (Int_t jj=0;jj<list->GetEntries();jj++){
                                  TObjString * str = dynamic_cast<TObjString*> (list->At(jj));
+                                 if (!str) {
+                                   AliError("dynamic_cast returned NULL");
+                                   return 4;
+                                 }
                                  AliInfo(Form("found source %s", str->String().Data()));
                                  // file to be stored run per run
                                  TString fileNameRun = GetFile(kDAQ, "RUNLevel", str->GetName());
@@ -558,7 +562,11 @@ UInt_t AliTOFPreprocessor::ProcessOnlineDelays()
                  AliInfo("The following sources produced files with the id DELAYS");
                  listTot->Print();
                  for (Int_t jj=0;jj<listTot->GetEntries();jj++){
-                         TObjString * str = dynamic_cast<TObjString*> (listTot->At(jj));
+                   TObjString * str = dynamic_cast<TObjString*> (listTot->At(jj));
+                   if (!str) {
+                     AliError("dynamic_cast returned NULL");
+                                   return 4;
+                         }
                          AliInfo(Form("found source %s", str->String().Data()));
                          
                          // file with summed histos, to extract calib params
@@ -746,6 +754,21 @@ AliTOFPreprocessor::ProcessT0Fill()
   /* get params from OCDB */
   AliCDBEntry *cdbe = NULL;
 
+  /*
+   * check UseLHCClockPhase flag in RunParams.
+   * if set do nothing and return successfully
+   */
+  cdbe = GetFromOCDB("Calib", "RunParams");
+  if (!cdbe) {
+    Log("cannot get \"RunParams\" entry from OCDB");
+    return 21;
+  }
+  AliTOFRunParams *runparams = (AliTOFRunParams *)cdbe->GetObject();
+  if (runparams->GetUseLHCClockPhase()) {
+    Log("UseLHCClockPhase flag is set in RunParams: online T0-fill not computed");
+    return 0;
+  }
+
   /* 
    * at this stage status object is not on OCDB yet
    * since it will be stored later. nevertheless we
@@ -927,6 +950,11 @@ AliTOFPreprocessor::ProcessT0Fill()
     sigma = 200.;
   }
 
+  /* scratch values from the fit and use max bin center as t0-fill */
+  mean = maxBinCenter;
+  sigma = -1.;
+  Log(Form("do not care about fitted value, just use max bin as t0-fill: %f ps", mean));
+
   /* create RunParams object */
   UInt_t timestamp[1] = {0};
   Float_t t0[1] = {mean};
@@ -937,6 +965,7 @@ AliTOFPreprocessor::ProcessT0Fill()
   runParamsObject->SetT0(t0);
   runParamsObject->SetTOFResolution(tofReso);
   runParamsObject->SetT0Spread(t0Spread);
+  runParamsObject->SetUseLHCClockPhase(kFALSE);
 
   /* store reference data */
   if(fStoreRefData){
@@ -1253,6 +1282,10 @@ UInt_t AliTOFPreprocessor::ProcessPulserData()
                  for (Int_t jj=0;jj<listPulser->GetEntries();jj++){
                          Int_t nPulserSource = 0;
                          TObjString * str = dynamic_cast<TObjString*> (listPulser->At(jj));
+                         if (!str) {
+                           AliError("dynamic_cast returned NULL");
+                           return 4;
+                         }
                          AliInfo(Form("found source %s", str->String().Data()));
                          // file to be stored run per run
                          TString fileNamePulser = GetFile(kDAQ, "PULSER", str->GetName());
@@ -1381,9 +1414,7 @@ UInt_t AliTOFPreprocessor::ProcessPulserData()
     AliCDBMetaData metaDataHisto;
     metaDataHisto.SetBeamPeriod(0);
     metaDataHisto.SetResponsible("Chiara Zampolli");
-    char comment[200];
-    sprintf(comment,"This preprocessor stores the Ref data from a pulser run.");
-    metaDataHisto.SetComment(comment);
+    metaDataHisto.SetComment("This preprocessor stores the Ref data from a pulser run.");
     AliInfo("Storing Reference Data");
     resultPulserRef = StoreReferenceData("Calib","PulserData",htofPulser, &metaDataHisto);
     if (!resultPulserRef){
@@ -1483,6 +1514,10 @@ UInt_t AliTOFPreprocessor::ProcessNoiseData()
                  for (Int_t jj=0;jj<listNoise->GetEntries();jj++){
                          Int_t nNoiseSource = 0;
                          TObjString * str = dynamic_cast<TObjString*> (listNoise->At(jj));
+                         if (!str) {
+                           AliError("dynamic_cast returned NULL");
+                           return 4;
+                         }
                          AliInfo(Form("found source %s", str->String().Data()));
                          // file to be stored run per run
                          TString fileNameNoise = GetFile(kDAQ, "NOISE", str->GetName());
@@ -1622,9 +1657,7 @@ UInt_t AliTOFPreprocessor::ProcessNoiseData()
     AliCDBMetaData metaDataHisto;
     metaDataHisto.SetBeamPeriod(0);
     metaDataHisto.SetResponsible("Chiara Zampolli");
-    char comment[200];
-    sprintf(comment,"This preprocessor stores the Ref data from a noise run. ");
-    metaDataHisto.SetComment(comment);
+    metaDataHisto.SetComment("This preprocessor stores the Ref data from a noise run. ");
     AliInfo("Storing Reference Data");
     resultNoiseRef = StoreReferenceData("Calib","NoiseData",htofNoise, &metaDataHisto);
     if (!resultNoiseRef){
@@ -1910,6 +1943,7 @@ AliTOFPreprocessor::FillWithCableLengthMap(AliTOFChannelOnlineArray *cal)
            
            /* get channel index */
            index = AliTOFGeometry::GetIndex(det);
+           if (index < 0) continue;
            
            /* get cable time shift */
            cableTimeShift = AliTOFCableLengthMap::GetCableTimeShift(iddl, islot, ichain, itdc);