-
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 EmissionVetoHook for BB4L #42264
Conversation
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-42264/36288
|
A new Pull Request was created by @lauridsj (Laurids Jeppe) for master. It involves the following packages:
@SiewYan, @mkirsano, @Saptaparna, @cmsbuild, @alberto-sanchez, @menglu21, @GurpreetSinghChahal can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
@cmsbuild please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-f3bd26/33746/summary.html Comparison SummarySummary:
|
Discussed PR with @lauridsj and ready to sign. |
+1 |
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, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
@@ -442,7 +442,7 @@ bool EmissionVetoHook1::doVetoFSREmission(int, const Pythia8::Event &e, int iSys | |||
return false; | |||
|
|||
// only use for outside resonance vetos in combination with bb4l:FSREmission:veto |
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.
Also the comment line should be updated accordingly
And please fix also the PR description, which is misleading:
"The showering is set up in such a way that emissions that are outside a resonance, i.e. do not come from top quarks, are handled by the normal EmissionVetoHook1.cc hook, while PowhegHooksBB4L.h handles emissions that are inside a resonance.
Looking at the single changed line, it can be clearly seen that the condition needs to be the other way around for this to happen correctly - if the emission is in resonance, the EmissionVetoHook should not consider it, and leave it up to PowhegHooksBB4L."
(You say that the condition needs to be to other way around, but you repeat the same conditions as before)
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.
Hi,
I've updated the PR description to hopefully make it more clear. As far as I can tell, the comment is already correct (it was not describing the code before the change, which is partly how I found the bug).
+1 |
PR description:
This PR fixes a bug in the Pythia showering hook specific to the bb4l generator, described in #40459.
bb4l generates up to three real emissions at the LHE level - one from the initial state, and one each from two possible top quarks. This requires a special shower hook to handle, implemented in CMSSW in PowhegHooksBB4L.h. The showering is set up in such a way that emissions that are outside a resonance, i.e. do not come from top quarks, are handled by the normal EmissionVetoHook1.cc hook, while PowhegHooksBB4L.h handles emissions that are inside a resonance.
Looking at the single changed line, it can be clearly seen that the condition in the code needs to be changed for this to happen correctly - if the emission is in resonance, the EmissionVetoHook should not consider it (i.e. return false to not proceed to the actual vetoing), and leave it up to PowhegHooksBB4L.
Due to the second part of the if condition, it is clear that only bb4l is affected.
PR validation:
I tested this change against a standalone pythia setup that uses a hook provided by the bb4l authors. Changes are only minimal, and only in variables that are very sensitive to FSR. There is a small change due to the fix in the number of jets, seen here as well as angular variables between jets, e.g. dR of the first two light jets here. In both cases the fixed version agrees with the standalone setup. Lepton observables seem unaffected.
If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:
This PR will need to be backported to CMSSW 10 for UL event generation and, eventually, to CMSSW 12 for Run 3 event generation.