Corrected GetCalibData. The default storage element is used instead of the local...
[u/mrichter/AliRoot.git] / VZERO / AliVZERODigitizer.cxx
index dce7a1863d3d75cfcd555f6e91edd5b44cb7b550..37d05a1f9442054a6b2e9808f153fd8abce533ec 100644 (file)
@@ -235,23 +235,30 @@ void AliVZERODigitizer::ResetDigit()
 AliVZEROCalibData* AliVZERODigitizer::GetCalibData() const
 
 {
-AliCDBManager *man = AliCDBManager::Instance();
+  AliCDBManager *man = AliCDBManager::Instance();
 
-AliCDBStorage *storLoc;
-storLoc = man->GetStorage("local://$ALICE_ROOT");
+  AliCDBEntry *entry=0;
 
-// Retrieval of data in directory VZERO/Calib/Data:
+  entry = man->Get("VZERO/Calib/Data");
+
+  if(!entry){
+    AliWarning("Load of calibration data from default storage failed!");
+    AliWarning("Calibration data will be loaded from local storage ($ALICE_ROOT)");
+    Int_t runNumber = man->GetRun();
+    entry = man->GetStorage("local://$ALICE_ROOT")
+      ->Get("VZERO/Calib/Data",runNumber);
+       
+  }
+
+  // Retrieval of data in directory VZERO/Calib/Data:
 
-AliCDBEntry *entry=0;
-entry = storLoc->Get("VZERO/Calib/Data",1);
 
-AliVZEROCalibData *calibdata = 0;
+  AliVZEROCalibData *calibdata = 0;
 
-if (entry) calibdata = (AliVZEROCalibData*) entry->GetObject();
-if (!calibdata)  AliError("No calibration data from calibration database !");
+  if (entry) calibdata = (AliVZEROCalibData*) entry->GetObject();
+  if (!calibdata)  AliError("No calibration data from calibration database !");
 
-return calibdata;
-delete entry;
+  return calibdata;
 
 }