-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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):
|
Was it explicitly checked that this higher number of accepted events corresponds to better data-emulator agreement, or did you only observe that that seed was firing more often after the update of the emulator ?
If I understand correctly, this only shows the emulated decision of that seed is "true" 19 times with #46026, and 5 times without it, but it does not really say anything on the agreement between unpacked and emulated decisions, does it ? |
Thanks for the feedback. I checked the agreement between unpacked and emulated GT decisions using the following recipe based on #46026 (comment). cmsrel CMSSW_15_0_0_pre1
cd CMSSW_15_0_0_pre1/src
cmsenv
# the following branch adds a simple analyzer to print warnings
# in case of disagreements between unpacked and emulated GT decisions
git cms-merge-topic missirol:val_cmssw46026
mkdir -p L1Trigger/L1TGlobal/data/Luminosity/startup
cd L1Trigger/L1TGlobal/data/Luminosity/startup
wget https://raw.githubusercontent.com/cms-l1-dpg/L1MenuRun3/refs/heads/master/development/L1Menu_Collisions2024_v1_3_0/L1Menu_Collisions2024_v1_3_0.xml
cd -
scram b
voms-proxy-init --rfc --voms cms -valid 192:00
cmsRun L1Trigger/L1TGlobal/test/testVectorCode_data.py &> test1.log
grep L1_CDC test1.log This is without reverting #46026, and it returns data-emulator disagreements for
If one reverts #46026, and reruns the same test, these disagreements go away: unpacked and emulated decisions for
Once again, this suggests to me that #46026 should be reverted. |
revert #46026 (L1-uGT emulator)
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