- "Remote storage" added to AliCDBManager's possible storages. Remote storage is used if it
is activated and if object is not found in the default storage. This is used in case an
object in the local cache is lost before the job is executed.
- Setting of remote storage added in AliSimulation and AliReconstruction.
fAlignObjArray(NULL),
fCDBUri(cdbUri),
+ fRemoteCDBUri(""),
fSpecCDBUri()
{
// create reconstruction object with default parameters
fAlignObjArray(rec.fAlignObjArray),
fCDBUri(rec.fCDBUri),
+ fRemoteCDBUri(rec.fRemoteCDBUri),
fSpecCDBUri()
{
// copy constructor
man->SetDefaultStorage(fCDBUri);
}
+ // Remote storage (the Grid storage) is used if it is activated
+ // and if the object is not found in the default storage
+ if (man->IsRemoteStorageSet())
+ {
+ AliWarning("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+ AliWarning("Remote CDB storage has been already set !");
+ AliWarning(Form("Ignoring the remote storage declared in AliReconstruction: %s",fRemoteCDBUri.Data()));
+ AliWarning("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+ fRemoteCDBUri = "";
+ }
+ else {
+ AliDebug(2,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+ AliDebug(2, Form("Remote CDB storage is set to: %s",fRemoteCDBUri.Data()));
+ AliDebug(2, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+ man->SetRemoteStorage(fRemoteCDBUri);
+ }
+
// Now activate the detector specific CDB storage locations
for (Int_t i = 0; i < fSpecCDBUri.GetEntriesFast(); i++) {
TObject* obj = fSpecCDBUri[i];
}
+//_____________________________________________________________________________
+void AliReconstruction::SetRemoteStorage(const char* uri) {
+// Store the desired remote CDB storage location
+// Activate it later within the Run() method
+// Remote storage (the Grid storage) is used if it is activated
+// and if the object is not found in the default storage
+
+ fRemoteCDBUri = uri;
+
+}
+
//_____________________________________________________________________________
void AliReconstruction::SetSpecificStorage(const char* calibType, const char* uri) {
// Store a detector-specific CDB storage location
// CDB storage activation
void InitCDBStorage();
void SetDefaultStorage(const char* uri);
+ void SetRemoteStorage(const char* uri);
void SetSpecificStorage(const char* calibType, const char* uri);
Bool_t SetRunNumber();
TObjArray* fAlignObjArray; // array with the alignment objects to be applied to the geometry
TString fCDBUri; // Uri of the default CDB storage
+ TString fRemoteCDBUri; // Uri of the remote CDB storage
TObjArray fSpecCDBUri; // Array with detector specific CDB storages
//Quality Assurance
fUseBkgrdVertex(kTRUE),
fRegionOfInterest(kFALSE),
fCDBUri(cdbUri),
+ fRemoteCDBUri(""),
fSpecCDBUri(),
fEmbeddingFlag(kFALSE)
{
fUseBkgrdVertex(sim.fUseBkgrdVertex),
fRegionOfInterest(sim.fRegionOfInterest),
fCDBUri(sim.fCDBUri),
+ fRemoteCDBUri(sim.fRemoteCDBUri),
fSpecCDBUri(),
fEmbeddingFlag(sim.fEmbeddingFlag)
{
man->SetDefaultStorage(fCDBUri);
}
+ // Remote storage (the Grid storage) is used if it is activated
+ // and if the object is not found in the default storage
+ if (man->IsRemoteStorageSet())
+ {
+ AliWarning("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+ AliWarning("Remote CDB storage has been already set !");
+ AliWarning(Form("Ignoring the remote storage declared in AliSimulation: %s",fRemoteCDBUri.Data()));
+ AliWarning("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+ fRemoteCDBUri = "";
+ }
+ else {
+ AliDebug(2,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+ AliDebug(2, Form("Remote CDB storage is set to: %s",fRemoteCDBUri.Data()));
+ AliDebug(2, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+ man->SetRemoteStorage(fRemoteCDBUri);
+ }
+
// Now activate the detector specific CDB storage locations
for (Int_t i = 0; i < fSpecCDBUri.GetEntriesFast(); i++) {
TObject* obj = fSpecCDBUri[i];
}
+//_____________________________________________________________________________
+void AliSimulation::SetRemoteStorage(const char* uri) {
+// Store the desired remote CDB storage location
+// Activate it later within the Run() method
+// Remote storage (the Grid storage) is used if it is activated
+// and if the object is not found in the default storage (the local cache)
+
+ fRemoteCDBUri = uri;
+
+}
+
//_____________________________________________________________________________
void AliSimulation::SetSpecificStorage(const char* calibType, const char* uri) {
// Store a detector-specific CDB storage location
// CDB storage activation
void InitCDBStorage();
void SetDefaultStorage(const char* uri);
- void SetSpecificStorage(const char* calibType, const char* uri);
+ void SetRemoteStorage(const char* uri);
+ void SetSpecificStorage(const char* calibType, const char* uri);
virtual Bool_t Run(Int_t nEvents = 0);
Bool_t fRegionOfInterest; // digitization in region of interest
TString fCDBUri; // Uri of the default CDB storage
+ TString fRemoteCDBUri; // Uri of the remote CDB storage
TObjArray fSpecCDBUri; // Array with detector specific CDB storages
Bool_t fEmbeddingFlag; // Flag for embedding
ClassDef(AliSimulation, 4) // class for running generation, simulation and digitization