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

fix: Change the component reducer for the GSF (to fix navigation issues) #3521

Conversation

benjaminhuth
Copy link
Member

@benjaminhuth benjaminhuth commented Aug 20, 2024

This changes the used component reducer in the examples framework. With the next major release, the default reducer should also be changed in Core.
Also fixes a bug, as the MaxMomentumReducerLoop was in fact a MinMomentumReducerLoop.

  • Implement the change
  • Add unit tests

@benjaminhuth benjaminhuth added this to the next milestone Aug 20, 2024
@benjaminhuth benjaminhuth requested a review from andiwand August 20, 2024 13:26
@benjaminhuth benjaminhuth marked this pull request as draft August 20, 2024 13:27
@github-actions github-actions bot added Component - Core Affects the Core module Component - Examples Affects the Examples module Track Fitting labels Aug 20, 2024
Copy link

github-actions bot commented Aug 20, 2024

📊: Physics performance monitoring for d8d10b9

Full contents

physmon summary

@github-actions github-actions bot added Infrastructure Changes to build tools, continous integration, ... Changes Performance labels Aug 20, 2024
andiwand
andiwand previously approved these changes Aug 20, 2024
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.

LGTM

@kodiakhq kodiakhq bot removed the automerge label Aug 21, 2024
Copy link
Contributor

kodiakhq bot commented Aug 21, 2024

This PR currently has a merge conflict. Please resolve this and then re-add the automerge label.

Copy link

@benjaminhuth benjaminhuth merged commit 8246a1b into acts-project:main Aug 21, 2024
42 checks passed
@benjaminhuth benjaminhuth deleted the fix/multistepper-change-component-reducer branch August 21, 2024 19:56
@acts-project-service
Copy link
Collaborator

🔴 Athena integration test results [8246a1b]

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 Aug 21, 2024
@paulgessinger paulgessinger modified the milestones: next, v36.2.0 Aug 26, 2024
kodiakhq bot pushed a commit that referenced this pull request Aug 26, 2024
In case we loose the boundary we have to renavigate. For this purpose I introduce a loop in the `preStep` call where the first iteration has the original behavior and the second one is used in case of renavigation.

Incorporates #3238 to avoid double handling of the renavigation.

blocked by
- #3521
kodiakhq bot pushed a commit that referenced this pull request Sep 1, 2024
…3442)

I think this is one of the big navigation pitfalls. If we end up in the wrong volume the navigation is practically lost. This is too expensive to check in production so I opted for an `assert`.

Not sure if that is a great solution since users might try to measure performance with non release build by accident. But that was the only way I could think of.

blocked by
- #3521
- #3481
kodiakhq bot pushed a commit that referenced this pull request Oct 1, 2024
After #3521 we also want to change the default and remove the weighted mean reduction as it is unstable.

This pull request primarily focuses on removing the `WeightedComponentReducerLoop` struct and its associated functionality from the `MultiEigenStepperLoop` class and its tests. The changes simplify the codebase by eliminating the weighted component reduction logic and replacing it with the `MaxWeightReducerLoop`.

### Removal of `WeightedComponentReducerLoop`:

* [`Core/include/Acts/Propagator/MultiEigenStepperLoop.hpp`](diffhunk://#diff-2ec4ab79520c414c4eb526d00ede45a6a10f8eeba06398d81c315f9be5686e9eL48-L145): Removed the `WeightedComponentReducerLoop` struct and its methods, which were responsible for reducing the multicomponent state by summing weighted values.

### Replacement with `MaxWeightReducerLoop`:

* [`Core/include/Acts/Propagator/MultiEigenStepperLoop.hpp`](diffhunk://#diff-2ec4ab79520c414c4eb526d00ede45a6a10f8eeba06398d81c315f9be5686e9eL243-R145): Updated the `MultiEigenStepperLoop` class to use `MaxWeightReducerLoop` instead of `WeightedComponentReducerLoop` as the default component reducer.

### Test updates:

* [`Tests/UnitTests/Core/Propagator/MultiStepperTests.cpp`](diffhunk://#diff-35cd1eb9d226dec9f6017cd99b5605c2da3bbaa4c3f9ffbe5b0bed7efcfdc0ddL141-L165): Removed the test case for `WeightedComponentReducerLoop`, which validated the position and direction calculations using weighted sums.
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 Infrastructure Changes to build tools, continous integration, ... Track Fitting
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants