From 5cdb416ab682a354c29ec0237e2cbee6df3fb850 Mon Sep 17 00:00:00 2001 From: Simon Cello <87865105+Phmonski@users.noreply.github.com> Date: Tue, 28 Jul 2026 15:04:36 +0200 Subject: [PATCH] [RF][HS3] Fix export of self_normalized flag The `selfNormalized()` flag in the `RooWrapperPdf` importer and exporter keys didn't match. Set the export key to `self_normalized` and retain the legacy import of the `selfnormalized` key. (cherry picked from commit 8e8f30ee86fa2217d7f4cea4ccfc7e6484bd41da) --- roofit/hs3/src/JSONFactories_RooFitCore.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/roofit/hs3/src/JSONFactories_RooFitCore.cxx b/roofit/hs3/src/JSONFactories_RooFitCore.cxx index f0c5e2db8e88a..2896239c97295 100644 --- a/roofit/hs3/src/JSONFactories_RooFitCore.cxx +++ b/roofit/hs3/src/JSONFactories_RooFitCore.cxx @@ -1146,7 +1146,11 @@ bool importWrapperPdf(RooJSONFactoryWSTool *tool, const JSONNode &node) bool selfNormalized = false; - if (auto sn = node.find("selfNormalized")) + auto sn = node.find("self_normalized"); + // ROOT previously exported this key without an underscore. + if (!sn) + sn = node.find("selfnormalized"); + if (sn) selfNormalized = sn->val_bool(); tool->wsEmplace(name, *func, selfNormalized); @@ -1169,7 +1173,7 @@ bool exportWrapperPdf(RooJSONFactoryWSTool *, const RooAbsArg *arg, JSONNode &no node["function"] << funcProxy->absArg()->GetName(); if (pdf->selfNormalized()) - node["selfnormalized"] << true; + node["self_normalized"] << true; return true; }