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

Migrate away from OwnVector<BaseTrackerRecHit> #44047

Merged
merged 1 commit into from
Feb 29, 2024

Conversation

wddgit
Copy link
Contributor

@wddgit wddgit commented Feb 21, 2024

PR description:

This is part of a campaign to remove code related to OwnVector. This is in preparation for a possible move to RNTuple from TTree as a persistence mechanism. RNTuple does not support OwnVector because it allows polymorphism. Issue #42734 discusses this in more detail.

In this PR, OwnVector<BaseTrackerRecHit> is replaced. This is one of the classes on Matti's list in the issue.

The dictionaries are transient so there should be no backward compatibility issues. The OwnVector<BaseTrackerRecHit> is converted to std::vector<std::unique_ptr<BaseTrackerRecHit>> in the places where it appears.

The output and behavior of the code should be the same as before. The EDProducer that produces this also makes another product. That product has pointers to the objects in product with the OwnVector. Nothing else uses it. The only purpose of putting the product in the event is to keep the object alive so those pointers continue to work. Nothing directly consumes it.

PR validation:

Several tests in runTheMatrix.py execute the affected code and those tests pass. For example, test 25.0 step 3 executes it. As a temporary test, I commented out the line putting the product in the event. When that is done, there is a seg fault when the code that dereferences the pointers accesses the object. This is expected behavior and it shows the object is getting put in the event properly when runTheMatrix tests are run and pass with object being put in the event.

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 21, 2024

cms-bot internal usage

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44047/38986

  • This PR adds an extra 24KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @wddgit for master.

It involves the following packages:

  • DataFormats/TrackerRecHit2D (reconstruction)
  • RecoTracker/TkSeedGenerator (reconstruction)

@cmsbuild, @mandrenguyen, @jfernan2 can you please review it and eventually sign? Thanks.
@GiacomoSguazzoni, @mtosi, @gpetruc, @JanFSchulte, @VourMa, @missirol, @felicepantaleo, @mmusich, @VinInn, @rovere, @dgulhan this is something you requested to watch as well.
@rappoccio, @sextonkennedy, @antoniovilela you are the release manager for this.

cms-bot commands are listed here

@wddgit
Copy link
Contributor Author

wddgit commented Feb 21, 2024

please test

FYI @makortel

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-ef2f44/37608/summary.html
COMMIT: 84d3ad5
CMSSW: CMSSW_14_1_X_2024-02-21-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/44047/37608/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 95 lines to the logs
  • Reco comparison results: 44 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3248389
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3248361
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 200 log files, 161 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

@mandrenguyen
Copy link
Contributor

+1

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

@antoniovilela
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 2d3751c into cms-sw:master Feb 29, 2024
11 checks passed
@wddgit wddgit deleted the removeOwnVectorBaseTrackerRecHit branch March 7, 2024 19:19
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.

4 participants