Skip to content

Commit ea3aec6

Browse files
Update trackToCollAssoc.md
MathJax fixes
1 parent b268797 commit ea3aec6

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed
Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
---
2+
sort: 1
3+
title: Track to collision association
4+
---
15
# Track to collision association
26

3-
In Run 3, due to the increased interaction rate, a track time window can overlap in time with multiple collisions. For example, the standalone ITS has a default track time window (also called Read-Out Frame (ROF)) of 198 bunch crossings (BC) $\approx$ 4.95 $\mu s$. With an interaction rate of 500 kHz, there is approximately one collision every 2 $\mu s$, meaning that a standalone ITS track readout window overlaps with 2.5 collisions on average.
7+
In Run 3, due to the increased interaction rate, a track time window can overlap in time with multiple collisions. For example, the standalone ITS has a default track time window (also called Read-Out Frame (ROF)) of 198 bunch crossings (BC) $$\approx$$ 4.95 $$\mu s$$. With an interaction rate of 500 kHz, there is approximately one collision every 2 $$\mu s$$, meaning that a standalone ITS track readout window overlaps with 2.5 collisions on average.
48

59
Knowing approximate time at which the track crossed the detector and the time of the different collisions, one can then associate a track to the different collisions it is time-compatible to.
610

@@ -16,70 +20,69 @@ Reading the description of the code is strongly recommended for the analysers th
1620

1721
## fwdtrack-to-collision-associator
1822

19-
```Cpp
23+
```cpp
2024
Configurable<float> nSigmaForTimeCompat{"nSigmaForTimeCompat", 4.f, "number of sigmas for time compatibility"};
2125
Configurable<float> timeMargin{"timeMargin", 0.f, "time margin in ns added to uncertainty because of uncalibrated TPC"};
2226
Configurable<bool> includeUnassigned{"includeUnassigned", false, "consider also tracks which are not assigned to any collision"};
2327
Configurable<bool> fillTableOfCollIdsPerTrack{"fillTableOfCollIdsPerTrack", false, "fill additional table with vector of collision ids per track"};
2428
Configurable<int> bcWindowForOneSigma{"bcWindowForOneSigma", 115, "BC window to be multiplied by the number of sigmas to define maximum window to be considered"};
25-
2629
```
2730
2831
Definition of the configurables:
2932
3033
`float nSigmaForTimeCompat` : in how many sigmas we want to match the collision and the track, with
3134
32-
- $\sigma$ = RMS of gaussian-like time resolutions of track and collision, for tracks with a gaussian-like time resolution, and
33-
- $\sigma$= gaussian standard deviation of the collision time for tracks with box-like errors
35+
- $$\sigma$$ = RMS of gaussian-like time resolutions of track and collision, for tracks with a gaussian-like time resolution, and
36+
- $$\sigma$$= gaussian standard deviation of the collision time for tracks with box-like errors
3437
3538
`float timeMargin` the time margin in ns added to the uncertainty on the collision time because of uncalibrated TPC
3639
3740
`bool includeUnassigned` if set to kTRUE, the tracks which were assigned to no collision in AO2D files are also reprocessed, meaning we try again to associate these tracks to collisions
3841
3942
`bool fillTableOfCollIdsPerTrack` if set to kTRUE, a table is filled containing for each track a list of the collision global indexes it can be time-associated to. This table can then be joined with the track table and allows further selections on the different compatible collisions.
4043
41-
`int bcWindowForOneSigma` sets the BC window around which we look for possible compatible collisions for one track. Needs to be greater than half of the track time window in case of tracks with box-like errors. It has been tuned to 115BC for MFT tracks with a ROF length of 198BC , which is 1.16$\times \frac{ROF_{length}}{2}$
44+
`int bcWindowForOneSigma` sets the BC window around which we look for possible compatible collisions for one track. Needs to be greater than half of the track time window in case of tracks with box-like errors. It has been tuned to 115BC for MFT tracks with a ROF length of 198BC , which is 1.16$$\times \frac{ROF_{length}}{2}$$
4245
One could then apply conservatively a factor 1.3 for higher ROF lengths.
4346
4447
## Description of the collision association procedure
4548
46-
[CollisionAssociation.h](https://github.com/AliceO2Group/O2Physics/blob/master/Common/Core/CollisionAssociation.h) loops over each track, and for each track it loops over all collisions $coll$. For efficiency purposes, a hard cut is applied if the collision is too far (in time) from the track.
49+
[CollisionAssociation.h](https://github.com/AliceO2Group/O2Physics/blob/master/Common/Core/CollisionAssociation.h) loops over each track, and for each track it loops over all collisions $$coll$$. For efficiency purposes, a hard cut is applied if the collision is too far (in time) from the track.
4750
48-
Let's define $BC_{track}$ the BC of the middle of the readout window of the track, and $BC_{coll}$ the BC of the collision $coll$.
51+
Let's define $$BC_{track}$$ the BC of the middle of the readout window of the track, and $$BC_{coll}$$ the BC of the collision $$coll$$.
4952
50-
In the AO2D files, $BC_{track}$ = `track.collision().bc() + track.trackTime() / o2::constants::lhc::LHCBunchSpacingNS;`
53+
In the AO2D files, $$BC_{track}$$ = `track.collision().bc() + track.trackTime() / o2::constants::lhc::LHCBunchSpacingNS;`
5154
52-
The cut applied on the BC difference |$BC_{track}$-$BC_{coll}$|
55+
The cut applied on the BC difference $$\lvert BC_{track}-$BC_{coll} \rvert$$
5356
is the following:
5457
55-
|$BC_{track}$-$BC_{coll}$| < `bcWindowForOneSigma * nSigmaForTimeCompat + timeMargin / o2::constants::lhc::LHCBunchSpacingNS;`
58+
$$\lvert BC_{track}-$BC_{coll} \rvert$$ < `bcWindowForOneSigma * nSigmaForTimeCompat + timeMargin / o2::constants::lhc::LHCBunchSpacingNS;`
5659
5760
With `bcWindowForOneSigma`, `nSigmaForTimeCompat` and `timeMargin` being configurable variables.
5861
5962
These variables must be cautiously configured to avoid eliminating possible time-compatible collisions with the track, and to avoid looping on numerous collisions that are very far from the track in time.
6063
61-
If $coll$ passes this cut, then a stricter cut on the time difference between the collision and the track is applied, as will be described below.
64+
If $$coll$$ passes this cut, then a stricter cut on the time difference between the collision and the track is applied, as will be described below.
6265
6366
The cut is different for tracks which come from detectors with readout windows and for detectors that detect track with a gaussian-like time precision.
6467
65-
For detectors that collect tracks in readout windows such as the ITS and the MFT, $t_{track}$ is the middle of the track readout window in $ns$. Its associated time uncertainty is $\sigma_{track}=\frac{\text{readout window duration}}{2}$. $t_{track}$ is then associated to a box-like time error, and meaning that the track crossed the detector in the time range $[t_{track}-\sigma_{track}, t_{track}+\sigma_{track}]$
68+
For detectors that collect tracks in readout windows such as the ITS and the MFT, $$t_{track}$$ is the middle of the track readout window in $$ns$$. Its associated time uncertainty is $$\sigma_{track}=\frac{\text{readout window duration}}{2}$$. $$t_{track}$$ is then associated to a box-like time error, and meaning that the track crossed the detector in the time range $$[t_{track}-\sigma_{track}, t_{track}+\sigma_{track}]$$
6669
6770
<div align="center">
6871
<img src="../images/Scheme-track-to-coll-assoc-box.png" width="50%">
6972
</div>
7073
71-
For other detectors, the time resolution of the track is gaussian-like, meaning that the track has crossed the detector around the time $t_{track}$, with a gaussian standard deviation $\sigma_{track}$.
74+
For other detectors, the time resolution of the track is gaussian-like, meaning that the track has crossed the detector around the time $$t_{track}$$, with a gaussian standard deviation $$\sigma_{track}$$.
7275
7376
<div align="center">
7477
<img src="../images/Scheme-track-to-coll-assoc-gaussian.png" width="50%">
7578
</div>
7679
77-
Defining $t_{coll}$ the time of the collision $coll$ and its associated gaussian time uncertainty $\sigma_{coll}$, one can then compute the time difference between the track and the collision as $\Delta_t = |t_{track}-t_{coll}|$
80+
Defining $$t_{coll}$$ the time of the collision $$coll$$ and its associated gaussian time uncertainty $$\sigma_{coll}$$, one can then compute the time difference between the track and the collision as $$\Delta_t = \lvert t_{track}-t_{coll} \rvert$$
7881
79-
The collision $coll$ is considered compatible in time with the track if $\Delta_t <$ thresholdTime.
82+
The collision $$coll$$ is considered compatible in time with the track if $$\Delta_t <$$ thresholdTime.
8083
81-
- thresholdTime = $\sigma_{track}$+nSigmaForTimeCompat $\times ~\sigma_{coll}$ + timeMargin,
84+
- thresholdTime = $$\sigma_{track}$$+nSigmaForTimeCompat $$\times ~\sigma_{coll}$$ + timeMargin,
8285
for tracks with a box-like error.
8386
84-
- thresholdTime = nSigmaForTimeCompat $\times ~\sqrt{\sigma_{track}^2+\sigma_{coll}^2}$ + timeMargin,
87+
- thresholdTime = nSigmaForTimeCompat $$\times ~\sqrt{\sigma_{track}^2+\sigma_{coll}^2}$$ + timeMargin,
8588
for tracks with a gaussian-like error.

0 commit comments

Comments
 (0)