// The number of events per file has to be set before the simulation of //
// hits. Otherwise it has no effect. //
// //
+// The trigger configuration is set by the method SetTriggerConfig(X) //
+// X can take three kinds of values //
+// //
+// - The exact string "none" - case insensitive. In this case, not trigger //
+// information is generated from the digits. //
+// - The empty string or "ocdb" - case insensitive. In this case the //
+// trigger configuration is read from OCDB //
+// - Some string - say "p-p" - in which case the configuration is read from //
+// fixed files in $ALICE_ROOT/GRP/CTP/ - say $ALICE_ROOT/GRP/CTP/p-p.cfg //
+// //
+// Default is to read from OCDB. //
+// //
///////////////////////////////////////////////////////////////////////////////
#include <TFile.h>
AliSysInfo::AddStamp("Hits2Digits");
- // digits -> trigger
- if (!fTriggerConfig.IsNull() && !RunTrigger(fTriggerConfig,fMakeDigits)) {
+ // digits -> trigger. Set trigger configuration to "none" - any
+ // case - to not generate the trigger information. Set the trigger
+ // configuration to some string X to read from file at
+ // $ALICE_ROOT/GRP/CTP/X. Set the trigger configuration to the
+ // empty string or "ocdb" - any case - to read from OCDB.
+ if (!fTriggerConfig.EqualTo("none",TString::kIgnoreCase) &&
+ !RunTrigger(fTriggerConfig,fMakeDigits)) {
if (fStopOnError) return kFALSE;
}
}
AliSysInfo::AddStamp("RunQA");
-
+ //
+ StoreUsedCDBMaps();
+ //
TString snapshotFileOut("");
if(TString(gSystem->Getenv("OCDB_SNAPSHOT_CREATE")) == TString("kTRUE")){
AliInfo(" ******** Creating the snapshot! *********");
AliCodeTimerStart(Form("creating summable digits for %s", det->GetName()));
det->Hits2SDigits();
AliCodeTimerStop(Form("creating summable digits for %s", det->GetName()));
- AliSysInfo::AddStamp(Form("Digit_%s_%d",det->GetName(),eventNr), 0,1, eventNr);
+ AliSysInfo::AddStamp(Form("SDigit_%s_%d",det->GetName(),eventNr), 0,1, eventNr);
}
}
const char* excludeDetectors)
{
// run the digitization and produce digits from sdigits
-
AliCodeTimerAuto("",0)
// initialize CDB storage, run number, set CDB lock
}
detArr.AddLast(digitizer);
AliInfo(Form("Created digitizer from SDigits -> Digits for %s", det->GetName()));
+
}
//
if ((detStr.CompareTo("ALL") != 0) && !detStr.IsNull()) {
digInp.InitEvent(); //this must be after call of Connect Input tress.
if (outRl) outRl->SetEventNumber(eventsCreated-1);
static_cast<AliStream*>(digInp.GetInputStream(0))->ImportgAlice(); // use gAlice of the first input stream
- for (int id=0;id<ndigs;id++) ((AliDigitizer*)detArr[id])->Digitize("");
+ for (int id=0;id<ndigs;id++) {
+ ((AliDigitizer*)detArr[id])->Digitize("");
+ AliSysInfo::AddStamp(Form("Digit_%s_%d",detArr[id]->GetName(),eventsCreated), 0,2, eventsCreated);
+ }
digInp.FinishEvent();
};
digInp.FinishGlobal();
- //
+ //
return kTRUE;
}
gAlice->Write(0,TObject::kOverwrite);//write AliRun
AliRunLoader::Instance()->Write(0,TObject::kOverwrite);//write RunLoader itself
//
- StoreUsedCDBMaps();
- //
if(gAlice->GetMCApp()) gAlice->GetMCApp()->FinishRun();
AliRunLoader::Instance()->Synchronize();
}
{
// write in galice.root maps with used CDB paths
//
+ //
+ AliRunLoader* runLoader = LoadRun();
+ if (!runLoader) {
+ AliError("Failed to open gAlice.root in write mode");
+ return;
+ }
+ //
const TMap *cdbMap = AliCDBManager::Instance()->GetStorageMap();
const TList *cdbList = AliCDBManager::Instance()->GetRetrievedIds();
//
AliRunLoader::Instance()->CdGAFile();
gDirectory->WriteObject(cdbMapCopy,"cdbMap","kSingleKey");
gDirectory->WriteObject(cdbListCopy,"cdbList","kSingleKey");
+ delete runLoader;
//
AliInfo(Form("Stored used OCDB entries as TMap %s and TList %s in %s",
cdbMapCopy->GetName(),