Skip to content

[RF] Implement batch data access for RooCompositeDataStore - #23277

Merged
guitargeek merged 1 commit into
root-project:masterfrom
guitargeek:composite
Sep 7, 2026
Merged

[RF] Implement batch data access for RooCompositeDataStore#23277
guitargeek merged 1 commit into
root-project:masterfrom
guitargeek:composite

Conversation

@guitargeek

Copy link
Copy Markdown
Contributor

Implement getBatches() and getCategoryBatches() for RooCompositeDataStore, which so far threw an exception. Like the existing getWeightBatch(), the implementation lazily concatenates the columns of the component datasets into internal buffers by loading the composite rows one by one. The index category, which is not stored in any of the component datasets, is synthesized from the row lookup.

This is needed so that combined datasets backed by a composite storage (e.g. the output of generating from a RooSimultaneous with AllBinned()) can be loaded by the generic RooFit::Evaluator data path, which so far only worked when the dataset was split into its channel components first.

@guitargeek guitargeek self-assigned this Sep 6, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Test Results

    17 files      17 suites   2d 8h 49m 49s ⏱️
 3 874 tests  3 873 ✅ 0 💤 1 ❌
57 182 runs  57 181 ✅ 0 💤 1 ❌

For more details on these failures, see this check.

Results for commit 3f03c8a.

Implement getBatches() and getCategoryBatches() for
RooCompositeDataStore, which so far threw an exception. Like the
existing getWeightBatch(), the implementation lazily concatenates the
columns of the component datasets into internal buffers by loading the
composite rows one by one. The index category, which is not stored in
any of the component datasets, is synthesized from the row lookup.

This is needed so that combined datasets backed by a composite storage
(e.g. the output of generating from a RooSimultaneous with AllBinned())
can be loaded by the generic RooFit::Evaluator data path, which so far
only worked when the dataset was split into its channel components
first.
@guitargeek
guitargeek merged commit 9ee9473 into root-project:master Sep 7, 2026
24 of 32 checks passed
@guitargeek
guitargeek deleted the composite branch September 7, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants