Skip to content

Using general similarity_5_5 instead of specialized ones

In each stage of the detector, the transport matrix F has some qualities that can be used to skip some computations when calculating the similarity between F and C. There are specialized similarity_5_5_(VUT/UT/UTT/TFT/T) functions that exploit this. These similarity functions are used on the prediction step of the parametrized Kalman filter.

We found out a bug in similarity_5_5_T. When calculating a[0], '_1' needed to be added but it wasn't. This changed results in the lines we use for testing.

Arthur theorized that since the compiler is quite aggressive with optimizations, using the general similarity function would not affect throughput much, and having just one function for this instead of 5 would improve readability, maintainability, debugging and reduce codebase size.

Also, using the general similarity function works as a bug fix in this case too, so we open this MR to check throughput and correctness with the pipeline.

Note that similarity_5_5_VP is still present, since in Velo we use a transport matrix F of different size (2x2 instead of 5x5).

Merge request reports

Loading