-
Notifications
You must be signed in to change notification settings - Fork 622
[PWGLF,Tutorial] Add CollisionCutsGroup utility class with automatic configurable registration #14362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PWGLF,Tutorial] Add CollisionCutsGroup utility class with automatic configurable registration #14362
Conversation
|
O2 linter results: ❌ 0 errors, |
Please consider the following formatting changes to AliceO2Group#14362
Please consider the following formatting changes to AliceO2Group#14362
Please consider the following formatting changes to AliceO2Group#14362
[MegaLinter] Apply linters automatic fixes to AliceO2Group#14362
|
Ready to merge now. Please review it when you're free. |
|
Thanks for the final check @abmodak . now the ball is on the PWG-LF reviewers. Maybe @skundu692, @lbariogl, @njacazio, @romainschotter approve this PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Include what you use.
| // Tutorial: Collision Cuts with Automatic Configurable Registration | ||
| // This tutorial demonstrates the new CollisionCutsGroup pattern that enables | ||
| // automatic configurable registration, reducing boilerplate from ~30 lines to ~5 lines. | ||
| struct CollisionCutsTutorial { // o2-linter: disable=name/workflow-file (Tutorial file naming convention) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the disable directive here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is clearly a workflow file. Why is it in Utils?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the type of this file? Why does it have a def extension?
…configurable registration (AliceO2Group#14362) Co-authored-by: ALICE Action Bot <alibuild@cern.ch>

Summary
This PR introduces a new
CollisionCutsGroupclass that follows the v0SelectionGroup pattern to enable automatic configurable registration of collision event selection parameters in O2 analysis tasks.Key Changes
CollisionCutsGroupthat auto-registers all collision selection parameters via ROOT serializationEventSelectionParams.husing macro-based generationFiles Added:
PWGLF/Utils/collisionCutsGroup.h- Main class definitionPWGLF/Utils/collisionCutsGroup.cxx- Implementation with ROOT dictionaryPWGLF/Utils/collisionCutsGroupLinkDef.h- ROOT dictionary linkagePWGLF/Utils/EventSelectionFlagsMapping.def- Event selection flag mappingsTutorials/PWGLF/Utils/collisionCuts.cxx- Tutorial task demonstrating usageTutorials/PWGLF/Utils/README.md- Comprehensive documentationFiles Modified:
PWGLF/Utils/collisionCuts.h- Refactored to support the new group patternPWGLF/Utils/CMakeLists.txt- Added library build for collisionCutsGroupTutorials/PWGLF/CMakeLists.txt- Registered new Utils tutorial subdirectory