Split ALICE3 TRK and FT3 layout - #15657
Draft
shahor02 wants to merge 1 commit into
Draft
Conversation
Restructure the ALICE3 upgrade detectors so TRK and FT3 live under a shared Detectors/Upgrades/ALICE3/TRKFT3 top-level directory. TRK-specific code is kept in TRKFT3/TRK, FT3-specific code is kept in TRKFT3/FT3, and shared reconstruction, workflow, and simulation code is placed under TRKFT3/common. The data formats follow the same split with DataFormats/Detectors/Upgrades/ALICE3/TRKFT3/common providing shared TRKFT3 objects. Move the common hit, digit, cluster, and ROF data formats to DataFormatsTRKFT3. The TRKFT3 Hit is a standalone clone of the ITSMFT-style hit rather than deriving from ITSMFT. The Digit is cloned into the TRKFT3 data formats so digitization no longer relies on ITSMFT digits. The Cluster type is now template<int DetID>, with TRKCluster and FT3Cluster aliases, preserving subDetID for geometry lookups while replacing the previous disk/dist split with a single layer field. The MC2ROF data format and related digitizer/cluster writer paths are removed. Move common digitization code to TRKFT3/common/simulation and template the digitizer stack by DetID. DigiParams, DPLDigitizerParam, and Digitizer are now instantiated separately for TRK and FT3. DigiParams uses std::array storage with detector-specific compile-time layer capacities, and the DPL digitizer workflow can instantiate independent TRK and FT3 digitizers using the shared TRKFT3 digitizer implementation. Split GeometryTGeo into TRK and FT3-specific classes. TRK keeps the barrel/vertex geometry implementation, while FT3 has its own FT3Base GeometryTGeo and parameters. Both detector simulations use the shared TRKFT3 Hit type. Global reconstruction, digitizer workflow, reconstruction, workflow, and validation macros were updated to consume DataFormatsTRKFT3 types and the new TRKFT3 layout. Validation: this change was iterated against the O2 build, fixing configure, compile, and link errors reported during the build, including stale DataFormatsTRK references, missing TRKFT3 includes, clusterer template namespace usage, removed cluster disk access, and the FT3 GeometryTGeo Print symbol.
shahor02
force-pushed
the
alice3-trk-ft3-split
branch
from
August 1, 2026 19:02
3d859e2 to
8695595
Compare
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.
Restructure the ALICE3 upgrade detectors so TRK and FT3 live under a shared Detectors/Upgrades/ALICE3/TRKFT3 top-level directory. TRK-specific code is kept in TRKFT3/TRK, FT3-specific code is kept in TRKFT3/FT3, and shared reconstruction, workflow, and simulation code is placed under TRKFT3/common. The data formats follow the same split with DataFormats/Detectors/Upgrades/ALICE3/TRKFT3/common providing shared TRKFT3 objects.
Move the common hit, digit, cluster, and ROF data formats to DataFormatsTRKFT3. The TRKFT3 Hit is a standalone clone of the ITSMFT-style hit rather than deriving from ITSMFT. The Digit is cloned into the TRKFT3 data formats so digitization no longer relies on ITSMFT digits. The Cluster type is now template, with TRKCluster and FT3Cluster aliases, preserving subDetID for geometry lookups while replacing the previous disk/dist split with a single layer field. The MC2ROF data format and related digitizer/cluster writer paths are removed.
Move common digitization code to TRKFT3/common/simulation and template the digitizer stack by DetID. DigiParams, DPLDigitizerParam, and Digitizer are now instantiated separately for TRK and FT3. DigiParams uses std::array storage with detector-specific compile-time layer capacities, and the DPL digitizer workflow can instantiate independent TRK and FT3 digitizers using the shared TRKFT3 digitizer implementation.
Split GeometryTGeo into TRK and FT3-specific classes. TRK keeps the barrel/vertex geometry implementation, while FT3 has its own FT3Base GeometryTGeo and parameters. Both detector simulations use the shared TRKFT3 Hit type. Global reconstruction, digitizer workflow, reconstruction, workflow, and validation macros were updated to consume DataFormatsTRKFT3 types and the new TRKFT3 layout.
Validation: this change was iterated against the O2 build, fixing configure, compile, and link errors reported during the build, including stale DataFormatsTRK references, missing TRKFT3 includes, clusterer template namespace usage, removed cluster disk access, and the FT3 GeometryTGeo Print symbol.