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

feat: EDM4hep plugin, Track reader + writer #2022

Merged
merged 22 commits into from
Apr 13, 2023

Conversation

paulgessinger
Copy link
Member

@paulgessinger paulgessinger commented Apr 11, 2023

This PR adds a writer and a reader for TrackContainer to and from EDM4hep track objects and track states.

This is unfortunately not lossless:

  • EDM4hep only accepts perigee parameters, so all track state hits get converted to bound parameters relative to a perigee centered at the hit position. When reading track states back in, this representation is kept (as there is no way to recover the original sensor).
  • The track parameters are converted to the LCIO parametrization, and the covariance is stored as a lower left triangle

Since I want the conversion functionality to live in Core, I add an EDM4hep plugin here, that the existing EDM4hep IO example now uses. The Example-specific functions are kept where they are, but TrackContainer and some helper now live in a Core plugin.

I'm also changing over the MultiTrajectory writer to use the new covariance and parameters conversion.

@paulgessinger paulgessinger added this to the next milestone Apr 11, 2023
@paulgessinger paulgessinger changed the title feat: EDM4hep Track reader + writer feat: EDM4hep plugin, Track reader + writer Apr 11, 2023
Copy link
Contributor

@andiwand andiwand left a comment

Choose a reason for hiding this comment

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

nice work! code looks very clear and clean to me. left two minor comments

Plugins/EDM4hep/src/EDM4hepUtil.cpp Outdated Show resolved Hide resolved
@codecov
Copy link

codecov bot commented Apr 11, 2023

Codecov Report

Merging #2022 (a3293cc) into main (15aec1a) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #2022   +/-   ##
=======================================
  Coverage   49.83%   49.83%           
=======================================
  Files         421      421           
  Lines       23900    23900           
  Branches    10844    10844           
=======================================
  Hits        11910    11910           
  Misses       4367     4367           
  Partials     7623     7623           
Impacted Files Coverage Δ
Core/include/Acts/Utilities/Zip.hpp 100.00% <100.00%> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@paulgessinger
Copy link
Member Author

I found some potential further issues locally on macOS. Taking this WIP until fixed.

@paulgessinger paulgessinger added 🚧 WIP Work-in-progress and removed automerge labels Apr 11, 2023
@github-actions
Copy link

github-actions bot commented Apr 11, 2023

📊 Physics performance monitoring for a3293cc

Full report
Seeding: seeded, truth estimated, orthogonal
CKF: seeded, truth smeared, truth estimated, orthogonal
IVF: seeded, truth smeared, truth estimated, orthogonal
Ambiguity resolution: seeded, orthogonal
Truth tracking
Truth tracking (GSF)

Vertexing

Vertexing vs. mu
IVF seeded

IVF truth_smeared

IVF truth_estimated

IVF orthogonal

Seeding

Seeding seeded

Seeding truth_estimated

Seeding orthogonal

CKF

CKF seeded

CKF truth_smeared

CKF truth_estimated

CKF orthogonal

Ambiguity resolution

seeded

Truth tracking (Kalman Filter)

Truth tracking

Truth tracking (GSF)

Truth tracking

@paulgessinger paulgessinger removed the 🚧 WIP Work-in-progress label Apr 13, 2023
@kodiakhq kodiakhq bot merged commit 44cb837 into acts-project:main Apr 13, 2023
37 checks passed
@paulgessinger paulgessinger modified the milestones: next, v25.0.0 Apr 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants