CICADA-uGT emulator additions
PR description:
This PR adds the uGT half of the CICADA -> uGT emulator chain. It adds all the pieces needed to parse and compare the new CICADA condition added in uTM v 0.12.0. This is being opened in draft because no unpacker/packer combo is available yet, but will be added after I have had the chance to speak to experts about reading the CICADA record.
Depends on utm version 0.12.0
@elfontan You should likely take a look at my work on this, this is more working with uGT than I am used to.
@cms-sw/hlt-l2 Just in case you aren't automatically pinged on this, FYI. There is no unpacker/packer, but I will keep this in draft while I develop them. I will be speak to experts about it ASAP.
EDIT 06/03/24: Draft unpacker (not non-trivially tested) added.
PR validation:
All code compiles and has had code formatting applied.
In addition, I have tested the emulator on a new proto-type menu including a CICADA seed: https://cernbox.cern.ch/files/link/public/LeBbgndwFDjWoI5?tiles-size=1&items-per-page=100&view-mode=resource-table
The emulator runs all the way through. The following are debug statements (now removed) from various components of the global board, CICADA conditions, and trigger menu parser showing that the emulator receives the score, compares to the menu, and in this case, decides it is below threshold and doesn't pass the menu cut:
Begin processing the 2nd record. Run 368566, Event 2615907242, LumiSection 1195 on stream 0 at 27-Feb-2024 08:34:54.517 CST
GlobalBoard::receiveCaloObjectData receive cicada
Valid CICADA
2.73438
GlobalBoard::runGTL CondCICADA
CICADACondition::evaluationCondition begin
cicada score is: 2.73438
min threshold is: 42
passCondition? 0
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 however, is likely to be needed for data-taking so a backport is probable to CMSSW_14_0.
cms-bot internal usage
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39227
-
This PR adds an extra 68KB to repository
-
There are other open Pull requests which might conflict with changes you have proposed:
- File L1Trigger/L1TGlobal/plugins/L1TGlobalProducer.cc modified in PR(s): #44054
- File L1Trigger/L1TGlobal/plugins/TriggerMenuParser.cc modified in PR(s): #44054
- File L1Trigger/L1TGlobal/plugins/TriggerMenuParser.h modified in PR(s): #44054
- File L1Trigger/L1TGlobal/python/simGtStage2Digis_cfi.py modified in PR(s): #44054
- File L1Trigger/L1TGlobal/src/GlobalBoard.cc modified in PR(s): #44054
I'm marking this pull request ready after adding the unpacker commit. However, I should stress that the unpacker has not been tested in realistic conditions with actual CICADA input data present, and therefore has not been tested to be working. It does compile, and it does seem to properly fail-safe to a 0.0 score in the case of nothing to unpack/nothing unpacked.
-code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39361
-
This PR adds an extra 80KB to repository
-
There are other open Pull requests which might conflict with changes you have proposed:
- File EventFilter/L1TRawToDigi/plugins/implementations_stage2/GTSetup.cc modified in PR(s): #44019
- File L1Trigger/L1TGlobal/plugins/L1TGlobalProducer.cc modified in PR(s): #44054
- File L1Trigger/L1TGlobal/plugins/TriggerMenuParser.cc modified in PR(s): #44054
- File L1Trigger/L1TGlobal/plugins/TriggerMenuParser.h modified in PR(s): #44054
- File L1Trigger/L1TGlobal/python/simGtStage2Digis_cfi.py modified in PR(s): #44054
- File L1Trigger/L1TGlobal/src/GlobalBoard.cc modified in PR(s): #44054
Code check has found code style and quality issues which could be resolved by applying following patch(s)
- code-format:
https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39361/code-format.patch
e.g.
curl -k https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39361/code-format.patch | patch -p1You can also runscram build code-formatto apply code format directly
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39362
-
This PR adds an extra 80KB to repository
-
There are other open Pull requests which might conflict with changes you have proposed:
- File EventFilter/L1TRawToDigi/plugins/implementations_stage2/GTSetup.cc modified in PR(s): #44019
- File L1Trigger/L1TGlobal/plugins/L1TGlobalProducer.cc modified in PR(s): #44054
- File L1Trigger/L1TGlobal/plugins/TriggerMenuParser.cc modified in PR(s): #44054
- File L1Trigger/L1TGlobal/plugins/TriggerMenuParser.h modified in PR(s): #44054
- File L1Trigger/L1TGlobal/python/simGtStage2Digis_cfi.py modified in PR(s): #44054
- File L1Trigger/L1TGlobal/src/GlobalBoard.cc modified in PR(s): #44054
A new Pull Request was created by @aloeliger for master.
It involves the following packages:
- EventFilter/L1TRawToDigi (l1)
- L1Trigger/L1TGlobal (l1)
@aloeliger, @epalencia, @cmsbuild can you please review it and eventually sign? Thanks. @Martin-Grunewald, @thomreis, @missirol, @dinyar, @eyigitba this is something you requested to watch as well. @sextonkennedy, @antoniovilela, @rappoccio you are the release manager for this.
cms-bot commands are listed here
assign hlt
- I think HLT wants to sign off on changes to the uGT emulator?
New categories assigned: hlt
@Martin-Grunewald,@mmusich you have been requested to review this Pull request/Issue and eventually sign? Thanks
It is not clear to me how/where the unpacker is called. Within existing (unpacking) code or a new module, which needs to be added to some python unpacking sequence? What about the packer?
It is not clear to me how/where the unpacker is called. Within existing (unpacking) code or a new module, which needs to be added to some python unpacking sequence? What about the packer?
@Martin-Grunewald It's defined as part of the GT unpacking setup here: https://github.com/cms-sw/cmssw/blob/c0b5b266322de4b536b3e8bd7d41749da8b74764/EventFilter/L1TRawToDigi/plugins/implementations_stage2/GTSetup.cc#L131
I need to wait until I have test crate records before I can test this non-trivially however. (Seems like it wont unpack empty/unused records?).
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39370
-
This PR adds an extra 24KB to repository
-
There are other open Pull requests which might conflict with changes you have proposed:
- File EventFilter/L1TRawToDigi/plugins/implementations_stage2/GTSetup.cc modified in PR(s): #44019
- File L1Trigger/L1TGlobal/plugins/L1TGlobalProducer.cc modified in PR(s): #44054
- File L1Trigger/L1TGlobal/plugins/TriggerMenuParser.cc modified in PR(s): #44054
- File L1Trigger/L1TGlobal/plugins/TriggerMenuParser.h modified in PR(s): #44054
- File L1Trigger/L1TGlobal/python/simGtStage2Digis_cfi.py modified in PR(s): #44054
- File L1Trigger/L1TGlobal/src/GlobalBoard.cc modified in PR(s): #44054
Pull request #44222 was updated. @epalencia, @Martin-Grunewald, @mmusich, @cmsbuild, @aloeliger can you please check and sign again.
@cmsbuild, please test
+1
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-547e2e/38435/summary.html
COMMIT: d7cb22a9e5325ddd4db1db0cf3ef8b0a89240af9
CMSSW: CMSSW_14_1_X_2024-03-26-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/44222/38435/install.sh to create a dev area with all the needed externals and cmssw changes.
Comparison Summary
Summary:
- You potentially added 59 lines to the logs
- ROOTFileChecks: Some differences in event products or their sizes found
- Reco comparison results: 51 differences found in the comparisons
- DQMHistoTests: Total files compared: 48
- DQMHistoTests: Total histograms compared: 3297857
- DQMHistoTests: Total failures: 9
- DQMHistoTests: Total nulls: 0
- DQMHistoTests: Total successes: 3297828
- DQMHistoTests: Total skipped: 20
- DQMHistoTests: Total Missing objects: 0
- DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
- Checked 202 log files, 165 edm output root files, 48 DQM output files
- TriggerResults: no differences found
code-checks
-code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39722
ERROR: Unable to merge PR.
See log https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39722/cms-checkout-topic.log
CICADA is likely coming online for testing in the near future. I have rebased this PR to fix the conflicts.
uGT has also provided a more accurate input record example for what CICADA needs to unpack. I will be making the necessary changes ASAP and testing as soon as I am able.
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39931
- This PR adds an extra 64KB to repository
Pull request #44222 was updated. @cmsbuild, @Martin-Grunewald, @epalencia, @aloeliger, @mmusich can you please check and sign again.
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39950
- This PR adds an extra 88KB to repository
Pull request #44222 was updated. @aloeliger, @mmusich, @cmsbuild, @epalencia, @Martin-Grunewald can you please check and sign again.
Okay. After discussion with uGT experts, and a quick reference on what the input record for the calosummary/CICADA card is expected to look like (included below), I have updated the unpacker and CICADA emulator to take advantage of all BXs by changing emulator outputs and unpacker outputs to BX vectors (the uGT changes have been updated to use this BX vector & grab the only guaranteed available BX, the central one). The emulator will not, and really cannot create information for BXs outside the central one, but the unpacked CICADA BXs may be useful for other studies around CICADA (pre-firing comes to mind?) At this point, this unpacker has still not been thoroughly tested (I am searching for a way to verify it ASAP), but it should now theoretically be complete.
Reference on CICADA input records at uGT:
161e0200xxxxxxxx => "16" indicates begin of CICADA input data
2000000010000000 => AD I LSB (cicada frame 1, bx-2) & AD I MSB (cicada frame 0, bx-2)
4000000030000000 => AD D LSB (cicada frame 3, bx-2) & AD D MSB (cicada frame 2, bx-2)
0000000000000000 => free (cicada frame 5, bx-2) & free (cicada frame 4, bx-2)
6000000050000000 => AD I LSB (cicada frame 1, bx-1) & AD I MSB (cicada frame 0, bx-1)
8000000070000000 => AD D LSB (cicada frame 3, bx-1) & AD D MSB (cicada frame 2, bx-1)
0000000000000000 => free (cicada frame 5, bx-1) & free (cicada frame 4, bx-1)
a000000090000000 => AD I LSB (cicada frame 1, bx) & AD I MSB (cicada frame 0, bx)
c0000000b0000000 => AD D LSB (cicada frame 3, bx) & AD D MSB (cicada frame 2, bx)
0000000000000000 => free (cicada frame 5, bx) & free (cicada frame 4, bx)
e0000000d0000000 => AD I LSB (cicada frame 1, bx+1) & AD I MSB (cicada frame 0, bx+1)
f0000000f0000000 => AD D LSB (cicada frame 3, bx+1) & AD D MSB (cicada frame 2, bx+1)
0000000000000000 => free (cicada frame 5, bx+1) & free (cicada frame 4, bx+1)
8000000070000000 => AD I LSB (cicada frame 1, bx+2) & AD I MSB (cicada frame 0, bx+2)
1000000020000000 => AD D LSB (cicada frame 3, bx+2) & AD D MSB (cicada frame 2, bx+2)
0000000000000000 => free (cicada frame 5, bx+2) & free (cicada frame 4, bx+2)
xxxxxxxx181e0100 => "18" indicates begin of EXTERNAL CONDITION input data
"AD I": means Anomaly Detection Integer part (8 bits).
"AD D": means Anomaly Detection Decimal part (8 bits).
"MSB": means the 4 most significant bits of the 8 bits word (bits 31..28 in record),
"LSB": means the 4 least significant bits of the 8 bits word (bits 63..60 in record).
(Bits 59..32 and 27..0 of frames 0..3 and all bits of frames 4..5 are always zero).
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39951
- This PR adds an extra 60KB to repository
Pull request #44222 was updated. @cmsbuild, @mmusich, @Martin-Grunewald, @epalencia, @aloeliger can you please check and sign again.
please test
-1
Failed Tests: RelVals RelVals-INPUT AddOn
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-547e2e/38837/summary.html
COMMIT: 9c81c2f1d17eecd8ecf16e1764b5c12975222aa2
CMSSW: CMSSW_14_1_X_2024-04-14-0000/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/44222/38837/install.sh to create a dev area with all the needed externals and cmssw changes.
RelVals
- 139.001
A fatal system signal has occurred: abort signal - 140.023
A fatal system signal has occurred: abort signal - 136.731
A fatal system signal has occurred: abort signal
Expand to see more relval errors ...
RelVals-INPUT
- 136.721
136.721_RunHLTPhy2016B/step2_RunHLTPhy2016B.log - 136.722
136.722_RunDoubleEG2016B/step2_RunDoubleEG2016B.log - 136.723
136.723_RunDoubleMuon2016B/step2_RunDoubleMuon2016B.log
Expand to see more relval errors ...
- 136.724
- 136.725
- 136.726
- 136.732
- 136.73
- 136.731
- 136.729
- 134.813
- 136.728
- 136.727
- 136.733
- 136.734
- 136.735
- 136.736
- 136.738
- 136.737
- 136.741
- 136.743
- 136.74
- 136.745
- 136.739
- 136.742
- 136.744
- 136.746
- 136.747
- 136.748
- 136.749
- 136.75
- 136.752
- 136.751
- 136.753
- 136.754
- 136.761
- 136.759
- 136.757
- 136.755
- 136.756
- 136.758
- 136.76
- 136.762
- 136.763
- 136.764
- 136.766
- 136.765
- 136.767
- 136.772
- 136.771
- 136.77
- 136.774
- 136.773
- 136.769
- 136.768
- 136.775
- 136.776
- 136.778
- 136.777
- 136.779
- 136.78
- 136.782
- 136.781
- 136.784
- 136.783
- 136.785
- 136.786
- 136.787
- 136.788
- 136.789
- 136.79
- 136.791
- 136.7803
- 136.792
- 136.793
- 136.794
- 136.795
- 136.796
- 136.8
- 136.799
- 136.798
- 136.801
- 136.797
- 136.802
- 136.803
- 136.804
- 136.805
- 136.806
- 136.809
- 136.808
- 136.807
- 136.81
- 136.811
- 136.815
- 136.818
- 136.812
- 136.814
- 136.819
- 136.82
- 136.817
- 136.813
- 136.816
- 136.821
- 136.822
- 136.825
- 136.823
- 136.824
- 136.826
- 136.827
- 136.828
- 136.829
- 136.833
- 136.834
- 136.83
- 136.831
- 136.832
- 136.836
- 136.835
- 136.839
- 136.838
- 136.837
- 136.84
- 136.841
- 136.842
- 136.8391
- 136.848
- 136.845
- 136.844
- 136.846
- 136.843
- 136.847
- 136.849
- 136.8501
- 136.85
- 136.851
- 136.852
- 136.853
- 136.854
- 136.856
- 136.855
- 136.8561
- 136.859
- 136.8562
- 136.858
- 136.86
- 136.861
- 136.857
- 136.863
- 136.862
- 136.864
- 136.8642
- 136.866
- 136.865
- 136.867
- 136.868
- 136.869
- 136.87
- 136.871
- 136.876
- 136.872
- 136.873
- 136.875
- 136.874
- 136.877
- 136.878
- 136.879
- 136.88
- 136.882
- 136.881
- 136.884
- 136.885
- 136.8855
- 136.883
- 136.8861
- 136.887
- 136.8862
- 136.888
- 136.886
- 136.89
- 136.8885
- 136.889
- 136.893
- 136.892
- 136.891
- 136.894
- 136.895
- 136.896
- 139.001
- 136.898
- 137.8
- 136.897
- 136.899
- 138.1
- 138.2
- 139.003
- 139.004
- 139.002
- 140.001
- 140.002
- 140.003
- 140.005
- 140.008
- 140.007
- 140.01
- 138.4
- 140.022
- 140.023
- 138.5
- 140.025
- 140.024
- 140.027
- 140.026
- 140.028
- 140.029
- 140.03
- 140.031
- 140.042
- 140.044
- 140.043
- 140.045
- 140.046
- 140.047
- 140.048
- 140.049
- 140.05
- 140.051
- 140.062
- 140.064
- 140.063
- 140.065
- 140.066
- 140.067
- 140.068
- 140.069
- 140.071
- 140.072
- 140.073
- 140.075
- 140.077
- 140.078
- 140.074
- 140.102
- 140.101
- 140.103
- 140.076
- 140.104
- 140.105
- 140.106
- 140.107
- 140.108
- 140.109
- 140.11
- 140.111
- 140.112
- 141.001
- 141.002
- 141.003
- 141.004
- 141.005
- 141.006
- 141.007
- 141.008
- 141.008505
- 141.008511
- 140.61
- 141.008521
- 141.01
- 140.57
- 140.56
- 141.011
- 141.012
- 141.031
- 141.013
- 141.032
- 141.033
- 141.034
- 141.035
- 141.036
- 141.037
- 141.038
- 141.039
- 141.041
- 141.042
- 141.043
- 141.044
- 141.045
- 141.046
- 141.048
- 141.047
- 141.106
- 141.101
- 141.049
- 141.102
- 141.104
- 141.103
- 141.105
- 141.107
- 141.108
- 141.109
- 141.11
- 141.111
- 141.112
- 158.2
- 158.1
- 142.0
- 158.3
- 1306.0
- 1307.0
- 141.114
- 1308.0
- 1309.0
- 1311.0
- 1310.0
- 141.901
- 141.902
- 1312.0
- 1314.0
- 1313.0
- 1315.0
- 1317.0
- 1318.0
- 1316.0
- 1319.0
- 1320.0
- 1321.0
- 1322.0
- 1323.0
- 1325.0
- 1324.0
- 1325.2
- 1325.1
- 1325.3
- 1325.4
- 1325.9
- 1325.91
- 1326.0
- 1327.0
- 1328.0
- 1333.0
- 1329.0
- 1331.0
- 1330.0
- 1332.0
- 1334.0
- 1335.0
- 1336.0
- 1337.0
- 1338.0
- 1339.0
- 1343.0
- 1341.0
- 1340.0
- 1344.0
- 1345.0
- 1348.0
- 1349.0
- 1350.0
- 1347.0
- 1351.0
- 1352.0
- 1353.0
- 1354.0
- 1355.0
- 1364.0
- 1365.0
- 1366.0
- 139901.0
- 139902.0
- 13992501.0
- 13992502.0
- 25200.0
- 25202.0
- 25202.15
- 25202.1
- 25203.0
- 25202.2
- 25204.0
- 25205.0
- 25206.0
- 25207.0
- 11024.2
- 25209.0
- 25208.0
- 25214.0
- 1001.3
- 1001.4
- 1002.3
- 1002.4
- 1001.2
- 10001.0
- 10002.0
- 10003.0
- 10004.0
- 10008.0
- 10007.0
- 10005.0
- 10006.0
- 10009.0
- 1040.0
- 10023.0
- 10024.3
- 10024.2
- 10024.1
- 10024.0
- 10424.0
- 10024.4
- 10025.0
- 10071.0
- 10059.0
- 10026.0
- 10042.0
- 10801.0
- 10224.15
- 10225.0
- 10224.0
- 10802.0
- 10804.31
- 10804.0
- 10805.0
- 10805.31
- 10803.0
- 10824.0
- 10808.0
- 10806.0
- 10809.0
- 10807.0
- 10823.0
- 10824.1
- 10825.0
- 10824.8
- 10824.6
- 10826.0
- 11601.0
- 11602.0
- 10871.0
- 10842.0
- 11604.0
- 10859.0
- 11603.0
- 11605.0
- 11606.0
- 11224.0
- 11224.6
- 11607.0
- 11024.15
- 11024.0
- 11025.0
- 11024.6
- 11634.24
- 11634.0
- 11634.15
- 11609.0
- 11634.1
- 11608.0
- 11634.7
- 11630.0
- 11634.91
- 11640.0
- 11643.0
- 11646.0
- 11650.0
- 11723.17
- 11834.24
- 12034.0
- 11834.13
- 11834.0
- 11834.21
- 11834.19
- 11846.0
- 11846.19
- 12434.501
- 12434.505
- 12434.0
- 12434.511
- 12434.521
- 12434.7
- 12446.0
- 12450.501
- 12450.505
- 12461.0
- 12834.0
- 12834.402
- 12834.412
- 12834.7
- 12861.0
- 12846.0
- 12634.0
- 13034.0
- 24034.0
- 250200.0
- 250202.0
- 250200.17
- 250202.17
- 250200.18
- 250202.172
- 250202.18
- 250202.2
- 250203.0
- 250204.0
- 250202.4
- 250205.0
- 250203.17
- 250203.18
- 250204.17
- 250206.0
- 250205.17
- 250204.18
- 250205.18
- 250207.0
- 250206.17
- 250206.18
- 250207.17
- 250208.17
- 250207.18
- 250208.18
- 2500.51
- 2500.5
AddOn Tests
A fatal system signal has occurred: abort signal
A fatal system signal has occurred: abort signal
A fatal system signal has occurred: abort signal
Expand to see more addon errors ...
+code-checks
Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39952
- This PR adds an extra 120KB to repository
Pull request #44222 was updated. @Martin-Grunewald, @epalencia, @aloeliger, @mmusich, @cmsbuild can you please check and sign again.
please test
-1
Failed Tests: RelVals-INPUT
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-547e2e/38839/summary.html
COMMIT: 2464dc6fe24eba32171954bac6a12837bb2a4706
CMSSW: CMSSW_14_1_X_2024-04-14-0000/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/44222/38839/install.sh to create a dev area with all the needed externals and cmssw changes.
RelVals-INPUT
- 250202.17
250202.17_TTbar13TeVPUpmx2017/step2_TTbar13TeVPUpmx2017.log
Comparison Summary
Summary:
- You potentially removed 16 lines from the logs
- ROOTFileChecks: Some differences in event products or their sizes found
- Reco comparison results: 49 differences found in the comparisons
- DQMHistoTests: Total files compared: 48
- DQMHistoTests: Total histograms compared: 3317870
- DQMHistoTests: Total failures: 6
- DQMHistoTests: Total nulls: 0
- DQMHistoTests: Total successes: 3317844
- DQMHistoTests: Total skipped: 20
- DQMHistoTests: Total Missing objects: 0
- DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
- Checked 202 log files, 165 edm output root files, 48 DQM output files
- TriggerResults: no differences found