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!: Refactor Surface::boundToFreeJacobian to use free instead of bound vector #2811

Merged
merged 39 commits into from
Mar 28, 2024

Conversation

andiwand
Copy link
Contributor

@andiwand andiwand commented Dec 11, 2023

@andiwand andiwand added this to the v32.0.0 milestone Dec 11, 2023
@github-actions github-actions bot added Component - Core Affects the Core module Component - Plugins Affects one or more Plugins Event Data Model Track Fitting labels Dec 11, 2023
@andiwand andiwand marked this pull request as ready for review December 12, 2023 14:26
@andiwand andiwand added the 🛑 blocked This item is blocked by another item label Dec 12, 2023
@github-actions github-actions bot removed the Component - Plugins Affects one or more Plugins label Dec 18, 2023
Copy link

codecov bot commented Dec 18, 2023

Codecov Report

Attention: Patch coverage is 21.42857% with 33 lines in your changes are missing coverage. Please review.

Project coverage is 49.06%. Comparing base (bafcc45) to head (5cfc202).

Files Patch % Lines
Core/src/Surfaces/DiscSurface.cpp 26.66% 3 Missing and 8 partials ⚠️
Core/src/Surfaces/LineSurface.cpp 0.00% 0 Missing and 8 partials ⚠️
Core/include/Acts/Propagator/EigenStepper.ipp 20.00% 0 Missing and 4 partials ⚠️
Core/src/Propagator/StraightLineStepper.cpp 33.33% 0 Missing and 4 partials ⚠️
Core/src/Surfaces/Surface.cpp 0.00% 0 Missing and 2 partials ⚠️
Core/include/Acts/Propagator/EigenStepper.hpp 0.00% 0 Missing and 1 partial ⚠️
Core/include/Acts/TrackFitting/detail/GsfActor.hpp 50.00% 0 Missing and 1 partial ⚠️
Core/src/Propagator/detail/CovarianceEngine.cpp 0.00% 0 Missing and 1 partial ⚠️
Core/src/Propagator/detail/JacobianEngine.cpp 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2811      +/-   ##
==========================================
- Coverage   49.06%   49.06%   -0.01%     
==========================================
  Files         495      495              
  Lines       28986    28978       -8     
  Branches    13743    13740       -3     
==========================================
- Hits        14222    14218       -4     
+ Misses       4929     4928       -1     
+ Partials     9835     9832       -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@acts-project-service
Copy link
Collaborator

acts-project-service commented Dec 18, 2023

🔴 Athena integration test results [c908d51]

Build job with this PR failed!

Please investigate the build job for the pipeline!

@acts-project-service acts-project-service added the Breaks Athena build This PR breaks the Athena build label Dec 18, 2023
@andiwand andiwand modified the milestones: v32.0.0, next Jan 18, 2024
@andiwand andiwand removed the 🛑 blocked This item is blocked by another item label Jan 22, 2024
@andiwand andiwand removed the Breaks Athena build This PR breaks the Athena build label Jan 22, 2024
@andiwand
Copy link
Contributor Author

I hope this does not break Athena anymore

@kodiakhq kodiakhq bot merged commit c908d51 into acts-project:main Mar 28, 2024
52 checks passed
@andiwand andiwand deleted the refactor-surface-bound-to-free branch March 28, 2024 19:33
kodiakhq bot pushed a commit that referenced this pull request Apr 3, 2024
…ection (#2933)

We do not depend on free parameters for `Surface` so this should not be part of the interface. I consistently replace this by position and direction vectors here.

blocked by
- #2932
- #2811
kodiakhq bot pushed a commit that referenced this pull request Apr 9, 2024
I noticed that the concept of a curvilinear surface is a quite spread over the codebase and I wanted to improve this. Here I introduce a surface like class which does not actually inherit from `Acts::Surface` but shares some of the functionality. This way the jacobians are put in a single place and can be used from somewhere else in an expressive fashion.

Afterwards it might make sense to let the `CurvilinearTrackParameters` depend on this special surface instead of a `PlaneSurface` or to merge them with `BoundTrackParameters` completely.

related issues
- #2812 

blocked by
- #2789
- #2782
- #2781
- #2811
Ragansu pushed a commit to Ragansu/acts that referenced this pull request Apr 19, 2024
…ection (acts-project#2933)

We do not depend on free parameters for `Surface` so this should not be part of the interface. I consistently replace this by position and direction vectors here.

blocked by
- acts-project#2932
- acts-project#2811
Ragansu pushed a commit to Ragansu/acts that referenced this pull request Apr 19, 2024
I noticed that the concept of a curvilinear surface is a quite spread over the codebase and I wanted to improve this. Here I introduce a surface like class which does not actually inherit from `Acts::Surface` but shares some of the functionality. This way the jacobians are put in a single place and can be used from somewhere else in an expressive fashion.

Afterwards it might make sense to let the `CurvilinearTrackParameters` depend on this special surface instead of a `PlaneSurface` or to merge them with `BoundTrackParameters` completely.

related issues
- acts-project#2812 

blocked by
- acts-project#2789
- acts-project#2782
- acts-project#2781
- acts-project#2811
EleniXoch pushed a commit to EleniXoch/acts that referenced this pull request May 6, 2024
…aram input (acts-project#2932)

This popped up in acts-project#2811 - as this can be a pitfall we are asserting if we are really on surface. This is done via an `assert` which is not evaluated in standard release build

This also fixes a bug in the covariance engine. We used to first do the cov transport and then check if we are actually on surface. I turned these checks around.
EleniXoch pushed a commit to EleniXoch/acts that referenced this pull request May 6, 2024
…d of bound vector (acts-project#2811)

This avoid free->bound->free roundtrips and aligns the interface with `freeToBoundJacobian`

related issues
- acts-project#2810

blocked by
- acts-project#2789
- acts-project#2782
- acts-project#2781
EleniXoch pushed a commit to EleniXoch/acts that referenced this pull request May 6, 2024
…ection (acts-project#2933)

We do not depend on free parameters for `Surface` so this should not be part of the interface. I consistently replace this by position and direction vectors here.

blocked by
- acts-project#2932
- acts-project#2811
EleniXoch pushed a commit to EleniXoch/acts that referenced this pull request May 6, 2024
I noticed that the concept of a curvilinear surface is a quite spread over the codebase and I wanted to improve this. Here I introduce a surface like class which does not actually inherit from `Acts::Surface` but shares some of the functionality. This way the jacobians are put in a single place and can be used from somewhere else in an expressive fashion.

Afterwards it might make sense to let the `CurvilinearTrackParameters` depend on this special surface instead of a `PlaneSurface` or to merge them with `BoundTrackParameters` completely.

related issues
- acts-project#2812 

blocked by
- acts-project#2789
- acts-project#2782
- acts-project#2781
- acts-project#2811
asalzburger pushed a commit to asalzburger/acts that referenced this pull request May 21, 2024
…aram input (acts-project#2932)

This popped up in acts-project#2811 - as this can be a pitfall we are asserting if we are really on surface. This is done via an `assert` which is not evaluated in standard release build

This also fixes a bug in the covariance engine. We used to first do the cov transport and then check if we are actually on surface. I turned these checks around.
asalzburger pushed a commit to asalzburger/acts that referenced this pull request May 21, 2024
…d of bound vector (acts-project#2811)

This avoid free->bound->free roundtrips and aligns the interface with `freeToBoundJacobian`

related issues
- acts-project#2810

blocked by
- acts-project#2789
- acts-project#2782
- acts-project#2781
asalzburger pushed a commit to asalzburger/acts that referenced this pull request May 21, 2024
…ection (acts-project#2933)

We do not depend on free parameters for `Surface` so this should not be part of the interface. I consistently replace this by position and direction vectors here.

blocked by
- acts-project#2932
- acts-project#2811
asalzburger pushed a commit to asalzburger/acts that referenced this pull request May 21, 2024
I noticed that the concept of a curvilinear surface is a quite spread over the codebase and I wanted to improve this. Here I introduce a surface like class which does not actually inherit from `Acts::Surface` but shares some of the functionality. This way the jacobians are put in a single place and can be used from somewhere else in an expressive fashion.

Afterwards it might make sense to let the `CurvilinearTrackParameters` depend on this special surface instead of a `PlaneSurface` or to merge them with `BoundTrackParameters` completely.

related issues
- acts-project#2812 

blocked by
- acts-project#2789
- acts-project#2782
- acts-project#2781
- acts-project#2811
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaks Athena build This PR breaks the Athena build Changes Performance Component - Core Affects the Core module Component - Examples Affects the Examples module Event Data Model Track Fitting
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants