Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
### Briefly, what does this PR introduce? This introduces changes to the track fit and track state EDM objects to better conform to a single container that can deliver all of the needs of downstream reconstruction algorithms and (ultimately) physics analysis. 1. Introduces a 6D covariance matrix object that is really the upper triangle of a full 6x6 covariance, for storage purposes. 2. Moves some "track level" quantities out from `edm4eic::Trajectory` and into `edm4eic::Track` 3. Revamps the `edm4eic::TrackParameters` object, which will need to contain the complete covariance to swap between edm4eic and Acts::EDM. Also adds a surface type as bound track parameters make no sense without an associated surface. 4. Adds a full covariance, position, and PID hypothesis to `edm4eic::Track` The resulting track object contains the set of track parameters at the vertex, some criteria to evaluate the track fit (e.g. those contained in the one to one relation to `edm4eic::Trajectory`), and all track states associated to the fit (also still in `edm4eic::Trajectory`). The track parameters at the vertex do need to be stored separately (e.g. not as another uniquely defined track state), for a technical reason. They are going to (1) be most frequently used in global coordinates, which the track parameters are not in and (2) are associated to a `PerigeeSurface`, which is transient unlike the surfaces associated with the actual geometry. Without knowledge of the surface, a set of BoundTrackParameters do not have a well defined global definition. Opening this PR now as it will likely have nontrivial downstream consequences, so comments welcome. ### What kind of change does this PR introduce? - [ ] Bug fix (issue #__) - [x] New feature (issue #__) - [ ] Documentation update - [ ] Other: __ ### Please check if this PR fulfills the following: - [ ] Tests for the changes have been added - [ ] Documentation has been added / updated - [x] Changes have been communicated to collaborators ### Does this PR introduce breaking changes? What changes might users need to make to their code? It introduces breaking changes to EICrecon. Currently there are 3 containers produced by the CKF in EICrecon - the aim of this PR is to reduce this to a single container. This will in turn change other downstream reconstruction algorithms that rely on the CKF output as they will have to access this changed structure. ### Does this PR change default behavior? No
- Loading branch information