Skip to content

Output track-to-PV relations from the PV finder

As Wouter presented today there are benefits for storing the track-to-PV information computed in the PV finder for later use:

  • Cheap PV unbiasing.
  • Quick look-up during selections, i.e. finding the 'best PV'.
  • Useful for the persistence, allowing downstream applications to re-use the relations computed in HLT2.

In addition to the PVs themselves, the finder should also store this per-track information:

  • Index to vertex.
  • Weight.
  • Impact parameter and \chi^{2}_{\text{IP}}.
  • Derivatives of \chi^{2} with respect to PV position.

There are some technical aspects to consider:

  • The PV finder acts on VELO tracks. How do we propagate the track-to-PV information through later stages of the track reconstruction in a way that, for example, lets us access best-PV information on long tracks? What about track types which do not have a VELO segment?
  • What is the most appropriate format for this information? Should a track class include it directly (we could force it to be a prerequisite for building long tracks), or should it be a (zipped?) extension to existing track classes?
  • How do we persist the information for downstream use?
  • Should we try to adapt legacy selection algorithms to use this P2PV information?
  • How can we integrate this information into the functors?
    • In principle this should be straightforward for the ThOr functors. We already explicitly pass in PVs, it would be a simple extension in the configuration and C++ to pass the relations as well. It will make simultaneously supporting the legacy selection framework within ThOr harder though.

And finally: who does the work? 😄

/cc @wouter @cmarinbe @decianm @gligorov @adudziak

Edited by Alex Pearce
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information