@@ -32,95 +32,95 @@ The **PIDFeatureExtractor** combines information from multiple ALICE detectors (
3232
3333The task expects the following input tables from AO2D files. Some tables may be fetched from CCDB if not present in the file:
3434
35- | Table | Source | Purpose | Fallback |
36- | -------| --------| ---------| ----------|
37- | ` aod::Tracks ` | AO2D | Base track properties (momentum, angles) | Required |
38- | ` aod::TracksExtra ` | AO2D | Extended track information | Required |
39- | ` aod::TracksDCA ` | AO2D | Impact parameters (DCA) | Required |
40- | ` aod::pidTPCPi/Ka/Pr/El ` | AO2D/CCDB | TPC n-sigma values for each particle species | CCDB |
41- | ` aod::pidTOFPi/Ka/Pr/El ` | AO2D/CCDB | TOF n-sigma values for each particle species | CCDB |
42- | ` aod::pidTOFmass ` | AO2D/CCDB | TOF reconstructed mass | CCDB |
43- | ` aod::pidTOFbeta ` | AO2D/CCDB | TOF beta (v/c) measurement | CCDB |
44- | ` aod::McTrackLabels ` | AO2D | MC truth matching (optional, for simulated data) | Optional |
45- | ` aod::McParticles ` | AO2D | MC particle information | Optional |
35+ | Table | Source | Purpose | Fallback |
36+ | -------------------------- | ----------- | ----------------------------------------- ---------| ----------|
37+ | ` aod::Tracks ` | AO2D | Base track properties (momentum, angles) | Required |
38+ | ` aod::TracksExtra ` | AO2D | Extended track information | Required |
39+ | ` aod::TracksDCA ` | AO2D | Impact parameters (DCA) | Required |
40+ | ` aod::pidTPCPi/Ka/Pr/El ` | AO2D/CCDB | TPC n-sigma values for each particle species | CCDB |
41+ | ` aod::pidTOFPi/Ka/Pr/El ` | AO2D/CCDB | TOF n-sigma values for each particle species | CCDB |
42+ | ` aod::pidTOFmass ` | AO2D/CCDB | TOF reconstructed mass | CCDB |
43+ | ` aod::pidTOFbeta ` | AO2D/CCDB | TOF beta (v/c) measurement | CCDB |
44+ | ` aod::McTrackLabels ` | AO2D | MC truth matching (optional, for simulated data) | Optional |
45+ | ` aod::McParticles ` | AO2D | MC particle information | Optional |
4646
4747** Note:** If PID tables are not available in the AO2D file, the framework automatically retrieves PID calibrations from CCDB using the collision timestamp to access the correct calibration period.
4848
4949## Extracted Features
5050
5151### Kinematic Variables (11 features)
5252
53- | Variable | Type | Range | Unit | Description |
54- | ----------| ------| -------| ------| -------------|
55- | ` event_id ` | int | - | - | Unique collision event identifier |
56- | ` track_id ` | int | - | - | Track index within event |
57- | ` px ` , ` py ` , ` pz ` | float | - | GeV/c | Cartesian momentum components |
58- | ` pt ` | float | 0.1-20 | GeV/c | Transverse momentum |
59- | ` p ` | float | - | GeV/c | Total momentum |
60- | ` eta ` | float | -1.5 to 1.5 | - | Pseudorapidity |
61- | ` phi ` | float | -π to π | rad | Azimuthal angle |
62- | ` theta ` | float | 0 to π | rad | Polar angle |
63- | ` charge ` | int | ±1 | - | Track charge |
64- | ` track_type ` | int | 0-2 | - | Track classification |
53+ | Variable | Type | Range | Unit | Description |
54+ | ------------------ | ------- | ------------- | ------- | ---------------------- -------------|
55+ | ` event_id ` | int | - | - | Unique collision event identifier |
56+ | ` track_id ` | int | - | - | Track index within event |
57+ | ` px ` , ` py ` , ` pz ` | float | - | GeV/c | Cartesian momentum components |
58+ | ` pt ` | float | 0.1-20 | GeV/c | Transverse momentum |
59+ | ` p ` | float | - | GeV/c | Total momentum |
60+ | ` eta ` | float | -1.5 to 1.5 | - | Pseudorapidity |
61+ | ` phi ` | float | -π to π | rad | Azimuthal angle |
62+ | ` theta ` | float | 0 to π | rad | Polar angle |
63+ | ` charge ` | int | ±1 | - | Track charge |
64+ | ` track_type ` | int | 0-2 | - | Track classification |
6565
6666### TPC Detector Features (7 features)
6767
68- | Variable | Type | Range | Unit | Description | Source |
69- | ----------| ------| -------| ------| -------------| --------|
70- | ` tpc_signal ` | float | 0-300 | - | Specific ionization (dE/dx) | AO2D |
71- | ` tpc_nsigma_pi ` | float | - | σ | n-sigma deviation from pion | AO2D/CCDB |
72- | ` tpc_nsigma_ka ` | float | - | σ | n-sigma deviation from kaon | AO2D/CCDB |
73- | ` tpc_nsigma_pr ` | float | - | σ | n-sigma deviation from proton | AO2D/CCDB |
74- | ` tpc_nsigma_el ` | float | - | σ | n-sigma deviation from electron | AO2D/CCDB |
75- | ` tpc_nclusters ` | int | 0-160 | - | Number of TPC clusters | AO2D |
76- | ` tpc_chi2 ` | float | - | - | TPC track fit chi-square/ndf | AO2D |
68+ | Variable | Type | Range | Unit | Description | Source |
69+ | ----------------- | ------- | -------| ------| --------------------------------- | --- --------|
70+ | ` tpc_signal ` | float | 0-300 | - | Specific ionization (dE/dx) | AO2D |
71+ | ` tpc_nsigma_pi ` | float | - | σ | n-sigma deviation from pion | AO2D/CCDB |
72+ | ` tpc_nsigma_ka ` | float | - | σ | n-sigma deviation from kaon | AO2D/CCDB |
73+ | ` tpc_nsigma_pr ` | float | - | σ | n-sigma deviation from proton | AO2D/CCDB |
74+ | ` tpc_nsigma_el ` | float | - | σ | n-sigma deviation from electron | AO2D/CCDB |
75+ | ` tpc_nclusters ` | int | 0-160 | - | Number of TPC clusters | AO2D |
76+ | ` tpc_chi2 ` | float | - | - | TPC track fit chi-square/ndf | AO2D |
7777
7878** TPC Features Source:** n-sigma values are computed from ` tpc_signal ` and PID calibrations (from AO2D or CCDB). If not in AO2D, calibration data is fetched from CCDB using the collision timestamp.
7979
8080### TOF Detector Features (6 features)
8181
82- | Variable | Type | Range | Unit | Description | Source |
83- | ----------| ------| -------| ------| -------------| --------|
84- | ` tof_beta ` | float | 0-1.2 | - | Velocity over speed of light | AO2D/CCDB |
85- | ` tof_mass ` | float | -0.2-2.0 | GeV/c² | Reconstructed mass | AO2D/CCDB |
86- | ` tof_nsigma_pi ` | float | - | σ | n-sigma deviation from pion | AO2D/CCDB |
87- | ` tof_nsigma_ka ` | float | - | σ | n-sigma deviation from kaon | AO2D/CCDB |
88- | ` tof_nsigma_pr ` | float | - | σ | n-sigma deviation from proton | AO2D/CCDB |
89- | ` tof_nsigma_el ` | float | - | σ | n-sigma deviation from electron | AO2D/CCDB |
82+ | Variable | Type | Range | Unit | Description | Source |
83+ | ----------------- | ------- | ---------- | -------- | --------------------------------- | --- --------|
84+ | ` tof_beta ` | float | 0-1.2 | - | Velocity over speed of light | AO2D/CCDB |
85+ | ` tof_mass ` | float | -0.2-2.0 | GeV/c² | Reconstructed mass | AO2D/CCDB |
86+ | ` tof_nsigma_pi ` | float | - | σ | n-sigma deviation from pion | AO2D/CCDB |
87+ | ` tof_nsigma_ka ` | float | - | σ | n-sigma deviation from kaon | AO2D/CCDB |
88+ | ` tof_nsigma_pr ` | float | - | σ | n-sigma deviation from proton | AO2D/CCDB |
89+ | ` tof_nsigma_el ` | float | - | σ | n-sigma deviation from electron | AO2D/CCDB |
9090
9191** TOF Features Source:** If not available in AO2D file, the framework fetches calibration and response parameters from CCDB. Beta and mass can be recomputed from raw TOF information and length measurement using CCDB calibrations.
9292
9393### Bayesian PID Features (4 features)
9494
95- | Variable | Type | Range | Unit | Description |
96- | ----------| ------| -------| ------| -------------|
97- | ` bayes_prob_pi ` | float | 0-1 | - | Probability of being pion |
98- | ` bayes_prob_ka ` | float | 0-1 | - | Probability of being kaon |
99- | ` bayes_prob_pr ` | float | 0-1 | - | Probability of being proton |
100- | ` bayes_prob_el ` | float | 0-1 | - | Probability of being electron |
95+ | Variable | Type | Range | Unit | Description |
96+ | ----------------- | ------- | -------| ------| ------------------ -------------|
97+ | ` bayes_prob_pi ` | float | 0-1 | - | Probability of being pion |
98+ | ` bayes_prob_ka ` | float | 0-1 | - | Probability of being kaon |
99+ | ` bayes_prob_pr ` | float | 0-1 | - | Probability of being proton |
100+ | ` bayes_prob_el ` | float | 0-1 | - | Probability of being electron |
101101
102102** Note** : Bayesian probabilities sum to 1.0 and are computed using Gaussian likelihoods in n-sigma space (from either AO2D or CCDB-derived values) with configurable priors.
103103
104104### Track Quality Features (2 features)
105105
106- | Variable | Type | Unit | Description |
107- | ----------| ------| ------| -------------|
108- | ` dca_xy ` | float | cm | Distance of closest approach in xy-plane |
109- | ` dca_z ` | float | cm | Distance of closest approach along beam |
106+ | Variable | Type | Unit | Description |
107+ | ----------| ------- | ------| ----------------------------- -------------|
108+ | ` dca_xy ` | float | cm | Distance of closest approach in xy-plane |
109+ | ` dca_z ` | float | cm | Distance of closest approach along beam |
110110
111111### Detector Availability Flags (2 features)
112112
113- | Variable | Type | Description |
114- | ----------| ------| -------------|
113+ | Variable | Type | Description |
114+ | ----------- | ------| -------------------- -------------|
115115| ` has_tpc ` | bool | Track has valid TPC information |
116116| ` has_tof ` | bool | Track has valid TOF information |
117117
118118### Monte Carlo Truth (4 features, simulated data only)
119119
120- | Variable | Type | Description |
121- | ----------| ------| -------------|
122- | ` mc_pdg ` | int | PDG code of true particle |
123- | ` mc_px ` , ` mc_py ` , ` mc_pz ` | float | True momentum components |
120+ | Variable | Type | Description |
121+ | --------------------------- | ------- | -------------- -------------|
122+ | ` mc_pdg ` | int | PDG code of true particle |
123+ | ` mc_px ` , ` mc_py ` , ` mc_pz ` | float | True momentum components |
124124
125125** Total: 39 features per track**
126126
@@ -178,16 +178,16 @@ All task parameters are configured through the **`myConfigExtractor.json`** file
178178
179179#### Configuration Parameters
180180
181- | Parameter | Type | Default | Description |
182- | -----------| ------| ---------| -------------|
183- | ` output_path ` | string | ` pid_features ` | Base path for output files (without extension) |
184- | ` export_csv ` | boolean | ` true ` | Enable CSV export of features |
185- | ` export_root ` | boolean | ` true ` | Enable ROOT file export of features |
186- | ` eta_min ` | float | ` -1.5 ` | Minimum pseudorapidity cut for track selection |
187- | ` eta_max ` | float | ` 1.5 ` | Maximum pseudorapidity cut for track selection |
188- | ` pt_min ` | float | ` 0.1 ` | Minimum transverse momentum cut (GeV/c) |
189- | ` pt_max ` | float | ` 20.0 ` | Maximum transverse momentum cut (GeV/c) |
190- | ` ccdb_url ` | string | ` http://alice-ccdb.cern.ch ` | CCDB server URL for fetching PID calibrations |
181+ | Parameter | Type | Default | Description |
182+ | --------------- | --------- | ----------------------------- | ----------------------------------- -------------|
183+ | ` output_path ` | string | ` pid_features ` | Base path for output files (without extension) |
184+ | ` export_csv ` | boolean | ` true ` | Enable CSV export of features |
185+ | ` export_root ` | boolean | ` true ` | Enable ROOT file export of features |
186+ | ` eta_min ` | float | ` -1.5 ` | Minimum pseudorapidity cut for track selection |
187+ | ` eta_max ` | float | ` 1.5 ` | Maximum pseudorapidity cut for track selection |
188+ | ` pt_min ` | float | ` 0.1 ` | Minimum transverse momentum cut (GeV/c) |
189+ | ` pt_max ` | float | ` 20.0 ` | Maximum transverse momentum cut (GeV/c) |
190+ | ` ccdb_url ` | string | ` http://alice-ccdb.cern.ch ` | CCDB server URL for fetching PID calibrations |
191191
192192#### Example Configurations
193193
@@ -825,21 +825,21 @@ For issues, questions, or suggestions:
825825
826826## Quick Reference
827827
828- ### To run the task:
828+ ### To run the task
829829``` bash
830830./run.sh
831831```
832832
833- ### To modify parameters:
833+ ### To modify parameters
8348341 . Edit ` myConfigExtractor.json `
8358352 . Run ` ./run.sh `
836836
837- ### To see what configuration is active:
837+ ### To see what configuration is active
838838``` bash
839839cat myConfigExtractor.json
840840```
841841
842- ### To verify output:
842+ ### To verify output
843843``` bash
844844ls -lh pid_features.root pid_features.csv
845845```
0 commit comments