From f150b397e1a73b1e280575ac163591ff9fe4e65a Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 10 Nov 2026 11:02:20 +0100 Subject: [PATCH] GPU: write settings.dump from the standalone event generator GPUChainTracking::DumpSettings only writes the calibration objects, the GRP settings.dump is written by GPUReconstruction::DumpSettings, so a dataset produced with --eventGenerator could not be read back. --- GPU/GPUTracking/qa/genEvents.cxx | 6 +++--- GPU/GPUTracking/qa/genEvents.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/GPU/GPUTracking/qa/genEvents.cxx b/GPU/GPUTracking/qa/genEvents.cxx index 5af7698fdb4dc..b7a6e468ea8a2 100644 --- a/GPU/GPUTracking/qa/genEvents.cxx +++ b/GPU/GPUTracking/qa/genEvents.cxx @@ -99,7 +99,7 @@ double genEvents::GetGaus(double sigma) return x; } -void genEvents::InitEventGenerator() +void genEvents::InitEventGenerator(const std::string& dir) { for (int32_t i = 0; i < 3; i++) { for (int32_t j = 0; j < 2; j++) { @@ -113,6 +113,7 @@ void genEvents::InitEventGenerator() mClusterError[i][j]->GetXaxis()->SetTitle("Cluster Error [cm]"); } } + mRec->rec()->DumpSettings(dir.c_str()); // the chain's own override does not write settings.dump } void genEvents::FinishEventGenerator() @@ -357,9 +358,8 @@ void genEvents::RunEventGenerator(GPUChainTracking* rec, const std::string& dir) { std::unique_ptr gen(new genEvents(rec)); mkdir(dir.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); - rec->DumpSettings(dir.c_str()); - gen->InitEventGenerator(); + gen->InitEventGenerator(dir); for (int32_t i = 0; i < (configStandalone.nEvents == -1 ? 10 : configStandalone.nEvents); i++) { GPUInfo("Generating event %d/%d", i, configStandalone.nEvents == -1 ? 10 : configStandalone.nEvents); diff --git a/GPU/GPUTracking/qa/genEvents.h b/GPU/GPUTracking/qa/genEvents.h index ee5510c729525..ea209a0a46cb8 100644 --- a/GPU/GPUTracking/qa/genEvents.h +++ b/GPU/GPUTracking/qa/genEvents.h @@ -28,7 +28,7 @@ class genEvents { public: genEvents(GPUChainTracking* rec) {} - void InitEventGenerator() {} + void InitEventGenerator(const std::string& dir) {} int32_t GenerateEvent(const GPUParam& sectorParam, const char* filename) { return 1; } void FinishEventGenerator() {} @@ -41,7 +41,7 @@ class genEvents { public: genEvents(GPUChainTracking* rec) : mRec(rec) {} - void InitEventGenerator(); + void InitEventGenerator(const std::string& dir); int32_t GenerateEvent(const GPUParam& sectorParam, const char* filename); void FinishEventGenerator();