Skip to content
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

Adding the new muon track finder index and three eta cuts features in the GT emulator #41312

Merged
merged 10 commits into from
Apr 19, 2023

Conversation

elfontan
Copy link
Contributor

@elfontan elfontan commented Apr 11, 2023

PR description:

This PR includes two updates of the GT emulator accorging to the latest version of the utm library v0.11.2 (see details in CMSLITDPG-1104) and developments of the L1 menu for Run 3:

  • Usage of three eta cuts (up to five cuts are allowed) in the design of the muon algorithms with the upt requirement. The check on the eta range is now implemented as a function checking a vector of eta windows to handle the five cuts in a easier way.
  • New track finder index feature for muons in the uGT emulator needed for the update of the 2023 L1 menu as detailed in CMSLITDPG-1075). Note that the missing muon index data is also included in the GtRecordDumper, needed to produce a test vector as input to the firmware validation. The bits assigned to muon index in the muon object are 36..42 (see Table 6 in the uGT firmware documentation - scales_inputs_2_ugt.pdf). Thank you @arnobaer and Herbert for the work!

These updates are needed for the deployment of the Run L1 menu L1Menu_Collisions2023_v1_0_1 in view of the first stable beams at 13.6 TeV or soon after.
Backport to CMSSW_13_0_X: #41313.

PR validation:

Basic tests performed successfully starting from CMSSW_13_1_X_2023-04-06-1100

cmsrel CMSSW_13_1_X_2023-04-06-1100
cd CMSSW_13_1_X_2023-04-06-1100/src
cmsenv
git cms-addpkg L1Trigger/L1TGlobal
git cms-addpkg L1Trigger/Configuration
scram b distclean
git cms-checkdeps -a -A
scram b -j 8
scram b runtests
scram build code-checks
scram build code-format

A cross-check of the countings of each trigger bit in the new firmware and in the updated emulator showed a perfect match.

Basic cmsDriver command for L1Ntuple production successfully tested:

cmsDriver.py l1Ntuple -s RAW2DIGI --python_filename=test.py -n 1000 --no_output --era=Run3 --data --conditions=124X_dataRun3_Prompt_v4 --customise=L1Trigger/Configuration/customiseReEmul.L1TReEmulFromRAW --customise=L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleRAWEMU --filein=/store/data/Run2022F/EphemeralZeroBias0/RAW/v1/000/361/468/00000/52351179-2329-47d8-bffc-a01833bb1704.root --fileout=L1Ntuple.root

Note that the temporary release CMSSW_13_1_X_2023-04-06-1100 is not available anymore, so that final tests have been performed in CMSSW_13_1_X_2023-04-15-1100.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-41312/35125

  • This PR adds an extra 64KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @elfontan (Elisa Fontanesi) for master.

It involves the following packages:

  • L1Trigger/L1TGlobal (l1)

@epalencia, @cmsbuild, @cecilecaillol, @aloeliger can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @missirol this is something you requested to watch as well.
@perrotta, @dpiparo, @rappoccio you are the release manager for this.

cms-bot commands are listed here

@@ -342,7 +350,35 @@ namespace l1t {
<< "\n\t passWindow2 = " << passWindow2
<< "\n\t pass W1 || W2 = " << (passWindow1 || passWindow2) << std::endl;

if (passWindow1 || passWindow2) {
if (W3beginR == W2endR && W3beginR == (Type1)-1) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this templated check require that Type1 be of some type with a definable subtraction with integers? Is that guaranteed?

@elfontan
Copy link
Contributor Author

Hi @aloeliger,
honestly I followed here the logic that was used for checking the validity until now (both for eta & phi and explained here) without any further investigation. I am not sure why the chosen implementation was this one, but until now it was always found to be in agreement with the firmware behaviour and did not show any problem.
(Maybe @arnobaer or @rekovic or @cavana, who were around before me, know some details?)
Otherwise do you have in mind any additional test to further validate this @aloeliger?

Cheers,
--Elisa

P.S. I am waiting for the confirmation about the firmware and emulator agreement before moving the PR to ready for review.

@aloeliger
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-7e7bc3/31947/summary.html
COMMIT: 2a8a12b
CMSSW: CMSSW_13_1_X_2023-04-12-1100/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/41312/31947/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 13 lines to the logs
  • Reco comparison results: 8 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3459609
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3459581
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 207 log files, 159 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

@cmsbuild
Copy link
Contributor

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)

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-41312/35235

  • This PR adds an extra 68KB to repository

@cmsbuild
Copy link
Contributor

Pull request #41312 was updated. @epalencia, @cmsbuild, @cecilecaillol, @aloeliger can you please check and sign again.

@perrotta
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-7e7bc3/32052/summary.html
COMMIT: 7040819
CMSSW: CMSSW_13_1_X_2023-04-19-1100/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/41312/32052/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 1 lines to the logs
  • Reco comparison results: 12 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3459877
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3459849
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 207 log files, 159 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

@perrotta
Copy link
Contributor

+1

  • Last commit only fixed some debug statement
  • I assume that the previous signature of @aloeliger for @cms-sw/l1-l2 can be still considered as good

@perrotta
Copy link
Contributor

merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants