From cd0ed0285092dc85b09ce896eb6057c988bd0f94 Mon Sep 17 00:00:00 2001 From: "P.-A. Loizeau" <p.-a.loizeau@gsi.de> Date: Fri, 14 Jul 2023 18:39:47 +0200 Subject: [PATCH] In CbmTaskDigiEventQa, fix bins fill in Histo1D-TH1D conv. method + ROOT warn => protect temporary histogram in CbmTaskDigiEventQa::ToTH1D from ROOT name registration clash --- reco/tasks/CbmTaskDigiEventQa.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/reco/tasks/CbmTaskDigiEventQa.cxx b/reco/tasks/CbmTaskDigiEventQa.cxx index 4b0e370a51..1ea9b16047 100644 --- a/reco/tasks/CbmTaskDigiEventQa.cxx +++ b/reco/tasks/CbmTaskDigiEventQa.cxx @@ -161,12 +161,16 @@ InitStatus CbmTaskDigiEventQa::Init() // ----- Convert CBM histogram to ROOT histogram -------------------------- TH1D* CbmTaskDigiEventQa::ToTH1D(const cbm::algo::Histo1D& source) { - + bool add = TH1::AddDirectoryStatus(); + TH1::AddDirectory(false); // Needed to prevent ROOT from adding histogram to its internal registry TH1D* result = new TH1D(source.Name().c_str(), source.Name().c_str(), source.NumBins(), source.MinValue(), source.MaxValue()); + TH1::AddDirectory(add); // Needed to prevent ROOT from adding histogram to its internal registry for (uint32_t bin = 0; bin < source.NumBins(); bin++) { - result->SetBinContent(bin, source.Content(bin)); + result->SetBinContent(1 + bin, source.Content(bin)); } + result->SetBinContent(0, source.Underflow()); + result->SetBinContent(source.NumBins(), source.Overflow()); result->SetEntries(source.NumEntries()); return result; } -- GitLab