Corrected GetCalibData. The default storage element is used instead of the local...
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 8 Aug 2006 09:17:38 +0000 (09:17 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 8 Aug 2006 09:17:38 +0000 (09:17 +0000)
VZERO/AliVZERODigitizer.cxx
VZERO/AliVZEROReconstructor.cxx

index dce7a18..37d05a1 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;
 
 }
 
index 41169f2..d06422a 100644 (file)
@@ -86,10 +86,28 @@ AliVZEROCalibData* AliVZEROReconstructor::GetCalibData() const
 
   // Getting calibration object for VZERO set
 
-  AliCDBEntry  *entry = AliCDBManager::Instance()->Get("VZERO/Calib/Data");
-  AliVZEROCalibData *calibdata = (AliVZEROCalibData*) entry->GetObject();
+  AliCDBManager *man = AliCDBManager::Instance();
 
-  if (!calibdata)  AliWarning("No calibration data from calibration database !");
+  AliCDBEntry *entry=0;
+
+  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:
+
+
+  AliVZEROCalibData *calibdata = 0;
+
+  if (entry) calibdata = (AliVZEROCalibData*) entry->GetObject();
+  if (!calibdata)  AliError("No calibration data from calibration database !");
 
   return calibdata;
 }