trackreco / mkFit

Vectorized, Parallelized Tracking
https://trackreco.github.io/
Apache License 2.0
17 stars 15 forks source link

Negative entries in covariance matrix #254

Open areinsvo opened 4 years ago

areinsvo commented 4 years ago

As discussed in issue #248, some seeds end up with negative entries in their covariance matrices. This is mostly a problem in element (5,5), but occurs in other elements as well. @slava77 investigated, and says the problem comes from numerical instabilities in our code when we do the coordinate conversions. The current “fix” solves this by setting any negative entries in the covariance matrix to 1.

We discussed doing two things to improve the current situation: A) use a more reasonable value for the negative entries, like 10^-5 rather than one and B) redoing the coordinate transformation directly rather than from curv to cartesian and from cartesian to CCS.

Part (A) is assigned to me and Part (B) is assigned to @slava77.

areinsvo commented 3 years ago

This issue was addressed by PR#324 from @slava77. A few notes from the PR:

total number of non-positive-definite covariances coming from mkfit (a sum over all tracking iterations) goes down from 17327 to 792 on 10000 events. The remaining cases appear to be originating in mkFit, while the original was dominated by the Cartesian -> CCS conversion.

Keeping this issue open to remind us to eventually investigate the cause of the remaining non-positive-definite covariances.

osschar commented 3 years ago

Yes, I'll take a look when I get a high-pt mu sample for standalone. And also check why our efficiency is worse, especially for high-pt and in the barrel.