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

update of HLTriggerJSONMonitoring for DatasetPaths #38418

Merged

Conversation

missirol
Copy link
Contributor

@missirol missirol commented Jun 19, 2022

PR description:

This PR is an attempt to update the plugin HLTriggerJSONMonitoring to take into account the existence of the so-called DatasetPaths in Run-3 HLT menus.

Context :
DatasetPath is HLT jargon for what is a normal cms.Path that selects events based on the results of other cms.Paths (which, most commonly, correspond to physics triggers).

In the Run-3 HLT menus, DatasetPaths effectively provide the definition of Primary Datasets. A DatasetPath can have its own prescales (PD-level prescales), as well as "smart"-prescales for its triggers (where a "smart-prescale" is a prescale that applies to a given trigger-path only for a specific PD, and not for others; smart-prescales in DatasetPaths are applied via a TriggerResultsFilter module).

HLTriggerJSONMonitoring currently does not know about DatasetPaths, and reports as PD counts the counts of the OR of the relevant triggers. This means that PD-level prescales and smart-prescales are ignored in the counts reported for each PD by this plugin. As a consequence, this can lead to OMS reporting inaccurate PD rates.

Implementation :
If a DatasetPath (e.g. Dataset_X) exists in the configuration, HLTriggerJSONMonitoring now assigns only the Path Dataset_X to PD X, and does not include the DatasetPath in the standard list of trigger paths (see #38418 (comment)). Otherwise, the current behaviour applies (which I think relies on the PSet datasets).

Comments :
This update is meant to be backward-compatible (no changes if used with older menus, improved outputs for current menus).
This (or a similar update) will need to be backported to 12_4_X, and possibly 12_3_X.

In addition

  • the default value of 1 InputTag in fillDescriptions is changed to use @currentProcess instead of HLT as process name;
  • a simple unit-test for HLTriggerJSONMonitoring is added in test/ (the unit test is a mock-up HLT menu, and maybe it could be simplified further; right now, it tests more than just HLTriggerJSONMonitoring).

Tagging @fwyzard and @Sam-Harper , so they can review.

PR validation:

The outputs of the new unit test are as expected.

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

N/A

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-38418/30621

  • This PR adds an extra 16KB to repository

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

  • HLTrigger/JSONMonitoring (hlt)

@cmsbuild, @missirol, @Martin-Grunewald can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @silviodonato 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

@fwyzard
Copy link
Contributor

fwyzard commented Jun 19, 2022

👍

On top of these changes, I would suggest to drop the dataset paths from the list of paths in the output.
This way we avoid the duplicate information in OMS etc.

By the way ... it's clearly late for 2022, but maybe for next year we could rename the "stream paths" to Stream_Name, following the same convention ?

@missirol
Copy link
Contributor Author

On top of these changes, I would suggest to drop the dataset paths from the list of paths in the output. This way we avoid the duplicate information in OMS etc.

Okay, will do (I was wondering if it would have been better to keep the plugin agnostic to this, and ask OMS to omit DatasetPaths in certain tables, but I don't have a strong preference).

By the way ... it's clearly late for 2022, but maybe for next year we could rename the "stream paths" to Stream_Name, following the same convention ?

Sounds good to me (iiuc, these are the current FinalPaths named *Output), but I don't really know how much work this is inside ConfDB.

@missirol missirol force-pushed the devel_hltJsonMonitoringWithDatasetPaths branch from 12404f2 to ce58d1b Compare June 19, 2022 18:24
@missirol missirol force-pushed the devel_hltJsonMonitoringWithDatasetPaths branch from ce58d1b to 37d333b Compare June 19, 2022 18:28
@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-38418/30625

  • This PR adds an extra 16KB to repository

@cmsbuild
Copy link
Contributor

Pull request #38418 was updated. @cmsbuild, @missirol, @Martin-Grunewald can you please check and sign again.

@missirol
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3737bc/25616/summary.html
COMMIT: 37d333b
CMSSW: CMSSW_12_5_X_2022-06-19-0000/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/38418/25616/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: 2 differences found in the comparisons
  • DQMHistoTests: Total files compared: 50
  • DQMHistoTests: Total histograms compared: 3659099
  • DQMHistoTests: Total failures: 7
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3659069
  • 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

Realised that some comments inside the plugin needed to be updated.

Took the opportunity to improve a bit the unit test, basically copying from testLogMonitorFilter by Chris Jones.

I think the PR is now ready on my side.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-38418/30630

  • This PR adds an extra 16KB to repository

@cmsbuild
Copy link
Contributor

Pull request #38418 was updated. @cmsbuild, @missirol, @Martin-Grunewald can you please check and sign again.

@missirol
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3737bc/25621/summary.html
COMMIT: 7e1c50f
CMSSW: CMSSW_12_5_X_2022-06-19-2300/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/38418/25621/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: 6 differences found in the comparisons
  • DQMHistoTests: Total files compared: 50
  • DQMHistoTests: Total histograms compared: 3659099
  • DQMHistoTests: Total failures: 13
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3659063
  • 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 20, 2022

I tested the PR with a real HLT menu, and, as far as I can tell, the json outputs are as expected (both with and without DatasetPaths).

Unless anybody has further comments, I'll sign the PR tomorrow (and open the backports).

@missirol
Copy link
Contributor Author

+hlt

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

@perrotta
Copy link
Contributor

+1

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