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

L1T DemonstratorTools: support transparent compression of pattern files #42115

Merged

Conversation

gpetruc
Copy link
Contributor

@gpetruc gpetruc commented Jun 27, 2023

PR description:

This PR updates the DemonstratorTools package to support transparent compression of files pattern files if they end up with .gz (gzip) or .xz (lzma), using boost iostreams.

This feature is already implemented in other tools outside CMSSW that work with pattern files, in the emp software framework and correlator trigger tools so having the feature in CMSSW is useful.

For the moment lzma is not recommended since the other emp software tools don't support it as they're built on a version of boost iostreams without lzma, but since that may change in the future and adding lzma is only 5 extra lines of code I thought it was easier to just add it already in CMSSW.

The PR also updates the costructor of the BoardDataWriter to make the extension of the file configurable, and updates the pieces of C++ code using that class in CMSSW to add this extra parameter.

Note that pattern file production is not run in any production workflow

The PR was tested with the usual code checks + runTheMatrix -l 23234.0 (to check nothing got broken elsewhere) and L1Trigger/Phase2L1ParticleFlow/test/make_l1ct_binaryFiles_cfg.py (which runs the correlator emulator + pattern file producers)

A PR to cms-l1t-offline is also under way

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-42115/36093

  • This PR adds an extra 40KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @gpetruc (Giovanni Petrucciani) for master.

It involves the following packages:

  • L1Trigger/DemonstratorTools (l1)
  • L1Trigger/Phase2L1ParticleFlow (upgrade, l1)

@epalencia, @AdrianoDee, @srimanob, @cmsbuild, @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

@gpetruc
Copy link
Contributor Author

gpetruc commented Jun 27, 2023

@cmsbuild, please test

@tswilliams
Copy link
Contributor

Hi @gpetruc

@tswilliams If you prefer, I can add an additonal constructor that doesn't take the file extension to keep backwards compatibility.

I think it's fine without an additional backwards-compatible constructor. But on that point, I'll just mention @EmyrClement here so he's aware that he might have to update the HGC code to add the extra constructor argument in future.

After looking through the code, my only other comment is that it would be good to add a check on fileExt in the BoardDataWriter, so that it throws an exception if the extension isn't txt, txt.gz or txt.xz - to make it clear to people straight away if they make a mistake there.

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-8f8fed/33425/summary.html
COMMIT: 0bb08f3
CMSSW: CMSSW_13_2_X_2023-06-27-1100/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/42115/33425/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 2 lines to the logs
  • Reco comparison results: 12 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3200270
  • DQMHistoTests: Total failures: 7
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3200241
  • 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

@aloeliger
Copy link
Contributor

+l1

@gpetruc
Copy link
Contributor Author

gpetruc commented Jun 29, 2023

Added the check following @tswilliams's suggestion

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-42115/36111

@cmsbuild
Copy link
Contributor

Pull request #42115 was updated. @epalencia, @AdrianoDee, @srimanob, @cmsbuild, @aloeliger 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-8f8fed/33445/summary.html
COMMIT: b58fcf1
CMSSW: CMSSW_13_2_X_2023-06-29-1100/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/42115/33445/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 5 lines to the logs
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3193832
  • DQMHistoTests: Total failures: 4
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3193806
  • 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

@aloeliger
Copy link
Contributor

+l1

@srimanob
Copy link
Contributor

srimanob commented Jul 3, 2023

+Upgrade

From upgrade side, the relevant code is on L1Trigger/Phase2L1ParticleFlow, where the configuration is updated with extra parameters.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 3, 2023

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)

@perrotta
Copy link
Contributor

perrotta commented Jul 3, 2023

+1

@cmsbuild cmsbuild merged commit 8956656 into cms-sw:master Jul 3, 2023
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.

6 participants