key4hep / key4hep/k4ActsTracking

Tracking issue: remaining work for full 4D tracking support

Open
#77 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
3
Forks
16
Avg merge
2d 10h
Merged PRs (30d)
6

Description

This issue tracks the remaining steps towards full 4D tracking support in `CKFTrackingAlg` for #72.

### 1. Per-hit time errors from EDM4hep

The per-sensor resolutions currently have to be configured by hand, mirroring the digitizer's `ResolutionT` settings. The clean solution is to persist the resolution in the data:

- [ ] EDM4hep: add a `timeError` [ns] member to the tracker hit types and the `TrackerHit` interface (schema version bump; scalar, mirroring `du`/`dv` and `eDepError` — time smearing is uncorrelated with position, so no extension of the position covariance is needed)
- [ ] k4Reco `DDPlanarDigi`: `setTimeError(resT)` with the per-layer resolution actually used for smearing
- [ ] `CKFTrackingAlg`: prefer `hit.getTimeError()` when > 0, fall back to the `HitTimeResolutionCellIDs` configuration for files predating the schema change

(Implementations for all three exist and are compile-tested; blocked on the EDM4hep schema change propagating through a release and the key4hep stack.)

### 2. Digitizer time-convention migration

`DDPlanarDigi` historically subtracted the propagation TOF from stored hit times. With MuonColliderSoft/k4Reco#17 the TOF correction can be applied to the time-window cut only, keeping absolute stored times, which is what the 4D fit wants.

- [ ] Once samples are produced with the new digitizer flags, drop `HitTimesCorrectedForPropagation=True` from configurations
- [ ] Longer term: consider removing the add-back path entirely once no TOF-corrected samples remain in use.

### 3. Seeding

- [ ] Seed track parameters: the seed time is taken from the bottom space point with a configurable initial variance — estimate the seed time (and its error) from all three space points instead
- [ ] Smarter usage of SP triplet times in seed filter.

### 4. Validation & tests

- [ ] Verify the fitted track time reaches the edm4hep `TrackState` (AtIP) correctly and add a pull/resolution check
- [ ] Add a 4D configuration to the MAIA CTest chain (the test digitizers already smear times with `ResolutionT`), covering `UseHitTimeInCKF`, the per-sensor resolution configuration, and the failure modes (missing/incomplete `HitTimeResolutionCellIDs`)
- [ ] Physics validation with full BIB: efficiency/fake-rate/CPU versus the 3D configuration (first results: 4D CKF adds ~10% CPU on top of the branch-stopper configuration with comparable efficiency)

Contributor guide

Open the contributing guide

Research direction

Start by reading the CKFTrackingAlg, DDPlanarDigi, and EDM4hep tracker-hit work described here, then inspect the MAIA CTest chain and existing 4D configuration. Done requires the schema and digitizer changes to propagate, seeding and time handling to be updated, and validation tests to cover TrackState output, configuration failures, and 3D-versus-4D performance.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend, data, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.