[Tools] Add PID feature extractor and ONNX inference tasks - #17419
Open
forynski wants to merge 16 commits into
Open
[Tools] Add PID feature extractor and ONNX inference tasks#17419forynski wants to merge 16 commits into
forynski wants to merge 16 commits into
Conversation
…ARE_SOA_TABLE framework issue
… extractor output
…or's TTree directly
…AnalysisTask's AOD-table-only process() reflection
…Tools/PIDML style
forynski
requested review from
a team,
alibuild,
ddobrigk,
dsekihat,
iarsene,
jgrosseo and
ktf
as code owners
August 11, 2026 20:20
|
O2 linter results: ❌ 0 errors, |
…aming; rework pidOnnxInference as a proper adaptAnalysisTask
[MegaLinter] Apply linters automatic fixes to AliceO2Group#17419
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds two new tasks under Tools/PIDFeatureExtractor/:
pidFeatureExtractor.cxx: extracts a 34-feature / 7-detector-group PID
feature set (TPC, TOF, TRD, ITS, EMCal, HMPID, centrality) from AO2D
data for both MC (reconstructed + truth) and real/raw data, writing a
ROOT TTree (and optionally CSV). Includes optional DPG-style track
cuts (off by default) and an optional Bayesian PID posterior for
comparison against the ML model.
pidOnnxInference.cxx: runs a trained ONNX model over the extractor's
output and writes per-track class probabilities, using
o2::analysis::MlResponse (Tools/ML) for CCDB/local model loading.
Notes for reviewers:
table (DECLARE_SOA_TABLE/Produces<>). This is deliberate: two
Produces<> tables sharing a column prefix in one struct triggered a
reproducible compile failure against the current O2 build
(ASoA.h/MetadataTrait constraint errors). Manual ROOT I/O avoids it.
AnalysisTask - it has no AOD subscription (it reads the extractor's
output file directly), and runs standalone after the extractor
rather than chained in the same pipeline.
a reasonable default but not yet verified against the actual training
code - flagged in the README.
location once the model is deployed.
See README.md in the new folder for full usage and configuration
details.