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

Semi-random initial value in the L1 trigger prescale counter [12_4_X] #38233

Merged

Conversation

missirol
Copy link
Contributor

@missirol missirol commented Jun 3, 2022

backport of #37506

PR description:

This PR adds a new option, disabled by default, in L1TGlobalProducer. It is a verbatim backport to 12_4_X, and it would be useful for HLT studies that require the L1T re-emulation.

From the description of the original PR by @silviodonato:

The standard behavior of the L1 trigger prescaler is to start a counter from the prescale value (eg. 1000) and then reduce it of one unit every time the corresponding L1 trigger is accepted. Once the counter reach 0, the L1 trigger is consider to pass also the L1 prescale, and the counter goes back to the prescale value. The counter is reset at the beginning of each lumisection (unless you enable #37395)

This PR adds the option to set the initial prescale value of the PS counter from PS to a semirandom value taken in the range [0, PS]. This option is required to avoid that running on a heavily prescaled sample (eg. ZeroBias) the PS counter never reach 0 and therefore no events pass the prescaler. Starting on a random value, the average rate will be closer to the actual rate that we would see in the actual datataking (at P5 the L1 trigger evaluate a huge number of events per LS).

The "semi-random" refers to the std::srand function which gives a reproducible sequence of random numbers. However the reproducibility is not preserved when running with multithreading because I use also the event number as input of the random number generator. The current L1 trigger precaler does not preserve the reproducibility when multi-threading is on.

This PR is somehow related to #37395.

PR validation:

Relies on the validation done for the original PR.

If this PR is a backport, please specify the original PR and why you need to backport that PR:

#37506

Studies relevant to the development of Run-3 HLT menus.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 3, 2022

A new Pull Request was created by @missirol (Marino Missiroli) for CMSSW_12_4_X.

It involves the following packages:

  • L1Trigger/L1TGlobal (l1)

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

cms-bot commands are listed here

@missirol
Copy link
Contributor Author

missirol commented Jun 3, 2022

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 3, 2022

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-cbe4a2/25253/summary.html
COMMIT: 0b1a2f4
CMSSW: CMSSW_12_4_X_2022-06-03-1100/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/38233/25253/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 10 differences found in the comparisons
  • DQMHistoTests: Total files compared: 50
  • DQMHistoTests: Total histograms compared: 3669912
  • DQMHistoTests: Total failures: 25
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3669864
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.004 KiB( 49 files compared)
  • DQMHistoSizes: changed ( 312.0 ): 0.004 KiB MessageLogger/Warnings
  • Checked 208 log files, 45 edm output root files, 50 DQM output files
  • TriggerResults: no differences found

@missirol
Copy link
Contributor Author

missirol commented Jun 7, 2022

@cms-sw/l1-l2 , could you please review this backport PR?

@cecilecaillol
Copy link
Contributor

+l1

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 7, 2022

This pull request is fully signed and it will be integrated in one of the next CMSSW_12_4_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_12_5_X is complete. This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@qliphy
Copy link
Contributor

qliphy commented Jun 7, 2022

+1

@cmsbuild cmsbuild merged commit 01e7c70 into cms-sw:CMSSW_12_4_X Jun 7, 2022
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.

None yet

4 participants