# Guide to Tracking Development in Juggler for ATHENA Collaboration
# Guide to Tracking Development in Juggler for ATHENA Collaboration
-[Overview](#overview)
*[What this guide is not](#what-this-guide-is-not)
*[What this guide is](#what-this-guide-is)
-[Data Model](#data-model)
-[Repositories and Workflow](#repositories-and-workflow)
*[Repositories](#repositories)
*[Pipelines and Artifacts](#pipelines-and-artifacts)
+[Pipeline](#pipeline)
+[Artifacts](#artifacts)
## Overview
## Overview
This guide assumes the reader has some basic knowledge of tracking and computing.
This guide assumes the reader has some basic knowledge of tracking and computing.
...
@@ -95,5 +105,44 @@ Artifacts can be browsed via the web interface, for example, the latest in recon
...
@@ -95,5 +105,44 @@ Artifacts can be browsed via the web interface, for example, the latest in recon
## Software Toolkit
### ACTS
"[Acts](https://acts.readthedocs.io/en/latest/) is an experiment-independent toolkit for (charged) particle track reconstruction in (high energy) physics experiments implemented in modern C++."
#### The ACTS way of tracking
First, the geometry has to be constructed. Assuming this is already done, we describe the data processing.
##### Source Links and Measurements
```
Tracker Hit + Geometry --> Measurement
Hit CellID + Surface --> Source Link
```
A `SourceLinker` is an algorithm that looks up the surface and maps it to the hit's `cellID`.
Naturally the same algorithm outputs measurements which are also mapped to the hit and contain the position
and sensor size information (via covariance matrix).
##### Proto tracks
Both track finding and fitting will use the information contained in the source links and measurements.
Track finding produces `proto tracks` or groupings of hits. Each proto track is simply a `std::vector<int>` storing the index of the
hits associated with a track seed.
##### Initial Track parameters and Seeding
A Kalman filter needs a starting point and those are the `Initial Track Parameters`. These can be determined many different ways.
Conceptually the process of determining these parameters begins with track seeding.
### GenFit2
[GenFit](https://github.com/GenFit/GenFit) is a generic track fitting tool built on ROOT and the tgeo library.