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

drop type specs in RecoEcal #31332

Merged
merged 4 commits into from Sep 9, 2020
Merged

drop type specs in RecoEcal #31332

merged 4 commits into from Sep 9, 2020

Conversation

jeongeun
Copy link
Contributor

@jeongeun jeongeun commented Sep 2, 2020

PR description:

Update the safer syntax for existing parameter :

  • drop type specifications where the original parameter exists.
  • move all parameter inside the clone

Instead of modifying parameters with full type specs, which can be interpreted as an insertion of a new parameter, it is a safer way to protect from parameter name mistakes and will also help in possible parameter migrations.
(The references were PR#30700, PR#30827, PR#30947,PR#31162,PR#31243)

In this PR, total 10 files updated.

  • RecoEcal/{EgammaClusterProducers} 10 files

PR validation:

Event Content comparison check was also done and there is no change with these updates.
Tested in CMSSW_11_2_X, the basic test all passed in the CMSSW PR instructions.

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 2, 2020

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 2, 2020

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-31332/18092

  • This PR adds an extra 16KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 2, 2020

A new Pull Request was created by @jeongeun (JeongEun Lee) for master.

It involves the following packages:

RecoEcal/EgammaClusterProducers

@perrotta, @jpata, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks.
@Sam-Harper, @rchatter, @jainshilpi, @rovere, @argiro, @sobhatta, @lecriste, @afiqaize, @lgray, @varuns23 this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@perrotta
Copy link
Contributor

perrotta commented Sep 2, 2020

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 2, 2020

The tests are being triggered in jenkins.

multi5x5SuperClustersUncleaned.endcapClusterProducer = cms.string('multi5x5BasicClustersUncleaned')

multi5x5SuperClustersUncleaned = multi5x5SuperClustersCleaned.clone(
endcapClusterProducer = cms.string('multi5x5BasicClustersUncleaned')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"string" can be dropped

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, forget it @jeongeun : the corresponding parameter is not listed in the cloned config

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Triggered by this finding, I'm realizing that a Multi5x5SuperClusterProducer does not require a parameter called "endcapClusterProducer" (which would be needed by a HiSuperClusterProducer, instead).

If I'm not wrong, one should have replaced here instead

    endcapClusterTag= cms.InputTag('multi5x5BasicClustersUncleaned',
				   'multi5x5EndcapBasicClusters'),

@afiqaize @SohamBhattacharya could you please have a look and tell us if there is a bug here?

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 2, 2020

+1
Tested at: c1a05d7
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-30f180/9062/summary.html
CMSSW: CMSSW_11_2_X_2020-09-01-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 2, 2020

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 2, 2020

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-30f180/9062/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 6 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 2609667
  • DQMHistoTests: Total failures: 11
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 2609633
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.004 KiB( 34 files compared)
  • DQMHistoSizes: changed ( 10224.0 ): 0.004 KiB MessageLogger/Warnings
  • Checked 149 log files, 22 edm output root files, 35 DQM output files

@perrotta
Copy link
Contributor

perrotta commented Sep 7, 2020

@afiqaize @SohamBhattacharya could you please check if there is actually a bug in the configuration of the multi5x5SuperClustersUncleaned module as implemented in RecoEcal/EgammaClusterProducers/python/multi5x5SuperClusters_cfi.py, and if we can profit of this PR to implement the fix suggested in #31332 (comment), if so?

@afiqaize
Copy link
Contributor

afiqaize commented Sep 7, 2020

iirc multi 5x5 is an old SC algo that we don't use anymore in pp reconstruction, so this fix should have no effect. is this is used anywhere at the moment? also, shouldn't it be an error if a module (Multi5x5SuperClusterProducer in this case) is passed a spurious parameter?

@perrotta
Copy link
Contributor

perrotta commented Sep 7, 2020

Thank you @afiqaize

iirc multi 5x5 is an old SC algo that we don't use anymore in pp reconstruction,

If so, it is probably time to clean it up from the release and avoid maintaining unneeded code in it (but also read below)

so this fix should have no effect. is this is used anywhere at the moment?

Well, as far as I can see it is still kept in some AlCa and HI event contents:

  • Calibration/EcalAlCaRecoProducers/python/ALCARECOEcalCalIsolElectron_Output_cff.py
  • Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalGammaJet_Output_cff.py
  • RecoHI/HiEgammaAlgos/python/RecoHiEgamma_EventContent_cff.py

Moreover, I see it entering the multi5x5ClusteringTask, which is included in the ecalClustersNoPFBoxTask, which ends up in the ecalClustersTask, which is one of the components of the globalrecoTask: therefore, unless I made some mistake in inspecting the configurations, it seems to me that the module is still included in the standard workflows, and its content saved at least in some Alca and HI output

also, shouldn't it be an error if a module (Multi5x5SuperClusterProducer in this case) is passed a spurious parameter?

No, because no fillDescriptions() method was ever implemented in the Multi5x5SuperClusterProducer, and therefore there is no parameter validation in it

@afiqaize
Copy link
Contributor

afiqaize commented Sep 7, 2020

Ok, I do remember it being used in HI (though not until what point) so this is not surprising. As for AlCa, maybe for validation purposes. I'll have to check with other EGM experts.

Nevertheless, iiuc what concerns this PR is only the existence of a spurious parameter, which should not affect any output. If this is correct I think we can go ahead with the fix without problems...

also, shouldn't it be an error if a module (Multi5x5SuperClusterProducer in this case) is passed a spurious parameter?

No, because no fillDescriptions() method was ever implemented in the Multi5x5SuperClusterProducer, and therefore there is no parameter validation in it

...perhaps even adding the validation to prevent similar problems in the future.

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2020

Pull request #31332 was updated. @perrotta, @jpata, @cmsbuild, @slava77 can you please check and sign again.

@perrotta
Copy link
Contributor

perrotta commented Sep 9, 2020

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2020

+1
Tested at: 802701a
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-30f180/9214/summary.html
CMSSW: CMSSW_11_2_X_2020-09-08-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2020

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2020

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-30f180/9214/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 46 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 2609667
  • DQMHistoTests: Total failures: 18
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 2609626
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -0.004 KiB( 34 files compared)
  • DQMHistoSizes: changed ( 10224.0 ): -0.004 KiB MessageLogger/Warnings
  • Checked 149 log files, 22 edm output root files, 35 DQM output files

@perrotta
Copy link
Contributor

perrotta commented Sep 9, 2020

  • Reco comparison results: 46 differences found in the comparisons

As expected, having fixed the configuration for the multi5x5SuperClustersUncleaned [1] one observes (tiny) changes in 5x5SuperClusters in the test outputs.

Apparently, there are more worklows in which those multi 5x5 are used with respect to what guessed by EGamma (see #31332 (comment)): it is therefore urgent to clean them out from pp reco sequences if they are really not needed.

Since now there is the correct endcapClusterTag input, I think this PR can be accepted as such.
I'd let EGamma (@afiqaize @SohamBhattacharya), ECal DPG (@rchatter), HI (@mandrenguyen) to inspect the validation outputs and evaluate the effect of the differences.

[1] endcapClusterTag moved from 'multi5x5BasicClustersCleaned:multi5x5EndcapBasicClusters' to 'multi5x5BasicClustersUncleaned:multi5x5EndcapBasicClusters'

@perrotta
Copy link
Contributor

perrotta commented Sep 9, 2020

+1

  • Dropped type specification for parameters in cloned configs, as planned
  • While doing so, a bug was spotted in the configuration of the multi5x5SuperClustersUncleaned and fixed. As a result, some tiny regression in those 5x5 clusters is visible: it would be nice to have this merged already in pre6, so that the effect can be evaluated and validated on relvals
  • No difference anywhere else in reco outputs, as expected

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 9, 2020

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

@silviodonato
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

5 participants