Fix use after move described in ATLASRECTS-5738
In my previous work to migrate the GlobalChi2Fitter
to smart pointers, I
introduced a minor bug-prone bit of code where a smart pointer may be
used after being moved. While this has not been disastrous, it is still
erroneous behaviour that clang-tidy picks up on, as described in
ATLASRECTS-5738. This commit resolves the issue by keeping a non-unique
observer pointer to the object, and using that instead of the unique
handle which may be moved. This is mostly a quick fix, the method
containing this code is extremely complex and needs some refactoring.
Closes ATLASRECTS-5738.