cmssw icon indicating copy to clipboard operation
cmssw copied to clipboard

possibility of configuring the OMTF emulator directly from XMLs

Open kbunkow opened this issue 1 year ago • 11 comments

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 https://github.com/cms-sw/cmssw/pull/44498 - as discussed in the https://github.com/cms-sw/cmssw/pull/44498#issuecomment-2126564586.

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

kbunkow avatar May 23 '24 18:05 kbunkow

cms-bot internal usage

cmsbuild avatar May 23 '24 18:05 cmsbuild

+code-checks

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

  • This PR adds an extra 40KB to repository

  • There are other open Pull requests which might conflict with changes you have proposed:

    • File L1Trigger/L1TMuonOverlapPhase1/src/Omtf/OMTFProcessor.cc modified in PR(s): #45030

cmsbuild avatar May 23 '24 18:05 cmsbuild

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

cmsbuild avatar May 23 '24 18:05 cmsbuild

Please test

epalencia avatar May 24 '24 11:05 epalencia

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6a0d5a/39512/summary.html COMMIT: 948fd546f27c1de7a31d2acc101fec20b9a89774 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:

cmsbuild avatar May 24 '24 14:05 cmsbuild

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

artlbv avatar May 27 '24 09:05 artlbv

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

kbunkow avatar May 27 '24 17:05 kbunkow

+code-checks

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

  • This PR adds an extra 40KB to repository

cmsbuild avatar May 28 '24 16:05 cmsbuild

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

cmsbuild avatar May 28 '24 16:05 cmsbuild

please test

aloeliger avatar May 29 '24 09:05 aloeliger

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6a0d5a/39600/summary.html COMMIT: 83e721be52f07d95df844588a5c111d17a692cd4 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

cmsbuild avatar May 29 '24 12:05 cmsbuild

+l1

aloeliger avatar Jun 04 '24 12:06 aloeliger

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 avatar Jun 07 '24 14:06 srimanob

+Upgrade

srimanob avatar Jun 07 '24 14:06 srimanob

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)

cmsbuild avatar Jun 07 '24 14:06 cmsbuild

+1

rappoccio avatar Jun 12 '24 01:06 rappoccio

ping bot

antoniovilela avatar Jun 12 '24 11:06 antoniovilela