Skip to content

Further refactoring and cleanup of TrkGlobalChi2Fitter

In this merge request, we do some further refactoring and cleaning up of the TrkGlobalChi2Fitter class. In short, we make the following changes:

  1. We migrate several instances of std::vector<double> and even std::vector<std::vector<double>> to Amg::VectorX and Amg::MatrixX, respectively. The point of that is to improve readability, performance, and interoperability with Eigen classes and methods.
  2. Replacement of some naively implemented matrix-matrix methods to use Eigen, which is possible now do the previous point.
  3. Deduplication of the calculateDerivative method, as well as the track making code, to reduce its code volume and improve clarity.
  4. Removal of some mysterious and unused method declarations.

I've done my best to validate this change, and the results seem to be unchanged on a q431 test.

Merge request reports