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

refactor: Restructure track fitting functions #1617

Merged

Conversation

benjaminhuth
Copy link
Member

This does

  • Decouple the track fitting functions from the TrackFittingAlgorithm, so no static member functions anymore, rather free functions. I think that is better, because it is possible to add new fitters without touching the algorithm file etc...
  • Reduce number of track fitter functions from 2*N to N (no seperate function anymore for direct fitter). The selection is now done by checking a std::optional<std::vector<const Surface *>> in the function arguments. I think this reduces code duplication etc.

Should not increase build memory consumption, since everything stays separated as before in the different compilation units.

Note:
Also I think the direct track fitting is broken anyways in this algorithm, but that should be addressed seperately. A small problem I think i fixed in this PR, but in general this only works properly if there are no material surfaces that are non-measurement surfaces (because only these are added to the surface sequence). Maybe we should discuss this somehow. We do not test direct fitting right now, right?

@benjaminhuth benjaminhuth added Improvement Changes to an existing feature Impact - Minor Nuissance bug and/or affects only a single module Component - Examples Affects the Examples module labels Oct 24, 2022
@benjaminhuth benjaminhuth added this to the next milestone Oct 24, 2022
@codecov
Copy link

codecov bot commented Oct 24, 2022

Codecov Report

Merging #1617 (febbd44) into main (f2619c1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1617   +/-   ##
=======================================
  Coverage   48.66%   48.66%           
=======================================
  Files         381      381           
  Lines       20776    20776           
  Branches     9517     9517           
=======================================
  Hits        10110    10110           
  Misses       4095     4095           
  Partials     6571     6571           

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

@github-actions
Copy link

github-actions bot commented Oct 25, 2022

📊 Physics performance monitoring for febbd44

Full report
CKF: seeded, truth smeared, truth estimated
IVF: seeded, truth smeared, truth estimated
Truth tracking

Vertexing

IVF seeded

IVF truth smeared

IVF truth estimated

CKF

seeded

truth smeared

truth estimated

Truth tracking

Truth tracking

Benjamin Huth and others added 2 commits October 25, 2022 11:38
…ting/TrackFittingAlgorithm.hpp

Co-authored-by: Alexander J. Pfleger <70842573+AJPfleger@users.noreply.github.com>
@kodiakhq kodiakhq bot merged commit ca3320f into acts-project:main Oct 25, 2022
@paulgessinger paulgessinger modified the milestones: next, v21.0.0 Nov 3, 2022
@benjaminhuth benjaminhuth deleted the refactor/track-fitting-algorithm branch November 9, 2022 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - Examples Affects the Examples module Impact - Minor Nuissance bug and/or affects only a single module Improvement Changes to an existing feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants