Add late model extension to RNTupleMerger
This Pull request:
refactors RNTupleMerger to properly support late model extension. The "Union" merging mode is added, allowing the merger to late-model-extend the destination to include all the fields of the input ntuples (instead of ignoring unknown fields / complaining when models don't match). Likewise, the "Strict" merging mode is added that checks that all inputs have the exact same structure. By default, the old behavior (named "Filter") is used.
To better compare the RNTuples structures, the merging logic is now more properly considering the fields of each input, rather than just the columns as it was previously. This also allows for more descriptive messages to the user if some mismatch is found.
NOTE: the RNTupleMerger::Merge function now returns a RResult instead of throwing exceptions on error.
TODO
- the new merging modes should be exposed to hadd
Checklist:
- [x] tested changes locally
- [ ] updated the docs (if necessary)
Test Results
13 files 13 suites 3d 2h 17m 12s :stopwatch: 3 029 tests 3 029 :white_check_mark: 0 :zzz: 0 :x: 33 856 runs 33 856 :white_check_mark: 0 :zzz: 0 :x:
Results for commit edc5d49c.
:recycle: This comment has been updated with latest results.