[HS3] Preserve explicit binnings for RooGenericPdf and RooFormulaVa#22842
Open
Phmonski wants to merge 1 commit into
Open
[HS3] Preserve explicit binnings for RooGenericPdf and RooFormulaVa#22842Phmonski wants to merge 1 commit into
Phmonski wants to merge 1 commit into
Conversation
Test Results 23 files 23 suites 3d 15h 30m 48s ⏱️ Results for commit c63e052. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Following the introduction of explicitly binned
RooGenericPdfandRooFormulaVarobjects in #22708, their declared binning information was not preserved by HS3 serialization.Only the formula expression was exported, so an HS3 round trip lost the binning registered through
setBinning(). The imported object consequently no longer reported itself as a binned distribution and could not use the intended binned integration path.Changes
This PR adds optional inline
axeskey to HS3 generic formulas.Uniform binnings are represented as:
Non-uniform binnings use explicit edges:
The implementation:
getBinning()accessor toRooGenericPdfandRooFormulaVar.setBinning().binBoundaries()andplotSamplingHint()to use this accessor.axesonly when an explicit formula binning exists.setBinning(..., false)during import because serialized binnings are treated as trusted declarations, avoiding potentially expensive flatness sampling.RooFormulaVarexport type asgenericwhile continuing to import bothgenericandgeneric_function.No persistent members or class versions are changed.
JSONFactories_HistFactory.cxxand a few unrelated test lines contain formatting-only changes.Validation
Imported axes are checked for:
RooAbsRealLValuedependency.nbins.Tests cover:
RooGenericPdfround trips.RooFormulaVarround trips.The complete
GenericPdftest suite andtestRooFitHS3pass.@cburgard @will-cern