Skip to content

Split ALICE3 TRK and FT3 layout - #15657

Open
shahor02 wants to merge 5 commits into
AliceO2Group:devfrom
shahor02:alice3-trk-ft3-split
Open

Split ALICE3 TRK and FT3 layout#15657
shahor02 wants to merge 5 commits into
AliceO2Group:devfrom
shahor02:alice3-trk-ft3-split

Conversation

@shahor02

Copy link
Copy Markdown
Collaborator

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.

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
shahor02force-pushed the alice3-trk-ft3-split branch from 3d859e2 to 8695595CompareAugust 1, 2026 19:02
marcovanleeuwenand others added 4 commits August 6, 2026 00:32
The log files indicate that digits are produced, but they are not properly written out. Probably because the DigitWriterSpec still needs work.
@shahor02
shahor02 marked this pull request as ready for review August 6, 2026 11:06
@shahor02shahor02 mentioned this pull request Aug 6, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@shahor02@marcovanleeuwen@alibuild