This repository has been archived by the owner on May 18, 2023. It is now read-only.
COATJAVA release 7.1.0
Compatible with GEMC 4.4.2
Required Java 11 or later
- Reconstruction:
- DC:
- Full restructuring for integration of AI-assisted tracking:
- Standalone clustering service to be run before hit-based tracking.
- Conventional hit-based service, starting from clustering output.
- AI hit-based service, starting from AI predictions in
ai::tracks
. - Hit-based services now output new
HitBasedTrkg::..HitTrkId
bank with track-dependent information (track ID, TProp, TBeta, ...) - DCTBEngine rebuilds full hit information from
HitBasedTrkg::..Hits
andHitBasedTrkg::..HitTrkId
banks. Extended to DCTBAIEngine for AI tracking. - Mechanism to select engine output bank names between conventional and AI.
- Additional changes:
- Constants class turned into a singleton to ensure all DC engines use the same configuration. Geometry factories now members of Constants class. Cleanup of unused constants. New initialization method.
- T0 Table now read with ConstantsManager.
- Added cluster IDs to Track bank.
- New method for consistent assignment of track-dependent information to hits and subsequent updates.
- TB tracking now rejects hits with not track-related information after HB.
- New track overlap remover method now handles three-way overlaps.
- Removal of duplicated clusters created to address the LR ambiguity.
- Fix issues with cross and tracks duplication, removed unnecessary hit cloning.
- New yaml variable to support choice of output bank names, switch off 5SL tracking, select one sector., turn on/off realignment of time information to hit doublets (off by default). Cleaner printouts of selected configuration. Configuration via environment variables removed.
- Full restructuring for integration of AI-assisted tracking:
- EC: default reporting planes for ECinner and ECouter updated.
- EB:
- EBHBAI and EBTBAI engines to support parallel running of conventional and AI tracking.
- Removed CTOF-CND veto from neutral PID assignment.
- Cloning DetectorResponses to preserve track-related info in case of multiple associations.
- FMT:
- Use swimming to calculate DC track intersections instead of using values from DC trajectory bank: allows for iteration on FMT alignments without re-running the DC service.
- Added timing cut to select good hits, excluding t==0 to preserve MC hits.
- Merged FittedHit functionalities into Hit class.
- MLTN:
- New package providing the AI track inference information: includes classifier network to 6SL track identification and fixer network to predict missing layer for 5SL tracks.
- Reads output of DC clustering engine and provide track candidate predictions in
ai::tracks
bank. Bank includes list of clusters, particle charge, z vertex and probability. - Relies on Archive class to handle multiple networks.
- Supports network choice based on
run
andflavor
. - Yaml option to read neural network file from path for testing purposes.
- DC:
- Common-tools:
- EngineProcessor updated to include new DC clustering service in default configuration.
- New clas-logging package implementing java Logger, supporting different verbosity levels. Several classes in common-tools and reconstruction switched to Logger. Logging property files included as resources. Currently results in highest verbosity for reconstruction engines when run in Clara and for groovy scripts.
- Post-processing supports overall helicity flip also or direct reporting.
- Other:
- Updated DC and EB bankdefs json files to include AI banks.
- Updated yaml files with examples on how to run conventional and AI-assisted tracking.
- AI-assisted tracking neural net file with networks for RG-A Spring18, RG-A Fall18, RG-B Spring19
- Advanced KPP test now checked both conventional and AI tracking results.
- Switched all bin scripts to serial-GC.