The primary track reconstruction pass starts by forming track seeds consisting of triplets of space-points (SP) in the either the Pixel or SCT subdetectors which are compatible with originating from a charged particle track.
These track seeds have some loose selection criteria applied to improve computational time (e.g cuts on impact parameters etc. to abort reconstruction of seeds that will produce low-quality tracks) A confirmation space-point, as shown below, is a fourth space-point from a different layer which, if used to replace the outer-most space-point on a given seed, results in a new seed with a compatible curvature to the original, indicating it is likely part of the same charged-particle trajectory. This confirmation is recorded when overlaps among candidates are removed.
Then search roads (sets of detector modules that can be expected to contain clusters compatible with the seed) are built through the remaining detector based on the estimated seed trajectory. This reduces combinatorics (and thus computational time) as it only considers clusters on a subset of modules in the path of the seed.
Then, these seeds are extended along the search roads through a combinatorial Kalman filter, which searches for adjacent clusters both outwards and inwards in r while attempting to smooth the trajectory.
Additionally, potential seeds that fail the track finding are checked for calorimeter compatibility, if the seed is within a region of interest (ROI) in the calorimeter the track-finding procedure is redone allowing an additional “kink” in the track. This is known as Bremsstrahlung recovery and helps recover some efficiency for electron reconstruction. (e.g, allowing for a non negligible change in track direction due to Bremsstrahlung radiation from electrons) (Note: Technically, in the code this is initialized as a step in the ambiguity processor, detailed in the next section)
The end result of this track finding/pattern recognition process is a set of potential track candidates that then undergoes further refinement. The implementation of the Kalman filter approach in tracking is fast computationally, but is relatively imprecise and doesn’t resolve ambiguities.
After this the track candidates are passed through an ambiguity solver, discussed in the next section.
These steps are accomplished in several algs and result in several object collections, detailed by the flowchart below.