Skip to content

Commit

Permalink
refactor: Combine material, measurement and hole handling in Core CKF…
Browse files Browse the repository at this point in the history
… `filter` (acts-project#3723)

Combines the handling of material, measurements and holes in the Core CKF.

---

This pull request includes several changes to the `CombinatorialKalmanFilter` class in the `Core/include/Acts/TrackFinding/CombinatorialKalmanFilter.hpp` file to improve error handling, state management, and logging. Additionally, there is a minor change in the `MeasurementSelector` class to handle empty measurement candidates more gracefully.

### Error Handling and State Management:

* Added checks and logging for empty active branches to ensure the filter stops correctly when no branches are active. (`Core/include/Acts/TrackFinding/CombinatorialKalmanFilter.hpp`) [[1]](diffhunk://#diff-55dd901875f5a87b6a9fee495de245296efbfd45aa9f9483036bcd299a277e09R583-R590) [[2]](diffhunk://#diff-55dd901875f5a87b6a9fee495de245296efbfd45aa9f9483036bcd299a277e09R660-R673)
* Modified the filter to reset and stop properly when all branches are stopped or when certain conditions are met, improving the robustness of the filtering process. (`Core/include/Acts/TrackFinding/CombinatorialKalmanFilter.hpp`) [[1]](diffhunk://#diff-55dd901875f5a87b6a9fee495de245296efbfd45aa9f9483036bcd299a277e09L592-R600) [[2]](diffhunk://#diff-55dd901875f5a87b6a9fee495de245296efbfd45aa9f9483036bcd299a277e09L623-L642)

### Logging Improvements:

* Enhanced logging to provide more detailed information about the state transitions and decisions made during the filtering process. (`Core/include/Acts/TrackFinding/CombinatorialKalmanFilter.hpp`) [[1]](diffhunk://#diff-55dd901875f5a87b6a9fee495de245296efbfd45aa9f9483036bcd299a277e09L716-R761) [[2]](diffhunk://#diff-55dd901875f5a87b6a9fee495de245296efbfd45aa9f9483036bcd299a277e09L749-L925) [[3]](diffhunk://#diff-55dd901875f5a87b6a9fee495de245296efbfd45aa9f9483036bcd299a277e09L950-R907)

### Code Simplification and Cleanup:

* Simplified the handling of material and measurement surfaces by refactoring conditional checks and removing redundant code. (`Core/include/Acts/TrackFinding/CombinatorialKalmanFilter.hpp`) [[1]](diffhunk://#diff-55dd901875f5a87b6a9fee495de245296efbfd45aa9f9483036bcd299a277e09L716-R761) [[2]](diffhunk://#diff-55dd901875f5a87b6a9fee495de245296efbfd45aa9f9483036bcd299a277e09L749-L925)

### Minor Change in MeasurementSelector:

* Updated the `MeasurementSelector::select` method to return a success result when no measurement candidates are found, instead of returning an error. (`Core/include/Acts/TrackFinding/MeasurementSelector.ipp`)
  • Loading branch information
andiwand authored and Rosie-Hasan committed Nov 13, 2024
1 parent 436342a commit cc014c5
Show file tree
Hide file tree
Showing 2 changed files with 149 additions and 196 deletions.
Loading

0 comments on commit cc014c5

Please sign in to comment.