Skip to content

Commit 6f795a4

Browse files
committed
Cleanup and perf optimization
Fixing a problem where stack params were printed even when just doing a `o2-sim-dpl-eventgen --help`. Evidently a Stack object was uselessly created (and printing something).
1 parent 9aee96e commit 6f795a4

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

Common/Utils/src/ConfigurableParam.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ std::string EnumRegistry::toString() const
122122
out.append("\n");
123123
}
124124

125-
LOG(info) << out;
126125
return out;
127126
}
128127

Detectors/Base/src/Stack.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ Stack::Stack(Int_t size)
8383
}
8484

8585
auto& param = o2::sim::StackParam::Instance();
86-
LOG(info) << param;
8786
TransportFcn transportPrimary;
8887
if (param.transportPrimary.compare("none") == 0) {
8988
transportPrimary = [](const TParticle& p, const std::vector<TParticle>& particles) {

run/dpl_eventgen.cxx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <CommonUtils/ConfigurableParam.h>
2020
#include <CommonUtils/RngHelper.h>
2121
#include <TStopwatch.h> // simple timer from ROOT
22+
#include <memory>
2223

2324
using namespace o2::framework;
2425

@@ -35,11 +36,14 @@ struct GeneratorTask {
3536
int nEvents = 0;
3637
int eventCounter = 0;
3738
int tfCounter = 0;
38-
o2::eventgen::GeneratorService genservice;
39+
40+
// a pointer because object should only be constructed in the device (not during DPL workflow setup)
41+
std::unique_ptr<o2::eventgen::GeneratorService> genservice;
3942
TStopwatch timer;
4043

4144
void init(o2::framework::InitContext& /*ic*/)
4245
{
46+
genservice.reset(new o2::eventgen::GeneratorService);
4347
o2::utils::RngHelper::setGRandomSeed(seed);
4448
nEvents = eventNum;
4549
// helper to parse vertex option; returns true if parsing ok, false if failure
@@ -53,9 +57,9 @@ struct GeneratorTask {
5357
o2::conf::ConfigurableParam::updateFromString((std::string)params);
5458
// initialize the service
5559
if (vtxmode == o2::conf::VertexMode::kDiamondParam) {
56-
genservice.initService(generator, trigger, o2::eventgen::DiamondParamVertexOption());
60+
genservice->initService(generator, trigger, o2::eventgen::DiamondParamVertexOption());
5761
} else if (vtxmode == o2::conf::VertexMode::kNoVertex) {
58-
genservice.initService(generator, trigger, o2::eventgen::NoVertexOption());
62+
genservice->initService(generator, trigger, o2::eventgen::NoVertexOption());
5963
} else if (vtxmode == o2::conf::VertexMode::kCCDB) {
6064
LOG(warn) << "Not yet supported. This needs definition of a timestamp and fetching of the MeanVertex CCDB object";
6165
}
@@ -68,7 +72,7 @@ struct GeneratorTask {
6872
o2::dataformats::MCEventHeader mcheader;
6973
for (auto i = 0; i < std::min((int)aggregate, nEvents - eventCounter); ++i) {
7074
mctracks.clear();
71-
genservice.generateEvent_MCTracks(mctracks, mcheader);
75+
genservice->generateEvent_MCTracks(mctracks, mcheader);
7276
pc.outputs().snapshot(Output{"MC", "MCHEADER", 0}, mcheader);
7377
pc.outputs().snapshot(Output{"MC", "MCTRACKS", 0}, mctracks);
7478
++eventCounter;

0 commit comments

Comments
 (0)