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: Use common direction transform Jacobian #2782

Merged

Conversation

andiwand
Copy link
Contributor

@andiwand andiwand commented Dec 8, 2023

I found the same code in a few places and there seems to be a bit of simplification opportunity in the math

@andiwand andiwand added this to the next milestone Dec 8, 2023
@github-actions github-actions bot added the Component - Core Affects the Core module label Dec 8, 2023
Copy link

codecov bot commented Dec 8, 2023

Codecov Report

Attention: 43 lines in your changes are missing coverage. Please review.

Comparison is base (c51f48a) 48.87% compared to head (ea6d780) 48.83%.

Files Patch % Lines
Core/src/Propagator/detail/CovarianceEngine.cpp 19.04% 5 Missing and 12 partials ⚠️
Core/include/Acts/Utilities/JacobianHelpers.hpp 38.88% 2 Missing and 9 partials ⚠️
Core/src/Surfaces/DiscSurface.cpp 18.18% 4 Missing and 5 partials ⚠️
Core/src/Surfaces/Surface.cpp 0.00% 0 Missing and 4 partials ⚠️
Core/src/Surfaces/LineSurface.cpp 0.00% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2782      +/-   ##
==========================================
- Coverage   48.87%   48.83%   -0.05%     
==========================================
  Files         485      486       +1     
  Lines       28205    28175      -30     
  Branches    13286    13285       -1     
==========================================
- Hits        13786    13760      -26     
+ Misses       4829     4820       -9     
- Partials     9590     9595       +5     

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

AJPfleger
AJPfleger previously approved these changes Dec 8, 2023
@andiwand
Copy link
Contributor Author

After having a closer look at the code it seems like the jacobians are duplicated in the CovarianceEngine. I will close this one and create another PR where I remove the duplicated code by keeping the JacobianEngine

@andiwand andiwand closed this Dec 11, 2023
@andiwand andiwand reopened this Dec 11, 2023
@andiwand
Copy link
Contributor Author

(closed the wrong pr)

@acts-project-service
Copy link
Collaborator

acts-project-service commented Dec 18, 2023

🔴 Athena integration test results [7b26be2]

🔴 Some tests have failed!

Please investigate the pipeline!

status job report
🟢 run_unit_tests
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsBenchmarkWithSpot.sh 8 100
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsWorkflow.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsValidateAmbiguityResolution.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsValidateResolvedTracks.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsValidateTracks.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsValidateActsCoreSpacePoints.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsValidateActsSpacePoints.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsValidateSeeds.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsValidateOrthogonalSeeds.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsValidateClusters.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsPersistifyEDM.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsGSFRefitting.sh
🟢 run_ci_tests: ../athena/AtlasTest/CITest/test/ActsKfRefitting.sh
🟢 run_ci_tests: python3 ../athena/Tracking/Acts/ActsGeometry/test/ActsExtrapolationAlgTest.py
🟢 run_ci_tests: python3 ../athena/Tracking/Acts/ActsGeometry/test/ActsITkTest.py
🟢 run_workflow_tests_run4_mc
🟢 run_workflow_tests_run2_mc
🟢 run_workflow_tests_run2_data
🟢 run_workflow_tests_run3_mc
🔴 run_workflow_tests_run3_data
🟢 run_art_test: test_data18_13TeV_1000evt
🟢 run_art_test: test_ttbarPU40_reco

@acts-project-service acts-project-service added the Fails Athena tests This PR causes a failure in the Athena tests label Dec 18, 2023
@paulgessinger
Copy link
Member

This changes 1 vertex in the Athena run 3 workflow test.

@andiwand
Copy link
Contributor Author

that is very unexpected. I will check the diff again. maybe I messed something up

@paulgessinger
Copy link
Member

paulgessinger commented Dec 21, 2023

I'm ok to update references and merge this. Do you want to go ahead with this now or wait until January?

@andiwand
Copy link
Contributor Author

would be great - I can update the hashes

@kodiakhq kodiakhq bot merged commit 7b26be2 into acts-project:main Dec 22, 2023
54 checks passed
@acts-project-service acts-project-service added the Breaks Athena build This PR breaks the Athena build label Dec 22, 2023
@andiwand andiwand deleted the refactor-direction-transform-jacobian branch December 22, 2023 11:29
@paulgessinger
Copy link
Member

paulgessinger commented Dec 25, 2023

This causes lots of new navigation failures in the Athena workflows, which somehow we did not see in the previous Athena runs.
We probably will have to revert this until we've had time to investigate.

@paulgessinger
Copy link
Member

This is not actually causing any issues. I tracked it down to a combination of #2712 and simultaneous changes on the Athena side.

kodiakhq bot pushed a commit that referenced this pull request Jan 19, 2024
In #2780 I realized that we do not call any of the functions in `JacobianEngine` on the current main branch and most of them are duplicated in `CovarianceEngine`. Here I try to unify the duplicated code again

blocked by
- #2782
- #2781
@paulgessinger paulgessinger modified the milestones: next, v32.0.0 Jan 19, 2024
@paulgessinger paulgessinger added Fails Athena tests This PR causes a failure in the Athena tests and removed Breaks Athena build This PR breaks the Athena build Fails Athena tests This PR causes a failure in the Athena tests labels Jan 23, 2024
andiwand added a commit to andiwand/acts that referenced this pull request Jan 29, 2024
andiwand added a commit to andiwand/acts that referenced this pull request Jan 29, 2024
paulgessinger pushed a commit that referenced this pull request Jan 30, 2024
…2907)

Output changes are not tolerated by Athena and will be patched to v32.
LaraCalic pushed a commit to LaraCalic/acts that referenced this pull request Feb 10, 2024
I found the same code in a few places and there seems to be a bit of simplification opportunity in the math
LaraCalic pushed a commit to LaraCalic/acts that referenced this pull request Feb 10, 2024
In acts-project#2780 I realized that we do not call any of the functions in `JacobianEngine` on the current main branch and most of them are duplicated in `CovarianceEngine`. Here I try to unify the duplicated code again

blocked by
- acts-project#2782
- acts-project#2781
kodiakhq bot pushed a commit that referenced this pull request Mar 28, 2024
…d of bound vector (#2811)

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

related issues
- #2810

blocked by
- #2789
- #2782
- #2781
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
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
…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
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
…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
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
Changes Performance Component - Core Affects the Core module Component - Examples Affects the Examples module Fails Athena tests This PR causes a failure in the Athena tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants