Skip to content

ZDC: fix for rare RPD linear algebra ROOT errors (ATLASRECTS-7967)

This merge request addresses ATLASRECTS-7967 by adding checks which predict when TLinearFitter::Eval will fail in RPD reconstruction and, in these cases, avoiding invocation of TLinearFitter::Eval.

TLinearFitter::Eval generates ROOT errors upon failure:

22:12:58 TDecompChol::Decompose()                           13252     4   ERROR matrix not positive definite
22:12:58 TDecompChol::Solve()                               13252     4   ERROR Decomposition failed
22:12:58 TLinearFitter::Eval                                13252     4   ERROR Matrix inversion failed  

Such an error was thrown by RPD reconstruction code during the first reprocessing of data23_hi UPC stream, and, although the failure is identified via return value of TLinearFitter::Eval, the ROOT error was propagated to Athena.

This merge request adds static members s_minPileupFitPoints and s_minUniquePileupFitPoints to RPDDataAnalyzer to configure the number of points required to attempt a fit. s_minUniquePileupFitPoints is set to the maximum number of parameters in fits used in RPD reconstruction, which should guarantee that the inversion of the Gram matrix in TLinearFitter::Eval succeeds.

Edited by Mason Ray Housenga

Merge request reports