-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
fix L1 candidate matching in HLTMuonL1TFilter #37110
Conversation
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37110/28605
|
A new Pull Request was created by @JanFSchulte (Jan-Frederik Schulte) for master. It involves the following packages:
@cmsbuild, @missirol, @Martin-Grunewald can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
bool matchPrevL1 = false; | ||
int prevSize = prevMuons.size(); | ||
for (int it2 = 0; it2 < prevSize; it2++) { | ||
if (deltaR2(muon->eta(), muon->phi(), prevMuons[it2]->eta(), prevMuons[it2]->phi()) < maxDR_) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
General comment: there is some ambiguity in "deltaR vs deltaR2" (the parameter name suggests it's for DeltaR, while the actual cut is on DeltaR2). As done already here, the actual cut should be on DeltaR^2. My suggestion is
to mimic how this is handled here, reading the "maxDeltaR" value from the configuration, checking that it is positive, and then using the maxDeltaR2 value for the cut. Please also change maxDR
to maxDeltaR
to improve clarity.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I have implemented it according to the suggestion.
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37110/28607
|
Pull request #37110 was updated. @cmsbuild, @missirol, @Martin-Grunewald can you please check and sign again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's the (short) review.
|
||
//make sure cut parameter for candidate matching is | ||
if (maxDR_ <= 0.) { | ||
throw cms::Exception("HLTPFJetsMatchedToFilteredJetsProducerConfiguration") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
throw cms::Exception("HLTPFJetsMatchedToFilteredJetsProducerConfiguration") | |
throw cms::Exception("HLTMuonL1TFilterConfiguration") |
@@ -38,7 +41,11 @@ HLTMuonL1TFilter::HLTMuonL1TFilter(const edm::ParameterSet& iConfig) | |||
// } | |||
qualityBitMask_ |= 1 << selectQualitie; | |||
} | |||
|
|||
//make sure cut parameter for candidate matching is |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
//make sure cut parameter for candidate matching is | |
//make sure cut parameter for candidate matching is strictly positive |
if (deltaR2(muon->eta(), muon->phi(), prevMuons[it2]->eta(), prevMuons[it2]->phi()) < maxDR2_) | ||
matchPrevL1 = true; | ||
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if (deltaR2(muon->eta(), muon->phi(), prevMuons[it2]->eta(), prevMuons[it2]->phi()) < maxDR2_) | |
matchPrevL1 = true; | |
break; | |
if (deltaR2(muon->eta(), muon->phi(), prevMuons[it2]->eta(), prevMuons[it2]->phi()) < maxDR2_) { | |
matchPrevL1 = true; | |
break; | |
} |
Careful with brackets :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yikes, I am really not awake enough today to code. Fix incoming...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JanFSchulte , while you are at it, consider squashing into 1 commit (optional).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, done.
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37110/28610
|
Pull request #37110 was updated. @cmsbuild, @missirol, @Martin-Grunewald can you please check and sign again. |
type bugfix |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37110/28628
|
Pull request #37110 was updated. @cmsbuild, @missirol, @Martin-Grunewald can you please check and sign again. |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-7c0076/22768/summary.html Comparison SummarySummary:
|
+hlt |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
(split from #37086)
Fix to the L1 candidate matching in HLTMuonL1TFilter. In this filter a match between L1 muons before and after different filters is performed. Currently the code expects the muons that are compared to be in the same collection. However, there are use cases in the current menu where the matching is performed with a copy of the L1 muon collection and thus always fails. This causes an inefficiency for low pT muons that are reconstructed only by L1-seeded reconstruction steps. Impact is mostly negligible, showing tiny efficiency improvements for high-pT muon from the Z:
Effect gets more visible for lower pT muons, for example in the turnon of the double-muon trigger:
However, the effect is significant for very low pT leptons. For the muon Bs -> mumu trigger (HLT_DoubleMu4_3_Bs_v14) we find a ~20% improvement of HLT efficiency on a sample of signal events provided by BPH.