Skip to content

Commit 15f71f4

Browse files
Merge pull request #1 from alibuild/alibot-cleanup-ml-247
[MegaLinter] Apply linters automatic fixes to #247
2 parents fee0af8 + aaba18f commit 15f71f4

File tree

1 file changed

+19
-27
lines changed

1 file changed

+19
-27
lines changed

docs/advanced-specifics/trackToCollAssoc.md

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,17 @@
22

33
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.
44

5-
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.
5+
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.
6+
7+
In O2Physics this association is done using two different tasks for the different types of tracks:
68

7-
In O2Physics this association is done using two different tasks for the different types of tracks:
89
- [o2-analysis-track-to-collision-associator](https://github.com/AliceO2Group/O2Physics/blob/master/Common/TableProducer/trackToCollisionAssociator.cxx) for central tracks
910
- [o2-analysis-fwdtrack-to-collision-associator](https://github.com/AliceO2Group/O2Physics/blob/master/Common/TableProducer/fwdtrackToCollisionAssociator.cxx) for muons and MFT tracks
1011

11-
Both of the tasks are based on the same code [CollisionAssociation.h](https://github.com/AliceO2Group/O2Physics/blob/master/Common/Core/CollisionAssociation.h) and use several configurables.
12-
13-
For a brief description of the configurables, one can have a look at the section below, and for a deeper dive into what this code does one can read the section **Description of the collision association procedure**.
14-
Reading the description of the code is strongly recommended for the analysers that are piping this task to their workflow.
15-
12+
Both of the tasks are based on the same code [CollisionAssociation.h](https://github.com/AliceO2Group/O2Physics/blob/master/Common/Core/CollisionAssociation.h) and use several configurables.
1613

14+
For a brief description of the configurables, one can have a look at the section below, and for a deeper dive into what this code does one can read the section **Description of the collision association procedure**.
15+
Reading the description of the code is strongly recommended for the analysers that are piping this task to their workflow.
1716

1817
## fwdtrack-to-collision-associator
1918

@@ -26,46 +25,42 @@ Configurable<int> bcWindowForOneSigma{"bcWindowForOneSigma", 115, "BC window to
2625

2726
```
2827
29-
Definition of the configurables:
28+
Definition of the configurables:
3029
31-
`float nSigmaForTimeCompat` : in how many sigmas we want to match the collision and the track, with
32-
- $\sigma$ = RMS of gaussian-like time resolutions of track and collision, for tracks with a gaussian-like time resolution, and
30+
`float nSigmaForTimeCompat` : in how many sigmas we want to match the collision and the track, with
31+
32+
- $\sigma$ = RMS of gaussian-like time resolutions of track and collision, for tracks with a gaussian-like time resolution, and
3333
- $\sigma$= gaussian standard deviation of the collision time for tracks with box-like errors
3434
3535
`float timeMargin` the time margin in ns added to the uncertainty on the collision time because of uncalibrated TPC
3636
3737
`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
3838
39-
`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.
39+
`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.
4040
4141
`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}$
42-
One could then apply conservatively a factor 1.3 for higher ROF lengths.
43-
44-
42+
One could then apply conservatively a factor 1.3 for higher ROF lengths.
4543
4644
## Description of the collision association procedure
4745
48-
[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.
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.
4947
50-
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$.
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$.
5149
5250
In the AO2D files, $BC_{track}$ = `track.collision().bc() + track.trackTime() / o2::constants::lhc::LHCBunchSpacingNS;`
5351
54-
55-
56-
57-
The cut applied on the BC difference |$BC_{track}$-$BC_{coll}$|
58-
is the following:
52+
The cut applied on the BC difference |$BC_{track}$-$BC_{coll}$|
53+
is the following:
5954
6055
|$BC_{track}$-$BC_{coll}$| < `bcWindowForOneSigma * nSigmaForTimeCompat + timeMargin / o2::constants::lhc::LHCBunchSpacingNS;`
6156
62-
With `bcWindowForOneSigma`, `nSigmaForTimeCompat` and `timeMargin` being configurable variables.
57+
With `bcWindowForOneSigma`, `nSigmaForTimeCompat` and `timeMargin` being configurable variables.
6358
64-
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.
59+
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.
6560
6661
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.
6762
68-
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.
63+
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.
6964
7065
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}]$
7166
@@ -79,8 +74,6 @@ For other detectors, the time resolution of the track is gaussian-like, meaning
7974
<img src="../images/Scheme-track-to-coll-assoc-gaussian.png" width="50%">
8075
</div>
8176
82-
83-
8477
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}|$
8578
8679
The collision $coll$ is considered compatible in time with the track if $\Delta_t <$ thresholdTime.
@@ -90,4 +83,3 @@ for tracks with a box-like error.
9083
9184
- thresholdTime = nSigmaForTimeCompat $\times ~\sqrt{\sigma_{track}^2+\sigma_{coll}^2}$ + timeMargin,
9285
for tracks with a gaussian-like error.
93-

0 commit comments

Comments
 (0)