Protection against missing DPs. Recently we got some runs where the RDB manager got...
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 4 Oct 2011 12:16:16 +0000 (12:16 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 4 Oct 2011 12:16:16 +0000 (12:16 +0000)
VZERO/AliVZERODataDCS.cxx
VZERO/AliVZERODataDCS.h
VZERO/AliVZEROPreprocessor.cxx

index b65b7ae..17a79f7 100644 (file)
@@ -103,9 +103,10 @@ AliVZERODataDCS::~AliVZERODataDCS() {
 }
 
 //_____________________________________________________________________________
-void AliVZERODataDCS::ProcessData(TMap& aliasMap){
+Bool_t AliVZERODataDCS::ProcessData(TMap& aliasMap){
 
   // method to process the data
+  Bool_t success = kTRUE;
 
   if(!(fAliasNames[0])) Init();
 
@@ -118,6 +119,7 @@ void AliVZERODataDCS::ProcessData(TMap& aliasMap){
     aliasArr = (TObjArray*) aliasMap.GetValue(fAliasNames[iAlias].Data());
     if(!aliasArr){
       AliError(Form("Alias %s not found!", fAliasNames[iAlias].Data()));
+      success = kFALSE;
       continue;
     }
 
@@ -172,6 +174,8 @@ void AliVZERODataDCS::ProcessData(TMap& aliasMap){
   }
   
   fIsProcessed=kTRUE;
+
+  return success;
 }
 
 //_____________________________________________________________________________
index 01fcca4..2592367 100644 (file)
@@ -38,7 +38,7 @@ public:
   Int_t GetDaqStartTime() const {return fDaqStartTime;}
   Int_t GetDaqEndTime() const {return fDaqEndTime;}
   
-  void ProcessData(TMap& aliasMap);
+  Bool_t ProcessData(TMap& aliasMap);
   
   const char* GetAliasName(Int_t pos) const 
     {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
index 23fbcf3..0299ca3 100644 (file)
@@ -99,7 +99,7 @@ UInt_t AliVZEROPreprocessor::Process(TMap* dcsAliasMap)
   if(!dcsAliasMap) return 1;
 
        // The Processing of the DCS input data is forwarded to AliVZERODataDCS
-       fData->ProcessData(*dcsAliasMap);
+  if (!fData->ProcessData(*dcsAliasMap)) return 1;
 
        // Writes VZERO PMs HV values into VZERO calibration object and Timing resolution parameters
        calibData->FillDCSData(fData);