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

possibility of configuring the OMTF emulator directly from XMLs #45032

Merged

Conversation

kbunkow
Copy link
Contributor

@kbunkow kbunkow commented May 23, 2024

PR description:

This PR adds the possibility of configuring the OMTF emulator directly from the config XML, without using the L1TMuonOverlapPhase1ParamsESProducer. It should allow to avoid problems with the OMTF emulator that appeared in the #44498 - as discussed in the #44498 (comment).

PR validation:

The PR was validated with the workflow 141.044 (runTheMatrix.py -l 141.044 -i all --ibeos). The OMTF plots look good.

This PR is not a backport.

Details of changes:

OMTFReconstruction.h and OMTFReconstruction.cc
The possibility of configuring the OMTF emulator directly from the config XML is added. When both patternsXMLFile and configXMLFile are given from the python config of the simOmtfDigis or simOmtfPhase2Digis, the L1TMuonOverlapParams are read directly from these files, and the L1TMuonOverlapPhase1ParamsESProducer is not needed. Otherwise, the L1TMuonOverlapParams are obtained from the eventSetup (so from the DB, or from the L1TMuonOverlapPhase1ParamsESProducer - if it is defined).

L1Trigger/L1TMuonOverlapPhase2/python/fakeOmtfParamsPhase2_cff.py is removed, as when it is used, the L1TMuonOverlapPhase1 gets this config as well.

L1Trigger/L1TMuonOverlapPhase2/python/simOmtfPhase2Digis_extrapol_cfi.py is moved to
simOmtfPhase2Digis_cfi.py, as this is the default configuration (besides, there should be only one cfi for a given module).

L1Trigger/L1TMuonOverlapPhase1/src/Omtf/OMTFProcessor.cc line
trackAddr[3] = myCand->getGpResultUnconstr().getPdfSumUnconstr(); is removed, as uGMT expects 3 entries in the TrackAddress (when there were 4, uGMT was generating a warning).

L1Trigger/L1TMuonOverlapPhase2/test - runMuonOverlap*.py are corrected

OMTFReconstruction.h and OMTFReconstruction.cc
The possibility of configuring the OMTF emulator directly from the
config XML is added. When both patternsXMLFile and configXMLFile are
given from the python config of the simOmtfDigis or simOmtfPhase2Digis,
the L1TMuonOverlapParams are read directly from these files, and
the L1TMuonOverlapPhase1ParamsESProducer is not needed. Otherwise, the
L1TMuonOverlapParams are obtained from the eventSetup (so from the DB,
or from the L1TMuonOverlapPhase1ParamsESProducer - if it is defined).

L1Trigger/L1TMuonOverlapPhase2/python/fakeOmtfParamsPhase2_cff.py is
removed, as when it is used, the L1TMuonOverlapPhase1 gets this config
as well.

L1Trigger/L1TMuonOverlapPhase2/python/simOmtfPhase2Digis_extrapol_cfi.py
is moved to
simOmtfPhase2Digis_cfi.py, as this is the default configuration
(besides, there should be only one cfi for a given module).

L1Trigger/L1TMuonOverlapPhase1/src/Omtf/OMTFProcessor.cc
line
trackAddr[3] = myCand->getGpResultUnconstr().getPdfSumUnconstr();
is removed, as uGMT expects 3 entries in the TrackAddress (when there
were 4, uGMT was generating a warning).

L1Trigger/L1TMuonOverlapPhase2/test - runMuonOverlap*.py are corrected
@cmsbuild
Copy link
Contributor

cmsbuild commented May 23, 2024

cms-bot internal usage

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-45032/40324

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @kbunkow for master.

It involves the following packages:

  • L1Trigger/L1TMuonOverlapPhase1 (l1)
  • L1Trigger/L1TMuonOverlapPhase2 (upgrade, l1)

@aloeliger, @epalencia, @srimanob, @subirsarkar, @cmsbuild can you please review it and eventually sign? Thanks.
@JanFSchulte, @thomreis, @Martin-Grunewald, @dinyar, @eyigitba, @missirol this is something you requested to watch as well.
@rappoccio, @sextonkennedy, @antoniovilela you are the release manager for this.

cms-bot commands are listed here

@epalencia
Copy link
Contributor

Please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6a0d5a/39512/summary.html
COMMIT: 948fd54
CMSSW: CMSSW_14_1_X_2024-05-24-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/45032/39512/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

zhenbinwu pushed a commit to zhenbinwu/cmssw that referenced this pull request May 24, 2024
@artlbv
Copy link
Contributor

artlbv commented May 27, 2024

Interestingly, this PR now also shows some differences in the Run3 OMTFoutput_vs_uGMTinput DQM, even though when tested alone this PR does not add the new Phase-2 OMTF into the L1 sequence yet.

https://cmssdt.cern.ch/SDT/jenkins-artifacts/baseLineComparisons/CMSSW_14_1_X_2024-05-24-1100+6a0d5a/62881/141.046_RunEGamma2023D/L1T_L1TStage2uGMT_OMTFoutput_vs_uGMTinput.html

Is this expected? @kbunkow @mbluj

@kbunkow
Copy link
Contributor Author

kbunkow commented May 27, 2024

Interestingly, this PR now also shows some differences in the Run3 OMTFoutput_vs_uGMTinput DQM, even though when tested alone this PR does not add the new Phase-2 OMTF into the L1 sequence yet.

https://cmssdt.cern.ch/SDT/jenkins-artifacts/baseLineComparisons/CMSSW_14_1_X_2024-05-24-1100+6a0d5a/62881/141.046_RunEGamma2023D/L1T_L1TStage2uGMT_OMTFoutput_vs_uGMTinput.html

Is this expected? @kbunkow @mbluj

The difference in the L1T_L1TStage2uGMT_OMTFoutput_vs_uGMTinput plots is due to a change in the
L1Trigger/L1TMuonOverlapPhase1/src/Omtf/OMTFProcessor.cc, i.e. removed line
trackAddr[3] = myCand->getGpResultUnconstr().getPdfSumUnconstr();

This line was added by #43687, but it turned out it is not needed, and moreover, uGMT was generating this warning message when the fourth trackAddr was added:

OMTF muon track address map contains 4 instead of the expected 3 subaddresses. Check the data format. Setting track address to 0

The track address map is checked only by the plots L1T_L1TStage2uGMT_OMTFoutput_vs_uGMTinput , therefore the differences are visible only in these plots.

So the fix in this PR in the OMTFProcessor.cc is OK, as well as the changes in the L1T_L1TStage2uGMT_OMTFoutput_vs_uGMTinput plots.

Karol

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-45032/40399

  • This PR adds an extra 40KB to repository

@cmsbuild
Copy link
Contributor

Pull request #45032 was updated. @epalencia, @subirsarkar, @aloeliger, @srimanob, @cmsbuild can you please check and sign again.

@aloeliger
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6a0d5a/39600/summary.html
COMMIT: 83e721b
CMSSW: CMSSW_14_1_X_2024-05-28-2300/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45032/39600/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially removed 1 lines from the logs
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3338862
  • DQMHistoTests: Total failures: 0
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3338842
  • 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

@aloeliger
Copy link
Contributor

+l1

@srimanob
Copy link
Contributor

srimanob commented Jun 7, 2024

Note to @cms-sw/l1-l2 for later fix PR

src/L1Trigger/L1TMuonOverlapPhase1/src/Tools/CandidateSimMuonMatcher.cc:444:12: warning: Value stored to 'treshold' during its initialization is never read [deadcode.DeadStores]
444 | double treshold = 6. * sigma;
| ^~~~~~~~ ~~~~~~~~~~
src/L1Trigger/L1TMuonOverlapPhase1/src/Tools/CandidateSimMuonMatcher.cc:446:7: warning: Value stored to 'treshold' is never read [deadcode.DeadStores]
446 | treshold = 7. * sigma;
| ^ ~~~~~~~~~~
src/L1Trigger/L1TMuonOverlapPhase1/src/Tools/CandidateSimMuonMatcher.cc:448:7: warning: Value stored to 'treshold' is never read [deadcode.DeadStores]
448 | treshold = 20. * sigma;
| ^ ~~~~~~~~~~~
3 warnings generated.

@srimanob
Copy link
Contributor

srimanob commented Jun 7, 2024

+Upgrade

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2024

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. @sextonkennedy, @antoniovilela, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@rappoccio
Copy link
Contributor

+1

@antoniovilela
Copy link
Contributor

ping bot

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.

8 participants