acts-project / acts

Experiment-independent toolkit for (charged) particle track reconstruction in (high energy) physics experiments implemented in modern C++
https://acts.readthedocs.io
Mozilla Public License 2.0
104 stars 165 forks source link

Bug: Covariance matrix needs to be blown up in ODD example #2074

Closed pbutti closed 4 months ago

pbutti commented 1 year ago

The covariance matrix of the seeds need to be blown up before being passed to the CKF for track finding. This should happen for every seed strategy used. However the current default is a scaling factor of 1. See addSeeding configuration here https://github.com/acts-project/acts/blob/main/Examples/Scripts/Python/full_chain_odd.py#L157 And defaults here: https://github.com/acts-project/acts/blob/main/Examples/Python/python/acts/examples/reconstruction.py#L213

Current pulls shown in #2061 show in fact pulls that depend on the seeding strategy used. I've done a serie of fast tests by changing the blow up factor to 100., 50., 10. and, while I see d0/z0 pulls at ~1., theta/phi/q/p pulls are too small (~0.5) (fatras/muon). However this depends also on the initial number passed to the sigmas that populate the C matrix. I would have not expected this to happen and I'll follow up on this by producing some single muon plots at 1,10,100 GeV.

However I would like to ask what is the strategy to set this up for the ODD. From my perspective, the full chain example need to have errors under control (otherwise I'm unsure how other algorithms can be reliable, i.e. vtxing), but it might be just me being annoying. Any guidance on the choice of the initial cov matrix? I would start from checking the width of the track params residuals vs truth to have a feeling of expected resolution. Analytical, i.e. Gluckstern formulas, computations would be interesting too for ODD. Are those available?

Tagging people that might be interested: @paulgessinger @asalzburger @andiwand

andiwand commented 1 year ago

Thank you for digging this up and summarizing this here @pbutti !

The cov inflate should definitely be part of the full chain. That needs to be fixed.

I don't understand the contracted pulls of the momentum parameters tho... if this does not change with initial momentum or different cov inflates we have some systematic errors

It would be good to discuss this next week at CERN

github-actions[bot] commented 1 year ago

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.

paulgessinger commented 1 year ago

Being worked on

github-actions[bot] commented 1 year ago

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.

AJPfleger commented 4 months ago

What is the status on this?

andiwand commented 4 months ago

I think this is under control now. The initial cov was pushed up with https://github.com/acts-project/acts/pull/2295 and there where consecutive changes to get the CPU down after that change. Closing