fRun(-1),
fSeed(0),
fInitCDBCalled(kFALSE),
+ fFromCDBSnapshot(kFALSE),
+ fSnapshotFileName(""),
fInitRunNumberCalled(kFALSE),
fSetRunNumberFromDataCalled(kFALSE),
fEmbeddingFlag(kFALSE),
AliSysInfo::AddStamp("RunHLT");
//QA
- if (fRunQA) {
- Bool_t rv = RunQA() ;
- if (!rv)
- if (fStopOnError)
- return kFALSE ;
- }
+ if (fRunQA) {
+ Bool_t rv = RunQA() ;
+ if (!rv)
+ if (fStopOnError)
+ return kFALSE ;
+ }
AliSysInfo::AddStamp("RunQA");
+ TString snapshotFileOut(""); // we could use fSnapshotFileName if we are not interested
+ // in reading from and writing to a snapshot file at the same time
+ if(TString(gSystem->Getenv("OCDB_SNAPSHOT_CREATE")) == TString("kTRUE")){
+ AliInfo(" ******** Creating the snapshot! *********");
+ TString snapshotFile(gSystem->Getenv("OCDB_SNAPSHOT_FILENAME"));
+ if(!(snapshotFile.IsNull() || snapshotFile.IsWhitespace()))
+ snapshotFileOut = snapshotFile;
+ else
+ snapshotFileOut="OCDB.root";
+ AliCDBManager::Instance()->DumpToSnapshotFile(snapshotFileOut.Data());
+ }
+
// Cleanup of CDB manager: cache and active storages!
AliCDBManager::Instance()->ClearCache();
InitCDB();
AliSysInfo::AddStamp("RunSimulation_InitCDB");
InitRunNumber();
+ if(fFromCDBSnapshot){
+ AliDebug(2,Form("Initializing from the CDB snapshot \"%s\"",fSnapshotFileName.Data()));
+ AliCDBManager::Instance()->InitFromSnapshot(fSnapshotFileName.Data());
+ }
+
SetCDBLock();
AliSysInfo::AddStamp("RunSimulation_SetCDBLock");
// CDB storage activation
void SetDefaultStorage(const char* uri);
void SetSpecificStorage(const char* calibType, const char* uri);
+ void SetFromCDBSnapshot(const char* snapshotFileName) {fFromCDBSnapshot = kTRUE; fSnapshotFileName=snapshotFileName;}
+ void UnSetFromCDBSnapshot() {fFromCDBSnapshot = kFALSE;}
virtual Bool_t Run(Int_t nEvents = 0);
virtual Bool_t RunLego(const char *setup="Config.C",Int_t nc1=60,Float_t c1min=2,Float_t c1max=178,
Int_t fRun; //! Run number, will be passed to CDB and gAlice!!
Int_t fSeed; //! Seed for random number generator
Bool_t fInitCDBCalled; //! flag to check if CDB storages are already initialized
+ Bool_t fFromCDBSnapshot; //! flag to check if we are loading the CDB from a snapshot
+ TString fSnapshotFileName; //! string for the file containing the CDB snapshot
Bool_t fInitRunNumberCalled; //! flag to check if run number is already initialized
Bool_t fSetRunNumberFromDataCalled; //! flag to check if run number is already loaded from run loader