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

Migration of input collection parameters to untracked in DQM/BeamMonitor package #37848

Merged
merged 1 commit into from Jul 9, 2022

Conversation

NiharSaha
Copy link
Contributor

PR description:

This PR has switched all the tracked parameters of DQM/BeamMonitor to untracked parameters to read input collections which is followed by the discussion: #36998 (comment)

PR validation:

Tested in CMSSW_12_4_X via runTheMatrix.py -l limited -i all --ibeos

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

NA

@cmsbuild
Copy link
Contributor

cmsbuild commented May 6, 2022

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37848/29778

  • This PR adds an extra 52KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented May 6, 2022

A new Pull Request was created by @NiharSaha (Nihar Saha) for master.

It involves the following packages:

  • DQM/BeamMonitor (dqm, db)

@malbouis, @pmandrik, @emanueleusai, @ahmad3213, @tvami, @cmsbuild, @jfernan2, @ggovi, @francescobrivio, @micsucmed, @rvenditti can you please review it and eventually sign? Thanks.
@mmusich, @francescobrivio 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

@tvami
Copy link
Contributor

tvami commented May 6, 2022

@cmsbuild , please test

@tvami
Copy link
Contributor

tvami commented May 6, 2022

My understanding is that if the module has a fillDescription than the python configs dont need explicit types, and actually it's advised not to have them at all.

i.e.

dxBin = cms.untracked.int32(200),

could become

dxBin = 200,

Although, I have to say that I didnt check if that given module has a fillDescription or not.

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2022

-1

Failed Tests: RelVals-INPUT
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b75ee9/24507/summary.html
COMMIT: d8f1f04
CMSSW: CMSSW_12_4_X_2022-05-06-1100/slc7_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/37848/24507/install.sh to create a dev area with all the needed externals and cmssw changes.

CMS deprecated warnings: 3 CMS deprecated warnings found, see summary page for details.

RelVals-INPUT

The relvals timed out after 4 hours.

Comparison Summary

Summary:

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

@tvami
Copy link
Contributor

tvami commented May 7, 2022

I see that PixelVTXMonitor is still a legacy module, that should be migrated, I guess for a follow-up PR:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b75ee9/24507/deprecated-warnings.log

@tvami
Copy link
Contributor

tvami commented May 7, 2022

@cmsbuild , please test

@mmusich
Copy link
Contributor

mmusich commented May 7, 2022

This PR has switched all the tracked parameters of DQM/BeamMonitor to untracked parameters to read input collections

  1. here all parameters have been made untracked, not only the ones related to read input collections.

  2. what's the advantage of doing so?

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2022

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b75ee9/24511/summary.html
COMMIT: d8f1f04
CMSSW: CMSSW_12_4_X_2022-05-06-2300/slc7_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/37848/24511/install.sh to create a dev area with all the needed externals and cmssw changes.

CMS deprecated warnings: 3 CMS deprecated warnings found, see summary page for details.

Comparison Summary

Summary:

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

@emanueleusai
Copy link
Member

@mmusich Nihar is following the decision/prescription we took here: #36998 (comment)

yes perhaps we should adjust the PR so that only the input collections are changed to untracked.

@NiharSaha
Copy link
Contributor Author

My understanding is that if the module has a fillDescription than the python configs dont need explicit types, and actually it's advised not to have them at all.

i.e.

dxBin = cms.untracked.int32(200),

could become

dxBin = 200,

Although, I have to say that I didnt check if that given module has a fillDescription or not.

Okay, let me try this out. Thank you for pointing this out.

@mmusich
Copy link
Contributor

mmusich commented May 8, 2022

following the decision/prescription we took here: #36998 (comment)

still not sure what's the benefit (the cost is a lot of code churn)

yes perhaps we should adjust the PR so that only the input collections are changed to untracked.

By all means, at least do that.

@perrotta
Copy link
Contributor

perrotta commented May 8, 2022

My understanding is that if the module has a fillDescription than the python configs dont need explicit types, and actually it's advised not to have them at all.

i.e.

dxBin = cms.untracked.int32(200),

could become

dxBin = 200,

Although, I have to say that I didnt check if that given module has a fillDescription or not.

Well. it is recommended not to write the explicit types for parameters modified when you clone an existing module, because it is a safer way to redefine them (see for example item 4 in https://twiki.cern.ch/twiki/bin/view/CMS/OpenRecoTasks#Review_and_optimization_of_the_p). This is independent from the fact that the code used to define that module has a fillDescription method or not.

You cannot avoid writing the explicit type if you define a module anew. Also this is independent from the existence of a fillDescription method in the C++ code that defines that module.

Having a fillDescription method is needed to validate the parameters that you insert in the configuration, and fill with a default the ones that are not explicitely defined in the configuration.

Of course, the fillDescription method also automatically provides you with a default configuration file from which you can always clone your module, thus avoiding to write the explicit types for the modified parameters in the cloned configuration.

@NiharSaha NiharSaha force-pushed the CMSSW_12_4_X_DQM_BeamMonitor branch from fe9cc2d to d00e750 Compare July 4, 2022 16:21
@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 4, 2022

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37848/30851

  • This PR adds an extra 16KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 4, 2022

Pull request #37848 was updated. @malbouis, @pmandrik, @emanueleusai, @ahmad3213, @tvami, @cmsbuild, @jfernan2, @ggovi, @francescobrivio, @micsucmed, @rvenditti can you please check and sign again.

@tvami
Copy link
Contributor

tvami commented Jul 4, 2022

@cmsbuild , please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 4, 2022

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b75ee9/25974/summary.html
COMMIT: d00e750
CMSSW: CMSSW_12_5_X_2022-07-04-1100/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/37848/25974/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: 3654771
  • DQMHistoTests: Total failures: 13
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3654735
  • 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

@tvami
Copy link
Contributor

tvami commented Jul 5, 2022

+db

  • tests pass
  • the usage of untested code is tracked down with lxr, and the modification are done there too

@mmusich
Copy link
Contributor

mmusich commented Jul 5, 2022

@NiharSaha did you check for other configuration files containing instances of the other analyzer codes you have changed?

@NiharSaha
Copy link
Contributor Author

Hi @mmusich, I have checked for all the instances in all the configuration files for this package using LXR. There are four configuration files newly added to the new commit where the instances are present. There are two parameters viz hltResults and tcdsRecord which are present in two and four configuration files respectively. All the other parameters appear single times in configuration files.

In summary, there are 6 input collection parameters which are appeared in 7 configuration files for BeamMonitor.

@mmusich
Copy link
Contributor

mmusich commented Jul 5, 2022

@NiharSaha

In summary, there are 6 input collection parameters which are appeared in 7 configuration files for BeamMonitor.

what about BeamSpotDipServer and PixelVTXMonitor ?

@NiharSaha
Copy link
Contributor Author

NiharSaha commented Jul 5, 2022

Yeah, I have checked that too using LXR. There is only one parameter in BeamSpotDipServer that appeared in the BeamSpotDipServer_cff.py only and there are 3 parameters in PixelVTXMonitor, all appeared in PixelVTXMonitor_cfi.py.

Please note that I am taking into consideration only the BeamMonitor configurations.

@emanueleusai
Copy link
Member

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 8, 2022

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

perrotta commented Jul 9, 2022

+1

  • The "+1"'s make me understand that the migration was finally approved
  • It also seems to work in the tested workflows

@cmsbuild cmsbuild merged commit 757f273 into cms-sw:master Jul 9, 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

7 participants