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

Converted ObjectSelector system to use edm::stream::EDFilter<> #35575

Merged
merged 9 commits into from Oct 14, 2021

Conversation

Dr15Jones
Copy link
Contributor

PR description:

  • Looking at all uses of ObjectSelector showed they were all implemented in a thread-friendly manner
  • Created a ObjectSelectorLegacy class in case an analysis user has their own code which can't be immediately migrated to be thread-friendly.

NOTE: this includes the commits from #35562. It is OK if that PR is merged first (to get rid of the initial false positives) or this one is merged first.

PR validation:

Code compiles.

This is a step towards removing use of the deprecated edm::EDFilter
- removed implicit use of edm::EDFilter from many template arguments
- Changed NullPostProcessor to not need to know module type
- Made GsfElectron modules always use consistent base class
- All non-templated classes inheriting from ObjectSelector were found to be thread-friendly
- The templated classes were moved to ObjectSelectorLegacy for now
They are now identical so only need one
The only user of ObjectShallowCloneSelector can safely be used in a thread-friendly manner.
The only user of SingleObjectRefSelector is thread-friendly.
@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 7, 2021

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35575/25821

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 7, 2021

A new Pull Request was created by @Dr15Jones (Chris Jones) for master.

It involves the following packages:

  • Alignment/CommonAlignmentProducer (alca)
  • Calibration/TkAlCaRecoProducers (alca)
  • CommonTools/CandAlgos (reconstruction)
  • CommonTools/ParticleFlow (reconstruction)
  • CommonTools/RecoAlgos (reconstruction)
  • CommonTools/UtilAlgos (reconstruction)
  • PhysicsTools/PatAlgos (reconstruction)
  • RecoHI/HiTracking (reconstruction)
  • RecoTauTag/RecoTau (reconstruction)
  • Validation/RecoHI (dqm)

@malbouis, @yuanchao, @pmandrik, @emanueleusai, @ahmad3213, @tvami, @cmsbuild, @jfernan2, @slava77, @jpata, @francescobrivio, @pbo0, @rvenditti can you please review it and eventually sign? Thanks.
@rappoccio, @gouskos, @hatakeyamak, @emilbols, @tlampen, @mbluj, @demuller, @threus, @seemasharmafnal, @pakhotin, @mmarionncern, @ahinzmann, @jhgoh, @jdolen, @mandrenguyen, @yetkinyilmaz, @abbiendi, @kkrajczar, @cbernet, @tocheng, @jdamgov, @nhanvtran, @gkasieczka, @schoef, @mmusich, @dgulhan, @clelange, @AlexDeMoor, @adewit, @swozniewski, @jazzitup, @JyothsnaKomaragiri, @yenjie, @RylanC24, @kurtejung, @gpetruc, @mariadalfonso, @andrzejnovak 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

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 7, 2021

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-55d328/19478/summary.html
COMMIT: ab32884
CMSSW: CMSSW_12_1_X_2021-10-07-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/35575/19478/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: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 40
  • DQMHistoTests: Total histograms compared: 3219394
  • DQMHistoTests: Total failures: 5
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3219366
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -0.004 KiB( 39 files compared)
  • DQMHistoSizes: changed ( 312.0 ): -0.004 KiB MessageLogger/Warnings
  • Checked 169 log files, 37 edm output root files, 40 DQM output files
  • TriggerResults: no differences found

@tvami
Copy link
Contributor

tvami commented Oct 7, 2021

@Dr15Jones
Copy link
Contributor Author

The code violation is a false positive. The using namespace happens internally to a member function. The true code violations is when the using namespace happens at global scope within a header as that pollutes the global namespace.

@tvami
Copy link
Contributor

tvami commented Oct 8, 2021

+alca

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35575/25926

@cmsbuild
Copy link
Contributor

Pull request #35575 was updated. @malbouis, @yuanchao, @pmandrik, @emanueleusai, @ahmad3213, @tvami, @cmsbuild, @jfernan2, @slava77, @jpata, @francescobrivio, @pbo0, @rvenditti can you please check and sign again.

@Dr15Jones
Copy link
Contributor Author

please test

@Dr15Jones
Copy link
Contributor Author

@tvami @jfernan2 please resign this PR as the only change was to remove an unused header file.

@tvami
Copy link
Contributor

tvami commented Oct 13, 2021

+alca

@jfernan2
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-55d328/19601/summary.html
COMMIT: 40a49a8
CMSSW: CMSSW_12_1_X_2021-10-13-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/35575/19601/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: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 40
  • DQMHistoTests: Total histograms compared: 2796791
  • DQMHistoTests: Total failures: 5
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2796764
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 39 files compared)
  • Checked 169 log files, 37 edm output root files, 40 DQM output files
  • TriggerResults: no differences found

@slava77
Copy link
Contributor

slava77 commented Oct 14, 2021

+reconstruction

for #35575 40a49a8

  • code changes are essentially technical, in line with the PR description and the follow up review
  • jenkins tests pass and comparisons with the baseline show no (relevant) differences

@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

  • Technical
  • @Dr15Jones could you please update the PR description field and cancel the reference to the ObjectSelectorLegacy class (now removed from this PR)?

@cmsbuild cmsbuild merged commit e0a8074 into cms-sw:master Oct 14, 2021
@Dr15Jones Dr15Jones deleted the updateObjectSelectorToStream branch October 20, 2021 20:00
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

6 participants