Add low pu 2026 hitmakers#706
Open
kdlong wants to merge 8 commits into
Open
Conversation
cippy
reviewed
Jul 2, 2026
| if flavor == "mumu": | ||
| df = df.Define( | ||
| "goodLeptons", | ||
| f"Muon_mediumId && Muon_pt > {lep_pt_min} && Muon_pt < 150" |
Collaborator
There was a problem hiding this comment.
Here the cut is at 150 for the pt, but the ptl axis extends up to 200
| logger.warning( | ||
| f"Branch {met_type}_pt not found in {dataset.name}, falling back to {fallback}_pt" | ||
| ) | ||
| df = df.Define(f"{met_type}_pt", f"{fallback}_pt") |
Collaborator
There was a problem hiding this comment.
Here you can use Alias instead of Define
| # Loose muon veto: exactly one loose muon to reject Z→μμ | ||
| df = df.Define( | ||
| "vetoMuons", | ||
| "Muon_looseId && Muon_pt > 15 && abs(Muon_eta) < 2.4 && abs(Muon_dxybs) < 0.05", |
Collaborator
There was a problem hiding this comment.
I know we still need to optimise, but I believe we can surely veto lower pt values, at least down to 10.
Collaborator
Author
There was a problem hiding this comment.
Yes, agreed. This is just a first pass.
| ) | ||
| ) | ||
|
|
||
| # Signal-region-filtered observables; --selection none in the plotting script |
Collaborator
There was a problem hiding this comment.
Why not just filtering at plotting script level? It could be useful to have these same plots in the other regions too, and the selection would be very trivial.
| # reset datagroups | ||
| dg.groups = {} | ||
|
|
||
| def add_if_nonempty(name, **kwargs): |
Collaborator
There was a problem hiding this comment.
This might be named more specifically as add_group_if_nonempty to make what happens clearer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds separate histmakers for W and Z (focusing on the MET for now) production for the low PU 2026 data. A change was needed to the lumitools in Narf to be able to analyse the prompt Nano from T0 for the data. Currently using the 2023 PU 5 simulation for MC. This should be updated when possible.
I did not make much effort to avoid code duplication. We should perhaps have a wider discussion about this. On one hand, code reuse would avoid unintentional differences. On the other hand, factoring too many things into helper tools (e.g., ID, selection, calibration) can be more trouble than it's worth when analyses have different use cases.