Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • R Rec
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 268
    • Issues 268
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Jira
    • Jira
  • Merge requests 55
    • Merge requests 55
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Issue
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • LHCbLHCb
  • Rec
  • Issues
  • #204
Closed
Open
Issue created Jun 14, 2021 by Alex Pearce@apearce🌈Contributor

ThOr lifetime functor returns incorrect values

The ThOr lifetime functor returns incorrect lifetime values.

Comparing the implementation with the original (from DirectionFitBase::iterate), there are several differences:

  1. The original transports the particle to its decay vertex before the fit.
  2. The original updates the input particle's momentum, the input particle's decay vertex position, and the input PV's position after each iteration.
  3. The original contains a matrix inversion and different normalisation factor.
  4. The new implementation effectively contains two separate versions: one for legacy (LHCb::Particle) inputs, and one for SOA particle inputs.

I've been able to modify the new (ThOr) implementation to bring the values much closer to those from the original implementation by addressing point 3. 1 and 2 are more delicate:

  1. We don't have a ThOr functor that uses the transport service, so we need to retrieve it and pass it down to the distance calculator.
  2. Hacking value modification into the LHCb::Particle implementation is one thing, but doing something similar for the parallel SOA implementation is trickier.

I hope that the legacy and SOA implementations can be merged with judicious use of helpers, to be seen.

Edited Sep 27, 2021 by Alexander Leon Gilman
Assignee
Assign to
Time tracking