#include "AliRun.h"
#include "AliModule.h"
#include "AliGenerator.h"
+#include "AliVertexGenFile.h"
#include "AliRunDigitizer.h"
#include "AliDigitizer.h"
#include <TObjString.h>
fConfigFileName(configFileName),
fGAliceFileName("galice.root"),
fBkgrdFileNames(NULL),
+ fUseBkgrdVertex(kTRUE),
fRegionOfInterest(kTRUE)
{
// create simulation object with default parameters
fConfigFileName(sim.fConfigFileName),
fGAliceFileName(sim.fGAliceFileName),
fBkgrdFileNames(NULL),
+ fUseBkgrdVertex(sim.fUseBkgrdVertex),
fRegionOfInterest(sim.fRegionOfInterest)
{
// copy constructor
}
fGAliceFileName = runLoader->GetFileName();
+ if (!gAlice->Generator()) {
+ Error("RunSimulation", "gAlice has no generator object. "
+ "Check your config file: %s", fConfigFileName.Data());
+ return kFALSE;
+ }
+
+ // get vertex from background file in case of merging
+ if (fUseBkgrdVertex &&
+ fBkgrdFileNames && (fBkgrdFileNames->GetEntriesFast() > 0)) {
+ Int_t signalPerBkgrd = fBkgrdFileNames->At(0)->GetUniqueID();
+ const char* fileName = ((TObjString*)
+ (fBkgrdFileNames->At(0)))->GetName();
+ Info("RunSimulation", "The vertex will be taken from the background "
+ "file %s with nSignalPerBackground = %d",
+ fileName, signalPerBkgrd);
+ AliVertexGenFile* vtxGen = new AliVertexGenFile(fileName, signalPerBkgrd);
+ gAlice->Generator()->SetVertexGenerator(vtxGen);
+ }
+
if (!fRunSimulation) {
- if (!gAlice->Generator()) {
- Error("RunSimulation", "gAlice has no generator object. "
- "Check your config file: %s", fConfigFileName.Data());
- return kFALSE;
- }
gAlice->Generator()->SetTrackingFlag(0);
}
if (IsSelected(det->GetName(), detStr)) {
Info("RunSDigitization", "creating summable digits for %s",
det->GetName());
+ TStopwatch stopwatchDet;
+ stopwatchDet.Start();
det->Hits2SDigits();
+ Info("RunSDigitization", "execution time for %s:", det->GetName());
+ stopwatchDet.Print();
}
}