Skip to content

Conversation

@vepadulano
Copy link
Member

@vepadulano vepadulano requested a review from hageboeck November 12, 2025 18:48
@vepadulano vepadulano self-assigned this Nov 12, 2025
@vepadulano vepadulano added in:Documentation in:RDataFrame skip ci Skip the full builds on the actions runners labels Nov 12, 2025
@github-actions
Copy link

github-actions bot commented Nov 12, 2025

Test Results

0 tests   0 ✅  0s ⏱️
0 suites  0 💤
0 files    0 ❌

Results for commit f758c4d.

♻️ This comment has been updated with latest results.

Copy link
Member

@hageboeck hageboeck left a comment

Choose a reason for hiding this comment

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

Thanks!

I added some edits, maybe you find some of them useful. Note that there was a small error, because not all columns of the output dataset will have an assigned bit. If a column isn't varied, it won't be masked.

@rbarrue
Copy link

rbarrue commented Nov 19, 2025

Hi team, looks good to me. To be completely clear, in the sentence

To tell apart a genuine 0 (like x in row 0) from a variation that didn't pass the selection, RDataFrame writes a bitmask for each event, indicating which variations are valid (see last column)

to

(...) that didn't pass the selection (resulting in an invalid value) (...)

Also, in the sentence

Each column that might contain invalid values is connected to exactly one bit in one bitmask.

It should read simply "each column is connected to exactly one bit in one bitmask", right?

@hageboeck
Copy link
Member

Hello @rbarrue, thanks for the feedback! See a question and an answer inline.

Hi team, looks good to me. To be completely clear, in the sentence

To tell apart a genuine 0 (like x in row 0) from a variation that didn't pass the selection, RDataFrame writes a bitmask for each event, indicating which variations are valid (see last column)

to

(...) that didn't pass the selection (resulting in an invalid value) (...)

I'm not fully sure if it's a request to update the text. Did you mean this?

- To tell apart a genuine `0` (like `x` in row 0) from a variation that didn't pass the selection, RDataFrame writes a bitmask for each event, indicating which variations are valid (see last column).
+ To tell apart a genuine `0` (like `x` in row 0) from a variation that didn't pass the selection (resulting in an invalid value), RDataFrame writes a bitmask for each event, indicating which variations are valid (see last column).

We can of course rephrase to make the sentence flow better, but now we're doubling the information, aren't we?

Also, in the sentence

Each column that might contain invalid values is connected to exactly one bit in one bitmask.

It should read simply "each column is connected to exactly one bit in one bitmask", right?

In this case the qualifier was added on purpose, because columns that are not being varied are always written. Therefore, we are not allocating any bit for these.

@rbarrue
Copy link

rbarrue commented Nov 19, 2025

Yes, it was a "request" for rephrasing. Yeah, we're doubling the information, one could finish instead with "variations passed the selection" ?

For the second point, if we're not allocating any bit for them, I'd actually change the example line:

muon_pt --> (R_rdf_mask_Events_0, 42)

to

muon_pt_var1 --> (...)

At least for me the first line looks like we're also storing a bitmask for nominal.

@hageboeck
Copy link
Member

hageboeck commented Nov 19, 2025

Yes, it was a "request" for rephrasing. Yeah, we're doubling the information, one could finish instead with "variations passed the selection" ?

Let's go to the actual sentence in the diff. I'll give it another try.

For the second point, if we're not allocating any bit for them, I'd actually change the example line:

muon_pt --> (R_rdf_mask_Events_0, 42)

to

muon_pt_var1 --> (...)

At least for me the first line looks like we're also storing a bitmask for nominal.

This is indeed the case. If a column gets varied and filtered, all of its instances (nominal and variations) will be associated to a bit, because nominal might not pass while one of the variations doesn't.

That being said, columns that don't get varied won't have a bit. I'll try to clarify the text once more to point this out.

Copy link
Member

@hageboeck hageboeck left a comment

Choose a reason for hiding this comment

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

Another attempt based on the latest comments.

@rbarrue
Copy link

rbarrue commented Nov 19, 2025

Looks great to me, thanks.

@vepadulano vepadulano merged commit 3ae8a66 into root-project:master Nov 25, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in:Documentation in:RDataFrame skip ci Skip the full builds on the actions runners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants