acts-project / acts

Experiment-independent toolkit for (charged) particle track reconstruction in (high energy) physics experiments implemented in modern C++
https://acts.readthedocs.io
Mozilla Public License 2.0
104 stars 168 forks source link

`GlobalChiSquareFitter` produces parameters in wrong volume #3444

Open andiwand opened 2 months ago

andiwand commented 2 months ago

Can be observed with https://github.com/acts-project/acts/pull/3442

This is also the issue resulting in https://github.com/acts-project/acts/issues/3267

  python3: /__w/acts/acts/Core/include/Acts/Propagator/Navigator.hpp:330: void Acts::Navigator::initialize(propagator_state_t&, const stepper_t&) const [with propagator_state_t = Acts::PropagatorState<Acts::PropagatorOptions<Acts::EigenStepper<>::Options, Options, Acts::ActionList<Acts::Experimental::Gx2Fitter<Acts::Propagator<Acts::EigenStepper<>, Acts::Navigator>, Acts::VectorMultiTrajectory>::Actor<Acts::GenericBoundTrackParameters<Acts::ParticleHypothesis> > >, Acts::AbortList<Acts::Experimental::Gx2Fitter<Acts::Propagator<Acts::EigenStepper<>, Acts::Navigator>, Acts::VectorMultiTrajectory>::Aborter<Acts::GenericBoundTrackParameters<Acts::ParticleHypothesis> >, Acts::PathLimitReached> >, Acts::EigenStepper<>::State, State, Acts::Experimental::Gx2FitterResult<Acts::VectorMultiTrajectory> >; stepper_t = Acts::EigenStepper<>]: Assertion `state.navigation.startVolume->inside( stepper.position(state.stepping), state.options.surfaceTolerance) && "We did not end up inside the volume."' failed.
AJPfleger commented 2 months ago

This might/should already solve the issue:

I just need to get the unit test working.

andiwand commented 2 months ago

I fear #3411 was not sufficient @AJPfleger which can be observed here https://github.com/acts-project/acts/pull/3481 the update is pushed outside the whole tracking geometry which does not trigger the GX2F error as expected in the unit test.

I think the check for the volume should happen outside the propagation loop. This way we can guarantee that the navigation does not get faulty input.

github-actions[bot] commented 1 month ago

This issue/PR has been automatically marked as stale because it has not had recent activity. The stale label will be removed if any interaction occurs.