Skip to content

Attempt to combine b-jet/displaced-jet analysis work and lepton analysis work#25

Merged
jreic merged 176 commits into
UL_V30_BjetDispljetfrom
UL_Lepton
Mar 9, 2026
Merged

Attempt to combine b-jet/displaced-jet analysis work and lepton analysis work#25
jreic merged 176 commits into
UL_V30_BjetDispljetfrom
UL_Lepton

Conversation

@pkotamnives

@pkotamnives pkotamnives commented Aug 14, 2024

Copy link
Copy Markdown
Contributor

UL_Lepton has updated TrackMover, Vertexer, K0 study and rescaling methods (BtagDispljet in all years and SingleLepton in 2017)

dev_filter_histos_UL has updated b-jet/displaced-jet offline preselection cuts, and trigger and background estimation studies (sumdBV template etc.)

This attempt is to merge the two branches together.

abbywarden and others added 30 commits September 15, 2022 09:26
…ngtreer study

additionally support for mhadd condor submit is added
@jreic

jreic commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

We have code in place to orthogonalize the electron and muon PDs in data, but need to do the same for the DisplacedDijet and BTagCSV / JetHT primary datasets too. MFVNeutralino/python/EventFilter_cfi.py has some code with bjet_triggers_to_veto that can get us partway there (we should make it year-dependent rather than commenting things in / out). Then we'll need dedicated trigger flags + event filter options to make sure we don't do this accidental double counting in the data, and will need the lepton + HT trigger vetoes in both sets of flags. It's a bit annoying, and I'll have to carefully check that the event filter code handles this all correctly.

…lectron pT cut), include data blinding for histos/minitrees, and consistently make sure use_btag_vetoLepHT_triggers is actually called
…triggers (only needed for data orthogonality, but better safe than sorry)
…rray size and its contents; possibly could have affected the track rescaling across years
@jreic

jreic commented Feb 20, 2026

Copy link
Copy Markdown
Contributor

Some additional comments were sent only on Slack. We should copy them here for posterity and take care of them one by one.

An additional one for now: https://github.com/DisplacedVertices/cmssw-usercode/blob/UL_Lepton/Tools/interface/AnalysisEras.h defines the eras for 2016, 2017, and 2018, but https://github.com/DisplacedVertices/cmssw-usercode/blob/UL_Lepton/Tools/src/AnalysisEras.cc only defines lumi values from 2017 and 2018 (but they are assigned to the first 9 eras in the enum, which happen to all be 2016, and the other eras are potentially assigned to garbage memory).

I fixed this one in 5a1a8ca. I think the other eras were assigned luminosities of 0 rather than garbage memory. But I am not sure if this had a physics impact: it could have resulted in incorrect track rescaling being applied in some years. We'll have to check.

@jreic

jreic commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

We have code in place to orthogonalize the electron and muon PDs in data, but need to do the same for the DisplacedDijet and BTagCSV / JetHT primary datasets too. MFVNeutralino/python/EventFilter_cfi.py has some code with bjet_triggers_to_veto that can get us partway there (we should make it year-dependent rather than commenting things in / out). Then we'll need dedicated trigger flags + event filter options to make sure we don't do this accidental double counting in the data, and will need the lepton + HT trigger vetoes in both sets of flags. It's a bit annoying, and I'll have to carefully check that the event filter code handles this all correctly.

This orthogonalization is only needed for data. I'll leave it on my list to do, but isn't needed for this to all get merged.

@jreic

jreic commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

As mentioned in #25 (comment), my extensive testing of 20161 and 2017 vs. a commit from before the bulk of my recent work on this is done now. I'll do the same for 20162 and 2018. I should also test ttbar background fully, not just signals.

After that, I have a bit of organization in NtupleCommon.py for picking up the right triggers that I'd like to do, and I want to set a new ntuple_version_ name following a new numbering convention (that we ideally create a corresponding tag of the code each time).

Then I'll merge UL_Lepton_breaking_changes_to_merge into here, and I think we can close this then. Some things (particularly 2016 pileup weights) might not work until folding in some fixes by Gianfranco in UL_Lepton_ttH, so I'll wait to tag the code until then.

@jreic

jreic commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

As mentioned in #25 (comment), my extensive testing of 20161 and 2017 vs. a commit from before the bulk of my recent work on this is done now. I'll do the same for 20162 and 2018. I should also test ttbar background fully, not just signals.

After that, I have a bit of organization in NtupleCommon.py for picking up the right triggers that I'd like to do, and I want to set a new ntuple_version_ name following a new numbering convention (that we ideally create a corresponding tag of the code each time).

Then I'll merge UL_Lepton_breaking_changes_to_merge into here, and I think we can close this then. Some things (particularly 2016 pileup weights) might not work until folding in some fixes by Gianfranco in UL_Lepton_ttH, so I'll wait to tag the code until then.

Everything checks out. I see increases to ttbar yields in small-scale tests that track the expectation due to the electron event filter settings, and all of the signal yields behave as expected based on my studies earlier in the thread. I made some cleanup to the samples and trigger scheme choices in 756989d.

I tagged 32dd2d5 from January as pre-PR25, so we can still use the older samples with it, until we have a full set of new ones.

I'm merging UL_Lepton_breaking_changes_to_merge into here, then I'll merge / close the PR (it technically was targeted at putting things into a new branch, but we can delete that branch in the end, and can consider renaming this one at some point).

…ges_to_merge

Merging in development branch for many important features in PR #25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants