Implement KF with backward filtering
This MR (Closes #682 (closed)) implements the option to run KF fit in forward filtering + backward filtering mode in addition to the current forward filtering + smoothing with formalism.
- In the forward filtering + backward filtering mode:
- After forward filtering is done, the propagation direction is reversed and navigation and stepping state are updated to last measurement state.
- The 'smoothed' parameter is taken as the filtered parameter in the backward filtering. If the backward filtering misses some surfaces in the forward filtering, then there is no smoothed parameter for the state on this surface.
- The material interactor is changed to allow for navigation-independent covariance update (now in default always add noise)
The performance of KF in this mode could be found here:KF_Jan13_2020.pdf
A timing test for the two KF modes with the Generic Detector geometry and ATLAS B field could be found here:
Merge request reports
Activity
added Improvement label
added 1 commit
- 8b9835a1 - Add the option to run backward filtering in KF
added 1 commit
- 1bda1f3b - Add the option to run backward filtering in KF
added 1 commit
- 51c7f5f8 - Fix the setting of fitted parameter after backward filtering
added 1 commit
- f4cdafca - Reset smoothed state as invalid if surface is not passed in backward filtering
added 1 commit
- debf409e - Add navigation direction independent noise sign in material interaction
added 1 commit
- 32f828c2 - Fix the setting of backward filtering status
assigned to @xai
changed milestone to %0.14.00
- Resolved by Xiaocong Ai
- Resolved by Xiaocong Ai
- Resolved by Xiaocong Ai
- Resolved by Xiaocong Ai
Ok, I'm personally not a big fan of how the final merging of the results for forward and backward states works, with the map you added. This is necessary because we might miss a surface on the way back that hit on the way forward, or the other way around?
Apart from that (and this is not really due to the specific changes of this MR), I feel like the KF has reached the amount of complexity we can shove in there before it becomes hard to follow what's going on. The sequence of transitions in the implicit FSM here is pretty convoluted now and depends on a lot of parameters.
Edited by Paul GessingerYou're right. The forward and backward propagation could have different propagation path, thus different surfaces. But as said above, we don't have to use the additional map if we want to keep the kalman fitter result as tidy as possible.
I still need a take a further look at the FSM to understand it better. But I'm quite happy to switch FSM-based KF if it helps. We could discuss this next year.