acts
acts copied to clipboard
FPE: RootTrajectoryStatesWriter
This issue/PR has been automatically marked as stale because it has not had recent activity. The stale label will be removed if any interaction occurs.
Description
Some of the diagonal elements of the parameter covariance happen to be negative sometimes.
// track parameters error
// MARK: fpeMaskBegin(FLTINV, 1, #2348)
m_err_eLOC0[ipar].push_back(
std::sqrt(covariance(Acts::eBoundLoc0, Acts::eBoundLoc0)));
m_err_eLOC1[ipar].push_back(
std::sqrt(covariance(Acts::eBoundLoc1, Acts::eBoundLoc1)));
m_err_ePHI[ipar].push_back(
std::sqrt(covariance(Acts::eBoundPhi, Acts::eBoundPhi)));
m_err_eTHETA[ipar].push_back(
std::sqrt(covariance(Acts::eBoundTheta, Acts::eBoundTheta)));
m_err_eQOP[ipar].push_back(
std::sqrt(covariance(Acts::eBoundQOverP, Acts::eBoundQOverP)));
m_err_eT[ipar].push_back(
std::sqrt(covariance(Acts::eBoundTime, Acts::eBoundTime)));
// MARK: fpeMaskEnd(FLTINV)
Justification
The root-writers are only part of the Examples. To check the validity of the returned track (including covariances) lies in the responsibility of the user, so we do not need to handle it. Fixing the erroneous behaviour is desired, but not at cost of computational performance.
Reproduce
The FPE does only occur in gitlab CI jobs.
CI Bridge / linux_physmon
- CI/physmon/workflows/physmon_trackfitting_kf.py
- CI/physmon/workflows/physmon_trackfitting_gsf.py
- CI/physmon/workflows/physmon_trackfitting_gx2f.py
- CI/physmon/workflows/physmon_trackfinding_1muon.py
- CI/physmon/workflows/physmon_trackfinding_4muon_50vertices.py
- CI/physmon/workflows/physmon_trackfinding_ttbar_pu200.py
CI Bridge / linux_test_examples:
- Examples/Python/tests/test_examples.py::test_truth_tracking_kalman[generic-False-0.0]
- Examples/Python/tests/test_examples.py::test_truth_tracking_kalman[generic-True-0.0]
- Examples/Python/tests/test_examples.py::test_truth_tracking_kalman[odd-False-0.0]