[RF][HS3] Align RooFit HS3 JSON I/O with the current HS3 naming and HistFactory conventions.#22735
[RF][HS3] Align RooFit HS3 JSON I/O with the current HS3 naming and HistFactory conventions.#22735Phmonski wants to merge 5 commits into
Conversation
Test Results 2 files 2 suites 2h 16m 58s ⏱️ Results for commit a53e7ad. ♻️ This comment has been updated with latest results. |
|
This PR contains a bug that is investigated. |
636e449 to
98c0bd8
Compare
|
I traced the The problem is not that we need to keep exporting In the failing test, one This seems mainly to affect I can think of two possible fixes:
What would be the preferred way to preserve the model semantics? |
I'd say the correct answer is (1), and I would argue to add a key called "constriants" which should just be a list of the constraint names. That has the nice feature of introducing a parallelism with the parameters. If we can make it such that those lists are always synced by construction by potentially introducing "null" for the constraint of parameters that do not carry constraints, that would introduce a 1:1 mapping of parameters to constraints that might be useful for tools dealing with the JSONs. |
98c0bd8 to
88cc345
Compare
d6e1b63 to
a53e7ad
Compare
Summary
Align RooFit HS3 JSON I/O with the current HS3 naming and HistFactory conventions.
RooBinWidthFunctionHS3 typebinwidthwith:binvolumefordivideByBinWidth == falseinverse_binvolumefordivideByBinWidth == truedivideByBinWidthand remove legacybinwidthimport support.floor,ceil,abs,tan,asin,acos,atan,PI, andEULER.PIandEULERas reserved expression constants on import.constraint_nametoconstraint, and omitconstraint_type.constraint_type,shapesysmodifiers now export the actual per-bin constraint pdf names via a newconstraintslist. This list is parallel to theparameterslist, so each gamma parameter has a corresponding constraint entry. Entries can also benullfor parameters without a constraint.constraint,constraint_name, and legacyconstraint_type.const: truefor parameters whosemin >= max.RooHistFuncandParamHistFuncasstep.stepimporter dispatcher that selectsRooHistFuncfordataandParamHistFuncforparameters.histogramimport support for oldRooHistFuncHS3 files.Tests
Added focused coverage in
testRooFitHS3.cxxfor:binvolume/inverse_binvolumeexport and importconst: truestepexport/import dispatch forRooHistFuncandParamHistFuncconstraintexport with legacyconstraint_nameimport[x] Tested locally