Skip to content

Commit d695669

Browse files
authored
Update EventSelection.md: improvements in the text
1 parent 55daebd commit d695669

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

docs/analysis-tools/EventSelection.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,8 @@ One can set other configurables in the json file. This json file has to be provi
389389
390390
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**.
391391
392-
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).
393-
Additional effect happens at the **beginning of the next TF**, when the reconstruction starts when the electrons from pre-TF collisions are still drifting.
392+
Because the drift time of electrons 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).
393+
Additional effect takes place at the **beginning of the next TF**, where the reconstruction starts when the electrons from pre-TF collisions are still drifting.
394394
395395
**Mitigation in event selection**:
396396
- A dedicated event-selection bit `kNoTimeFrameBorder` was introduced (February 2024) to reject events close to TF edges:
@@ -406,22 +406,22 @@ Additional effect happens at the **beginning of the next TF**, when the reconstr
406406
### ITS Readout Frame borders
407407
408408
- Although the global readout is continuous, the ITS2 detector is read out in **discrete Readout Frames (ROFs)**:
409-
- in **pp:** 18 ROFs per LHC orbit, each ≈ 5 μs (198 BCs)
409+
- in **pp:** 18 ROFs per LHC orbit, each ≈ 5 μs (198 BCs; full orbit contains 3564 BCs)
410410
- in **Pb–Pb:** 6 ROFs per orbit, ≈ 15 μs each (594 BCs)
411411
- Cluster losses occur at ROF boundaries due to the **ALPIDE chip’s time-walk effect**:
412-
- hits from an interaction in ROF *i* may appear only in ROF *i + 1*
412+
- ITS clusters from an interaction in ROF *i* may appear only in ROF *i + 1*
413413
- this causes a sharp drop in ITS cluster and track counts at ROF edges.
414414
- The effect is **particle-dependent**, e.g. protons (larger dE/dx) are recorded earlier than pions—leading to small PID-dependent distortions near borders.
415415
416416
**Mitigation in event selection**
417417
- The selection bit `kNoITSROFrameBorder` rejects events near ITS ROF edges:
418418
- removes collisions within **10 BCs** at the beginning and **20 BCs** at the end of each ROF
419-
- it correponds to ≈ 15 % of BCs in pp and ≈5 % of BCs in Pb–Pb (corresponding event losses depend on the LHC filling scheme)
419+
- it correponds to ≈ 15 % of (nominal) BCs in pp and ≈5 % of BCs in Pb–Pb (corresponding event losses depend on the LHC filling scheme)
420420
- Usage in analysis:
421421
``` c++
422422
if (col.selection_bit(o2::aod::evsel::kNoITSROFrameBorder)) { /* do analysis */ }
423423
```
424-
- 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).
424+
- 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 the MFT ROFs are time-aligned with the ITS ROFs).
425425
426426
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).
427427
@@ -455,21 +455,21 @@ A single-value "integrated" occupancy estimator for a given collision can be cal
455455
```
456456
457457
Notes:
458-
- 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).
459-
- In the occupancy calculation, multiplicities of nearby collisions are "weighted" according to their time separation from a collision-of-interest.
460-
- 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).
458+
- Both occupancy estimators are pre-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).
459+
- In the occupancy calculation, multiplicities of nearby collisions are "weighted" according to their time separation from a collision-of-interest, to reflect the "severity" of their influence on that collision
460+
- 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), event loss ~1.2%.
461461
462462
463463
### Occupancy selection bits
464464
465-
In addition to the occupancy estimators described above, several special event selection bits are implemented for a better cleanup of various nearby effects from other collisions (related not only to the TPC, but also to the ITS, e.g. to high occupancies in the ITS Readout Frames).
465+
In addition to the occupancy estimators described above, several special event selection bits are implemented to better clean up various nearby effects from other collisions (related not only the TPC but also the ITS, e.g. due to high occupancies in the ITS Readout Frames).
466466
467467
The following table summarizes the event selection bits used to mitigate occupancy effects in Pb-Pb:
468468
469469
| **Bit** | **Definition** | **Strictness** | **Typical Effect / Event Loss** |
470470
|---------|----------------|----------------|--------------------------------|
471-
| `kNoCollInTimeRangeNarrow` | Rejects events if another collision within **±0.25 µs** | Narrow veto | Useful to suppress residual BC mis-associations; minimal loss |
472-
| `kNoCollInTimeRangeStandard` | Rejects if: (1) another coll. within ±0.25 µs, or (2) multiplicity of a coll. in dt −4…+2 µs > threshold | Medium | Further suppression of effects from nearby collisions; ~3-10% event loss depending on IR |
471+
| `kNoCollInTimeRangeNarrow` | Rejects events if another collision within **±0.25 µs** | Narrow veto | Useful to suppress residual BC mis-associations; minimal event loss, ~1-1.5% |
472+
| `kNoCollInTimeRangeStandard` | Rejects if: (1) another coll. within ±0.25 µs, or (2) multiplicity of a coll. in dt −4…+2 µs > threshold | Medium | Further suppression of effects from nearby collisions; ~3-7% event loss depending on IR |
473473
| `kNoCollInTimeRangeStrict` | Rejects events if another collision is within **±10 µs** | Very strict | Strongly reduces effects from nearby events; large loss of statistics at high IR (can exceed 30–40%) |
474474
| `kNoCollInRofStrict` | Rejects events if >1 collision in the same **ITS Readout Frame** (~15 µs in Pb-Pb) | Very strict | Removes in-ROF pileup; at 38 kHz Pb–Pb cuts ~35% of events |
475475
| `kNoCollInRofStandard` | Allows >1 collision per ROF but rejects if another has multiplicity > threshold (default: FT0C amplitude >5000 a.u. ≈ 500 tracks) | Medium | Retains more stats, but protects against large in-ROF pileup |
@@ -488,7 +488,7 @@ More details on occupancy in Pb-Pb can be found in the [report at the APW 2024](
488488
Tight cuts on occupancy improve quality (better S/B, cleaner PID, less bias in kinematics), but reduce event statistics.
489489
490490
However, sensitivity to the occupancy effects depends on analysis.
491-
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.,
491+
Therefore, the suggested approach is to study how results of a given analysis change as a function of occupancy: one may try several occupancy "bins", e.g. `[0,500), [500, 1000), [1000-2000), [2000-4000)`, etc.,
492492
and, in addition, apply occupancy selection bits, e.g. `kNoCollInTimeRangeNarrow` to eliminate the bc-collision mismatches, or `kNoCollInTimeRangeStandard` to make a further cleaunup.
493493
494494
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.
@@ -503,7 +503,7 @@ Note that TPC-related occupancy effects are most pronounced in Pb–Pb runs, how
503503
- These are caused by **reboots of ITS staves**, typically triggered by recovery of failed **lanes** (groups of 7 chips sharing one data link). When a lane fails, the **full stave** becomes temporarily blind while the DCS recovers it.
504504
- The issue affects, in particular, **ITS Layer 3**, which is critical for achieving four consecutive ITS hits in tracking.
505505
- These dead periods correlate also with **drops in ITS–TPC matching efficiency**.
506-
- The effect appears both in **Pb–Pb** and **pp** data.
506+
- The effect appears both in **A-A** and **pp** data.
507507
508508
### Using special event selection bits
509509
@@ -520,16 +520,16 @@ if (col.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
520520
// do analysis
521521
}
522522
```
523-
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).
523+
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, so, smaller holes in the acceptance can remain).
524524
525-
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:
525+
The logic behind these cuts uses **CCDB maps of dead chips** and defines per-layer [thresholds](https://github.com/AliceO2Group/O2Physics/blob/daily-20251029-0000/Common/Tools/EventSelectionModule.h#L99) for allowed inactive chips:
526526
```cpp
527527
maxInactiveChipsPerLayer = {8, 8, 8, 111, 111, 195, 195};
528528
```
529529
If any layer exceeds its threshold, the event is flagged as **bad** (likely during a stave reboot).
530530
531-
Applying this cut removes time intervals with dead ITS staves and, correspondingly, the large acceptance holes, significantly flattening time-dependent observables, like the **2- and 4-particle correlators** in Pb-Pb.
532-
Note that in pp the `kIsGoodITSLayersAll` bit can reject a huge fraction of events (the holes in pp are more frequent), however, the `kIsGoodITSLayer0123` bit can be tried (e.g. to study the effects from the rebooting staves on the DCA).
531+
Applying this cut removes time intervals with dead ITS staves and, correspondingly, the large acceptance holes, significantly flattening time dependence of the observables, like the **2- and 4-particle correlators** in Pb-Pb.
532+
Note that in pp the `kIsGoodITSLayersAll` bit can reject a huge fraction of events (the holes in pp are more frequent), instead, the `kIsGoodITSLayer0123` bit can be tried (e.g. to study effects from the rebooting staves on track DCA).
533533
534534
535535
## Usage of RCT flags

0 commit comments

Comments
 (0)