Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ntuple] Add RNTupleSingleProcessor #17134

Merged
merged 1 commit into from
Dec 13, 2024

Conversation

enirolf
Copy link
Contributor

@enirolf enirolf commented Nov 29, 2024

The RNTupleSingleProcessor processes one single RNTuple, using the same interfaces as the RNTupleChainProcessor and RNTupleJoinProcessor. The point of adding a base processor is that this way, the other processors can use a unified interface for loading entries, without having to know whether they are dealing with a single RNTuple or a composed one.

This PR is part of a bigger set of (foreseen) changes, collected and tracked in #17132.

Copy link

github-actions bot commented Nov 29, 2024

Test Results

    18 files      18 suites   4d 2h 33m 57s ⏱️
 2 665 tests  2 665 ✅ 0 💤 0 ❌
46 252 runs  46 252 ✅ 0 💤 0 ❌

Results for commit 8c5a984.

♻️ This comment has been updated with latest results.

Copy link
Member

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice! I have a couple of minor remarks, but the code looks good already!

tree/ntuple/v7/src/RNTupleProcessor.cxx Show resolved Hide resolved
tree/ntuple/v7/inc/ROOT/RNTupleProcessor.hxx Outdated Show resolved Hide resolved
Copy link
Contributor

@jblomer jblomer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Although it would be nice to not treat empty data sets in a special way.

@enirolf
Copy link
Contributor Author

enirolf commented Dec 12, 2024

Indeed, this processor should also be able to handle empty ntuples. I have an implementation for this, but it required a bit more refactoring than I initially forsaw, so I propose to merge this PR as-is, and I will open a new one to address the empty ntuple case.

The `RNTupleSingleProcessor` processes one single RNTuple, using the same
interfaces as the `RNTupleChainProcessor` and `RNTupleJoinProcessor`.
The point of adding this processor is that this way, the other
processors can use a unified interface for loading entries, without
having to know whether they are dealing with a single RNTuple or a
composed one.
@enirolf enirolf force-pushed the ntuple-processor-base branch from 84d59d0 to 8c5a984 Compare December 12, 2024 11:07
@enirolf enirolf changed the title [ntuple] Add RNTupleBaseProcessor [ntuple] Add RNTupleSingleProcessor Dec 12, 2024
@enirolf enirolf merged commit 6a7034e into root-project:master Dec 13, 2024
21 checks passed
@enirolf enirolf deleted the ntuple-processor-base branch December 13, 2024 12:29
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.

4 participants