trackreco / mkFit

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

Phi greater than |pi|? #72

Closed kmcdermo closed 7 years ago

kmcdermo commented 7 years ago

So one curiosity that I showed today was the fact that some reco tracks end up with a phi > |pi|. This can be seen in the fake rate plot, which plots the last layer momentum phi the track ended up on:

https://kmcdermo.web.cern.ch/kmcdermo/full-det-tracking-validation/SNB_ToyMC_Barrel_FR_phi.png

This is ultimately not so surprising, since in our new polar coordinate system phi is one of the parameters of the track state, and is propagated+updated by a series of numerical computations, rather than computed from atan2(py,px).

Regardless, it is something we should track down and resolve (with the fallback option to place a bounds check after propagation and after update).

kmcdermo commented 7 years ago

See #87 for a proposal to solve this problem.

As discussed in the face-to-face today, we can assume the tracking does not go so crazy as to produce a phi more than |n*pi| > pi (n=2), so can safely turn the while loops into an if block.

Can someone comment on the PR if the optrpt is saying this loop was vectorized or not?

kmcdermo commented 7 years ago

Since #87 is merged, this issue can now be closed.