#include "TTree.h"
#include "AliCDBManager.h"
+#include "AliCDBStorage.h"
#include "AliCDBEntry.h"
#include "AliITSClusterFinder.h"
#include "AliITSClusterFinderV2.h"
if(!entrySPD || !entrySDD || !entrySSD || !entry2SPD || !entry2SDD || !entry2SSD){
AliWarning("Calibration object retrieval failed! Dummy calibration will be used.");
- AliCDBStorage *origStorage = AliCDBManager::Instance()->GetDefaultStorage();
- AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
+ AliCDBStorage *localStor =
+ AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
- entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSPD", run);
- entrySDD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSDD", run);
- entrySSD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSSD", run);
- entry2SPD = AliCDBManager::Instance()->Get("ITS/Calib/RespSPD", run);
- entry2SDD = AliCDBManager::Instance()->Get("ITS/Calib/RespSDD", run);
- entry2SSD = AliCDBManager::Instance()->Get("ITS/Calib/RespSSD", run);
-
- AliCDBManager::Instance()->SetDefaultStorage(origStorage);
+ entrySPD = localStor->Get("ITS/Calib/CalibSPD", run);
+ entrySDD = localStor->Get("ITS/Calib/CalibSDD", run);
+ entrySSD = localStor->Get("ITS/Calib/CalibSSD", run);
+ entry2SPD = localStor->Get("ITS/Calib/RespSPD", run);
+ entry2SDD = localStor->Get("ITS/Calib/RespSDD", run);
+ entry2SSD = localStor->Get("ITS/Calib/RespSSD", run);
}
+ if(!entrySPD || !entrySDD || !entrySSD || !entry2SPD || !entry2SDD || !entry2SSD){
+ AliError("Calibration data was not found in $ALICE_ROOT!");
+ return kFALSE;
+ }
TObjArray *calSPD = (TObjArray *)entrySPD->GetObject();
if(!isCacheActive)entrySPD->SetObject(NULL);
AliCDBEntry *entry2SSD = AliCDBManager::Instance()->Get("ITS/Calib/RespSSD", run);
if(!entrySPD || !entrySDD || !entrySSD || !entry2SPD || !entry2SDD || !entry2SSD){
- AliWarning("Calibration object retrieval failed! Dummy calibration will be used.");
- AliCDBStorage *origStorage = AliCDBManager::Instance()->GetDefaultStorage();
- AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
-
- entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSPD", run);
- entrySDD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSDD", run);
- entrySSD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSSD", run);
- entry2SPD = AliCDBManager::Instance()->Get("ITS/Calib/RespSPD", run);
- entry2SDD = AliCDBManager::Instance()->Get("ITS/Calib/RespSDD", run);
- entry2SSD = AliCDBManager::Instance()->Get("ITS/Calib/RespSSD", run);
+ AliWarning("Calibration object retrieval failed! Dummy calibration will be used.");
+ AliCDBStorage *localStor =
+ AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
- AliCDBManager::Instance()->SetDefaultStorage(origStorage);
+ entrySPD = localStor->Get("ITS/Calib/CalibSPD", run);
+ entrySDD = localStor->Get("ITS/Calib/CalibSDD", run);
+ entrySSD = localStor->Get("ITS/Calib/CalibSSD", run);
+ entry2SPD = localStor->Get("ITS/Calib/RespSPD", run);
+ entry2SDD = localStor->Get("ITS/Calib/RespSDD", run);
+ entry2SSD = localStor->Get("ITS/Calib/RespSSD", run);
}
+ if(!entrySPD || !entrySDD || !entrySSD || !entry2SPD || !entry2SDD || !entry2SSD){
+ AliError("Calibration data was not found in $ALICE_ROOT!");
+ return kFALSE;
+ }
TObjArray *calSPD = (TObjArray *)entrySPD->GetObject();
if(!isCacheActive)entrySPD->SetObject(NULL);
/*
$Log$
+Revision 1.3 2006/04/12 08:32:31 hristov
+New SPD simulation (Massimo):
+- speeding up of the diffusion code (Bjorn)
+- creation of CDB file with the dead channels, implementation
+of the CDB reading, check of the code (Henrik, Giuseppe, Domenico)
+- final tuning of the diffusion model parameters (Romualdo)
+
Revision 1.2 2006/02/03 11:31:18 masera
Calibration framework improved (E. Crescio)
AliInfo("Storing bad channels");
- if(!AliCDBManager::Instance()->IsDefaultStorageSet()) {
- AliWarning("No storage set! Will use dummy one");
- AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
- }
-
-
AliCDBEntry *entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSPD", runNumber);
+
if(!entrySPD){
AliWarning("Calibration object retrieval failed! Dummy calibration will be used.");
- AliCDBStorage *origStorage = AliCDBManager::Instance()->GetDefaultStorage();
- AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
- entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSPD", runNumber);
- AliCDBManager::Instance()->SetDefaultStorage(origStorage);
+ AliCDBStorage *localStor = AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
+ entrySPD = localStor->Get("ITS/Calib/CalibSPD", runNumber);
+ if(!entrySPD){
+ AliFatal("Cannot find SPD calibration entry!");
+ return kFALSE;
+ }
}
TObjArray *respSPD = (TObjArray *)entrySPD->GetObject();
}
}
-
- AliCDBManager::Instance()->Put(entrySPD);
+
+ AliCDBStorage *storage = AliCDBManager::Instance()->GetDefaultStorage();
+ if(!storage) {
+ AliWarning("No default storage set! Will use dummy one");
+ storage = AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
+ if(!storage) AliFatal("Could not even set dummy storage! Something very strange is happening...");
+ }
+
+ status = storage->Put(entrySPD);
entrySPD->SetObject(NULL);
entrySPD->SetOwner(kTRUE);
delete entrySPD;
- status=kTRUE;
return status;
}
// none.
AliCDBManager* man = AliCDBManager::Instance();
- if(!man->IsDefaultStorageSet()) {
- man->SetDefaultStorage("local://$ALICE_ROOT");
- }
- AliCDBEntry *entrySPD = man->Get("ITS/Calib/CalibSPD", RunNr);
+
+ AliCDBEntry *entrySPD=0;
+ entrySPD = man->Get("ITS/Calib/CalibSPD", RunNr);
+
if(!entrySPD){
- AliWarning("Cannot find SPD calibration entry!");
- return;
+ AliWarning("Cannot find SPD calibration entry in default storage! Using local storage $ALICE_ROOT");
+ AliCDBStorage *localStor =
+ AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
+ entrySPD = localStor->Get("ITS/Calib/CalibSPD", RunNr);
+ if(!entrySPD){
+ AliFatal("Cannot find SPD calibration entry!");
+ return;
+ }
}
+
TObjArray *respSPD = (TObjArray *)entrySPD->GetObject();
if ((! respSPD)) {
- AliWarning("Cannot get data from SPD database entry!");
+ AliFatal("Cannot get data from SPD database entry!");
return;
}
for (Int_t mod=0; mod<240; mod++) {