[go: up one dir, main page]

Skip to content

Downstream track reconstruction with custom ordering of UT layers

This MR improves the current HLT2 Downstream track reconstruction algorithm.

Introduction

It was shown in this talk that due to several inactive UT ASICs, the tracking efficiency can significantly drop in certain regions if it's required for a track to have hits in 4 UT layers. Currently, the PrLongLivedTracking algorithm requires hits to be present in all layers but UTbV.

This MR aims to relax this requirement by allowing the hits to be missing in all the layers.

Implementation

UT layers UTaU and UTbX:

The affected functions fitXProjection and addUHits effectively create the vectors of track candidates by adding the hits in the corresponding layers.

This MR modifies them in a way that if no hits were found in a specific layer, the function still outputs the vector with only one element, a PrDownTrack object with already found hits in previous steps.

UT layer UTaX:

Since the algorithm starts with hits in this layer, looping over them in the outermost loop, there is no similar solution in this case. Instead, it is proposed to add a second "loop" with a different UT layer ordering scheme:

  • 0-3-1-2 (default)
  • 3-0-2-1

In the second loop, the hits in UTaX are found inside fitXProjection function, which now allows hits to be missing. Effectively, this change allows the algorithm to reconstruct tracks with missing hits in UTaX.

Technically, this is achieved by refactoring the code and creating a new createTrackCandidates function for reconstruction with a particular layer sequence.

Optimization

The proposed changes increase the number of tracks to be processed and, therefore, naturally lead to the throughput decrease. A few measures were taken to compensate for this decrease:

  • Migration to float variable type in all the numerical variables. (It was shown that this doesn't lead to efficiency degradation)
  • The second loop requires the hits in UTaX to be missing (as otherwise track should be reconstructed in the first loop)
  • Checks that there is not more than one UT layer with a missing hit for every track.
  • Heavy optimization of addVhits function, as it was observed that a significant execution time increase comes from this function.

Redesign of addVhits

Current state

The current implementation of addVhits is as follows:

  • Loop over all compatible hits in UTbV:
    • Check if the distance from the track to the hit is within tolerance (uses track state for this)
    • Add the hit to the track
    • Fit the track (modifies the state)
    • Remove the added hit (in order to prepare for the next iteration)

However, this approach introduces a dependency on a specific UT hit ordering. This is because inside a loop iteration, one modifies the track state, which is subsequently used in all following iterations.

Proposed changes

It was shown that if the distance-based preselection is decoupled from the fit (and therefore state modifications) in 99.6% of the cases, the closest hit will have the smallest \chi^2. See this GitLab thread. This is also confirmed using the efficiency & fake rate check.

Therefore, it's proposed to run a linear search of the geometrically closest hit instead of the previous implementation. In case the hit was found, the track fit is called.

Performance

The efficiency and fake rate change was evaluated for the following samples

  • Realistic minimum bias
  • Minimum bias W40.42
  • D* -> (D0 -> Ks Ks) pi
  • Lb -> Lmd gamma

Change in efficiency and fake rate of only PrLongLivedTracking output. (This shows the direct impact of this MR)

Change in efficiency and fake rate after Kalman fitter & clone killer.

The following two links lead to the plots with Realistic MinBias (with correct conditions):

Change in efficiency and fake rate of only PrLongLivedTracking output. (This shows the direct impact of this MR)

Change in efficiency and fake rate after Kalman fitter & clone killer.

Impact on real data from October 2024 image image

References

FYI: @jzhuo, @adeoyang

Edited by Volodymyr Svintozelskyi

Merge request reports

Loading