-
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
Fixes mismatches between emulator and fw on CDC dimuon seed #46026
Conversation
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-46026/41825 |
A new Pull Request was created by @nabrandman for master. It involves the following packages:
@aloeliger, @cmsbuild, @epalencia can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
what's the interplay of this with #44940 and CMSHLT-3216? |
If I understand the linked issues correctly then this PR shouldn't have any affect on them. It looks to me like the problem described was that the object map didn't contain information about which BX an object came from, and so the HLTL1TSeed exclusively tried to add objects from BX=0, but sometimes when the object map was referring to an object from BX=-1 HLTL1TSeed would try to add a non-existent object, causing a crash. All this PR changes is what muons the uGT emulator considers to be in BX=-1 & BX=-2 when evaluating if objects pass the conditions. So if HLTL1TSeed isn't adding objects from BX=-1 or BX=-2 anyway then this PR shouldn't affect it. |
@cmsbuild, please test |
+1 Size: This PR adds an extra 12KB to repository Comparison SummarySummary:
|
+l1 |
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. @rappoccio, @mandrenguyen, @antoniovilela, @sextonkennedy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
@cms-sw/l1-l2 I think #47030 shows (see its description) a case where this PR seems to introduce a disagreement between firmware and emulated decisions of the CDC seed (as opposed to removing such discrepancies). Is it possible to have more details on the validation done for this PR ? Is there a recipe to reproduce (a) the CDC firmware/emulator discrepancies seen before this PR, and (b) the removal of said discrepancies thanks to this PR ? |
|
Hi @missirol @aloeliger all, @nabrandman focused on checking the agreement via test vectors with the GT firmware, and the recipe followed was probably something like in the following. I ask him to confirm if the results that he observed were similar (e.g. an increased number of cases in which the emulator fires, as observed in the firmware and if the behaviour of the firmware test vector code was by chance counting all triggers -in all BXs- as opposed to only triggers in BX 0). Validation steps General recipe to prepare test vectors from data (in CMSSW_14_2_0_pre2, where cms-sw/cmssw#46026 is integrated):
A good data file to run from EphemeralHLTPhysics2 (now accessible thanks to a Rucio rule by @mtosi)
The same flow can be run in Results (for 1 orbit=3564 events):
|
PR description:
Corrects mismatches between emulator and firmware from L1_CDC_SingleMu_3_er1p2_TOP120_DPHI2p618_3p142
This particular algorithm requires muon information from the current bunch crossing and the previous bunch crossing, this fix stores the previous bunch crossings in vectors so that the emulator can continue to access this muon data to check the conditions of this algorithm.
No changes are expected in the output.
This PR does not rely on any other PRs or externals.
PR validation:
Performed runTheMatrix with -l 11634.0, passed 5 out of 5 tests.
Test vector code was in agreement with firmware.
Changes were checked against "scram build code-format" to ensure they followed CMS Naming, Coding and Style Rules.
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 is not a backport