You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/analysis-tools/EventSelection.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,15 +3,15 @@ sort: 1
3
3
title: Event Selection
4
4
---
5
5
6
-
# Event Selection Basics
6
+
# Event Selection
7
7
8
8
## Timestamp
9
9
10
10
The timestamp task is needed to fill the table with timestamps. Timestamp contains the time of a bunch crossing since the start of the run. This time is often needed to retrieve objects in the CCDB (see Tutorial [CCDB](https://aliceo2group.github.io/analysis-framework/docs/tutorials/workingWithCCDB.html)).
11
11
12
12
Since the Timestamps table has an entry per bunch crossing it can be joined with table BC. The join is defined by o2::aod::BCsWithTimestamps (see list of defined [joins and iterators](https://aliceo2group.github.io/analysis-framework/docs/datamodel/joinsAndIterators.html#list-of-joins-and-iterators)).
13
13
14
-
## Event selection
14
+
## Event selection basics
15
15
16
16
Table of contents:
17
17
@@ -94,7 +94,7 @@ In general, one has to follow the following steps:
94
94
}
95
95
```
96
96
97
-
The `sel8` event selection bit is a logical _and_ between the `kIsTriggerTVX` bit (based on FT0A & FT0C requirement with time-based constraints on the vertex position), and (since April 2024) `kNoTimeFrameBorder` and `kNoITSROFrameBorder` bits - see [below](#integration-into-event-selection).
97
+
The `sel8` event selection bit is a logical _and_ between the `kIsTriggerTVX` bit (based on FT0A & FT0C requirement, with time-based constraints on the vertex position), and (since April 2024) `kNoTimeFrameBorder` and `kNoITSROFrameBorder` bits - see [below](#integration-into-event-selection).
98
98
99
99
* run your tasks in stack with timestamp and event-selection tasks:
100
100
@@ -367,17 +367,17 @@ One can set other configurables in the json file. This json file has to be provi
367
367
* EvSel table might be also useful in user tasks relying on beam-beam and beam-gas decisions in forward detectors, e.g. in UPC tasks.
368
368
369
369
370
-
## Time Frame and ITS ROF Border cuts
370
+
## Time Frame and ITS ROF border cuts
371
371
372
-
### Time Frame Borders
372
+
### Time Frame borders
373
373
374
374
In Run 3 and 4, ALICE operates in **continuous readout mode**, where data are stored in **Time Frames (TFs)** that correspond to 32 LHC orbits, ≈ 2.9 ms (_note:_ in 2022 pp TFs were longer - 128 LHC orbits), and each TF is **reconstructed independently**.
375
375
376
376
Because the drift time of electrions in the TPC is **≈ 100 μs**, collisions near the end of a TF **lack full information**, resulting in a depletion of vertex contributors and a drop in ITS+TPC tracking efficiency during the last ≈ 1.1 LHC orbits of the TF (LHC orbit is ≈89 μs).
377
-
Additional effect happens at the **beginning of the next TF**, when the reconstruction starts while the electrons from pre-TF collisions are still drifting.
377
+
Additional effect happens at the **beginning of the next TF**, when the reconstruction starts when the electrons from pre-TF collisions are still drifting.
378
378
379
379
**Mitigation in event selection**:
380
-
- A dedicated event-selection bit `kNoTimeFrameBorder` was introduced (February, 2024) to reject events close to TF edges:
380
+
- A dedicated event-selection bit `kNoTimeFrameBorder` was introduced (February 2024) to reject events close to TF edges:
381
381
- Cuts ≈ **300 bunch crossings (BCs)** at the start and ≈ **4000 BCs** at the end of each TF.
382
382
- Corresponds to ≈ **3.7% event loss** for 2023–25 data.
383
383
- This cut ensures full TPC drift information for all accepted events, removing TF-edge artefacts in vertex and track distributions.
@@ -387,11 +387,11 @@ Additional effect happens at the **beginning of the next TF**, when the reconstr
387
387
```
388
388
389
389
390
-
### ITS Readout Frame (ROF) Borders
390
+
### ITS Readout Frame borders
391
391
392
392
- Although the global readout is continuous, the ITS2 detector is read out in **discrete Readout Frames (ROFs)**:
393
393
- in **pp:** 18 ROFs per LHC orbit, each ≈ 5 μs (198 BCs)
394
-
- in **Pb–Pb:** 6 ROFs per orbit (≈ 15 μs each, 594 BCs)
394
+
- in **Pb–Pb:** 6 ROFs per orbit, ≈ 15 μs each (594 BCs)
395
395
- Cluster losses occur at ROF boundaries due to the **ALPIDE chip’s time-walk effect**:
396
396
- hits from an interaction in ROF *i* may appear only in ROF *i + 1*
397
397
- this causes a sharp drop in ITS cluster and track counts at ROF edges.
@@ -405,21 +405,21 @@ Additional effect happens at the **beginning of the next TF**, when the reconstr
405
405
``` c++
406
406
if (col.selection_bit(o2::aod::evsel::kNoITSROFrameBorder)) { /* do analysis */ }
407
407
```
408
-
- Note that this cut also helps to remove ROF borders for the MFT detector (where the same chips as in the ITS are used, and the ROFs in the MFT are aligned in time to ROFs in the ITS).
408
+
- Note that this cut also helps to remove collisions at the ROF borders in the MFT detector (where the same chips as in the ITS are used, and ROFs in the MFT are aligned in time to the ITS ROFs).
409
409
410
-
More details on the TF and ROF border effects and cuts can be found in slides 2-17 of [this presentation (11.2024)](https://indico.cern.ch/event/1453901/timetable/#6-event-selection-in-run3).
410
+
More details on the TF and ROF border effects and cuts can be found e.g. in slides 2-17 of [presentation (November 2024)](https://indico.cern.ch/event/1453901/timetable/#6-event-selection-in-run3).
411
411
412
412
413
413
414
414
### Integration into event selection
415
-
- Since **April 2024**, both the **Time Frame border** and **ITS Readout Frame border** cuts are combined with the ``kIsTriggerTVX`` condition via logical _and_ into the `sel8` event-selection bit, ensuring events used for analysis are free from TF and ROF boundary artefacts.
415
+
- Since April 2024, both the **Time Frame border** and **ITS Readout Frame border** cuts are combined with the ``kIsTriggerTVX`` condition via logical _and_ in the `sel8` event-selection bit, ensuring events used for analysis are free from TF and ROF boundary artifacts.
416
416
417
417
418
418
419
419
420
420
## Occupancy estimation
421
421
422
-
In ALICE Run 3 Pb–Pb collisions, **occupancy** in the TPC refers to the contamination of an event’s TPC clusters by signals from other nearby collisions within the TPC drift time window.
422
+
In ALICE Run 3 Pb–Pb collisions, **occupancy effects** in the TPC refer to the deterioration of the quality of an event’s TPC clusters by signals from other nearby collisions within the TPC drift time window.
423
423
424
424
- The TPC has a long drift time (~100 µs), so clusters from particles originated from multiple collisions can overlap in the detector.
425
425
- Higher occupancy worsens:
@@ -441,7 +441,7 @@ A single-value "integrated" occupancy estimator for a given collision can be cal
441
441
Notes:
442
442
- Both occupancy estimators are calculated per each collision in the event selection routine, [EventSelectionModule.h](https://github.com/AliceO2Group/O2Physics/blob/daily-20251029-0000/Common/Tools/EventSelectionModule.h#L1361).
443
443
- In the occupancy calculation, multiplicities of nearby collisions are "weighted" according to their time separation from a collision-of-interest.
444
-
- Estimators return the value of `-1` if a given collision is close to Time Frame borders (so, not enough information for the occupancy calculation, while we need information within -40 µs...+100 µs time range wrt a given collision).
444
+
- Estimators return `-1` if a given collision is close to Time Frame borders (so, not enough information for the occupancy calculation, while we need information within -40 µs...+100 µs time range wrt a given collision).
445
445
446
446
447
447
### Occupancy selection bits
@@ -472,7 +472,7 @@ More details on occupancy in Pb-Pb can be found in the [report at the APW 2024](
472
472
Tight cuts on occupancy improve quality (better S/B, cleaner PID, less bias in kinematics), but reduce event statistics.
473
473
474
474
However, sensitivity to the occupancy effects depends on analysis.
475
-
Therefore, the suggested approach is to study how results of a given analysi change as a function of occupancy: one may try several occupancy "bins", e.g. `[0,500), (500, 1000), (1000-2000), (2000-4000)`, etc.,
475
+
Therefore, the suggested approach is to study how results of a given analysi change as a function of occupancy: one may try several occupancy "bins", e.g. `[0,500), [500, 1000), [1000-2000), [2000-4000)`, etc.,
476
476
and, in addition, apply occupancy selection bits, e.g. `kNoCollInTimeRangeNarrow` to eliminate the bc-collision mismatches, or `kNoCollInTimeRangeStandard` to make a further cleaunup.
477
477
478
478
Note that TPC-related occupancy effects are most pronounced in Pb–Pb runs, however, the tools described above can also be used for occupancy studies in pp and light-ion runs.
@@ -506,7 +506,7 @@ if (col.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
506
506
```
507
507
This particular bit `kIsGoodITSLayersAll` ensures that all ITS layers are in a good state (i.e. no rebooting **staves**; note that at the same time some **chips** can be inactive).
508
508
509
-
The logic behind these cuts uses [CCDB maps](https://nvalle.web.cern.ch/its/dmap/) of dead chips and defines per-layer thresholds for allowed inactive chips:
509
+
The logic behind these cuts uses [CCDB maps of dead chips](https://nvalle.web.cern.ch/its/dmap/) and defines per-layer thresholds for allowed inactive chips:
0 commit comments