From 4dae020340355b4d7e79d87f09dfc48836e0b096 Mon Sep 17 00:00:00 2001 From: David Rohr Date: Thu, 12 Nov 2026 23:02:23 +0100 Subject: [PATCH] GPU QA: Fix incorrect use of lock when duping to ROOT file --- GPU/GPUTracking/Debug/GPUROOTDump.h | 4 ++-- GPU/GPUTracking/Definitions/GPUSettingsList.h | 2 +- GPU/GPUTracking/qa/GPUQA.cxx | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/GPU/GPUTracking/Debug/GPUROOTDump.h b/GPU/GPUTracking/Debug/GPUROOTDump.h index ec15a61ff7fa0..87cbdc2bfbbe7 100644 --- a/GPU/GPUTracking/Debug/GPUROOTDump.h +++ b/GPU/GPUTracking/Debug/GPUROOTDump.h @@ -79,7 +79,7 @@ class GPUROOTDump : public GPUROOTDump void FillInternal(const T& o, const Args&... args) { mObj = o; - GPUROOTDump::Fill(args...); + GPUROOTDump::FillInternal(args...); } using GPUROOTDump::mTree; @@ -101,7 +101,7 @@ class GPUROOTDump<> : public GPUROOTDumpBase void write() override { mTree->Write(); } protected: - void Fill() + void FillInternal() { mTree->Fill(); } diff --git a/GPU/GPUTracking/Definitions/GPUSettingsList.h b/GPU/GPUTracking/Definitions/GPUSettingsList.h index e038398626ba1..d1e13efc93518 100644 --- a/GPU/GPUTracking/Definitions/GPUSettingsList.h +++ b/GPU/GPUTracking/Definitions/GPUSettingsList.h @@ -443,7 +443,7 @@ AddOption(filterCharge, int32_t, 0, "", 0, "Filter for positive (+1) or negative AddOption(filterPID, int32_t, -1, "", 0, "Filter for Particle Type (0 Electron, 1 Muon, 2 Pion, 3 Kaon, 4 Proton)") AddOption(nativeFitResolutions, bool, false, "", 0, "Create resolution histograms in the native fit units (sin(phi), tan(lambda), Q/Pt)") AddOption(enableLocalOutput, bool, true, "", 0, "Enable normal output to local PDF files / console") -AddOption(dumpToROOTLevel, int32_t, -1, "", 0, "Dump all clusters and tracks to a ROOT file, 1 = combined TNTUple dump, 2 = also individual cluster / track branch dump", def(1)) +AddOption(dumpToROOTLevel, int32_t, -1, "", 0, "Dump all clusters and tracks to a ROOT file, 1 = tracks, 2 = efficeiencies, 3 = clusters with attached tracks", def(1)) AddOption(writeFileExt, std::string, "", "", 0, "Write extra output file with given extension (default ROOT Canvas)", def("root")) AddOption(writeMCLabels, bool, false, "", 0, "Store mc labels to file for later matching") AddOptionVec(matchMCLabels, std::string, "", 0, "Read labels from files and match them, only process tracks where labels differ") diff --git a/GPU/GPUTracking/qa/GPUQA.cxx b/GPU/GPUTracking/qa/GPUQA.cxx index 8a2610606994d..86aaea47b57f0 100644 --- a/GPU/GPUTracking/qa/GPUQA.cxx +++ b/GPU/GPUTracking/qa/GPUQA.cxx @@ -1315,7 +1315,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector* tracksEx float s = std::sin(alpha); float localY = -info.x * s + info.y * c; - if (mConfig.dumpToROOTLevel >= 1) { + if (mConfig.dumpToROOTLevel >= 2) { static auto effdump = GPUROOTDump::getNew("eff", "alpha:x:y:z:mcphi:mceta:mcpt:rec:fake:findable:prim:ncls"); float localX = info.x * c + info.y * s; effdump.Fill(alpha, localX, localY, info.z, mcphi, mceta, mcpt, mRecTracks[iCol][i], mFakeTracks[iCol][i], findable, info.prim, mc2.nWeightCls); @@ -1978,7 +1978,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector* tracksEx } uint32_t extState = mTracking->mIOPtrs.mergedTrackHitStates ? mTracking->mIOPtrs.mergedTrackHitStates[clid] : 0; - if (mConfig.dumpToROOTLevel >= 2) { + if (mConfig.dumpToROOTLevel >= 3) { GPUTPCGMMergedTrack trk; GPUTPCGMMergedTrackHit trkHit; memset((void*)&trk, 0, sizeof(trk));