The Problem
Modern particle physics experiments produce enormous volumes of data and this is expected to grow in the near future. One key challenge is track reconstruction - converting raw detector hits from charged particles into estimated particle trajectories. Historically, each experiment built its own specialized tracking software, resulting in duplicated effort and the lack of a common framework to collaborate and improve upon. The ACTS project (Acts Common Tracking Software) was created to provide a single, experiment-independent toolkit for efficient track reconstruction.
User Community
ACTS began within the ATLAS experiment at CERN, but it now serves many high-energy and nuclear physics communities (including heavy-ion experiments). Contributors come from institutions worldwide. ACTS is actively used in ATLAS, CERN’s Experimental Physics R&D projects, and various detector R&D studies. It also attracts researchers developing new tracking algorithms for advanced computing architectures by acting as a modular test suite and comparison baseline. This broad adoption has created a large, collaborative base of users and developers.
Technical Aspects
ACTS is a high-performance, thread-safe library written in modern C++ (C++). Its core components include:
-
Geometry description: An optimised detector geometry model for fast navigation.
-
Tracking algorithms: Tools for track finding and fitting, seeding, vertex finding, etc.
-
Event Data Model (EDM): A standardised way to represent track data.
ACTS is optimised for speed, using compile-time polymorphism (templates) instead of runtime inheritance to improve performance. It keeps non-optional dependencies to a minimum (mainly the Eigen linear algebra library). The toolkit uses CMake for building and runs on Linux with multi-core support. It can integrate with external geometry definitions (eg. ROOT TGeo or DD4hep), making it easier to use in different experiments’ software frameworks.
Libraries and Systems
-
C++20: Leverages modern C++ features for performance and concurrency.
-
Eigen: A linear algebra library used for efficient mathematical computations.
-
Geometry converters: Interfaces to import detector geometry from ROOT TGeo and DD4hep.
-
GPU acceleration: Experimental support for using GPUs to speed up certain computations.
-
ML integration: Plugins like Exa.TrkX for GNN based tracking or ONNX for development and testing of ML algorithms for ambiguity resolution, seed filtering etc.
Software Quality Practices
ACTS development follows strict software engineering standards. The project is developed openly on GitHub, and every code submission triggers automated CI tests to ensure nothing breaks and that thread-safety is maintained. Developers adhere to coding and contribution guidelines, and use peer reviews on merge requests. Issues are tracked transparently, and frequent meetings plus mailing list discussions keep contributors aligned and informed.
Developer Community
The ACTS community provides many resources to help onboard newcomers:
-
Contribution guidelines: A clear step-by-step guide for submitting code.
-
Interactive tutorials: Hands-on guides for configuring and running tracking workflows.
-
Example framework: A sample project demonstrating how to use ACTS algorithms in practice.
In addition, regular workshops and training sessions help new members start using ACTS in their experiments. New contributors are often mentored by experienced developers, ensuring knowledge transfer and continuous growth of the community.
Tools
ACTS uses common tools to maintain quality and facilitate contributions:
-
Version control: Git, with repositories on GitHub for collaborative development.
-
Continuous integration: Automated testing pipelines using GitHub Actions
-
Documentation: Documentation written with Sphinx and published on ReadTheDocs.
-
Build system: CMake for consistent compilation across platforms.
-
Issue tracking: GitHub issue trackers for transparent bug reports and feature requests.
-
Forums: Github Discussions, Mattermost messaging and e-mail lists for open communication with the core development team.
These tools streamline development, ensure reliability, and make it easier for new users to adopt and contribute to ACTS.
FAIR & Open
ACTS adheres to the FAIR principles for research software:
-
Findable: ACTS is openly hosted on GitHub with clear versioning, and releases are [archived on Zenodo] and assigned DOIs for academic referencing.
-
Accessible - Licensed under the Mozilla Public License 2.0, facilitating open access and wide adoption by diverse particle physics experiments. The code is described using CITATION.cff metadata files.
-
Interoperable - Designed to integrate seamlessly with standard detector geometry frameworks (ROOT TGeo, DD4hep) and common data formats used in high-energy physics.
-
Reusable - ACTS provides modular, documented, and tested components, enabling reuse and easy adaptation across multiple research projects and experiments.
ACTS’s open development practices encourage transparent collaboration, promoting shared improvements across the particle physics community in multiple research communities.
Documentation
ACTS offers thorough documentation for both users and developers:
-
User guides: Detailed instructions for installation, setup, and usage.
-
Developer docs: Explanations of internal design, components, and APIs for contributors.
-
Tutorials and examples: Step-by-step examples demonstrating common use cases.
The documentation is updated alongside the code to remain accurate and up-to-date. Documentation contributions are valued as highly as code contributions, reflecting the importance of good documentation for ACTS’s usability. (this is reflected primarily in practice)
Sustainability
ACTS is sustained by a strong community and multiple funding sources. It benefits from institutional support (for example, CERN’s EP R&D programme, the NSF-funded IRIS-HEP project in the US, the EU-funded AIDAInnova project, and CERN’s Next Generation Triggers initiative). Having contributors from many different experiments means ACTS isn’t dependent on any single group or grant. The project has clear governance and training practices to retain knowledge, which keeps ACTS resilient and ready to meet future needs.
(Correct as of July 2025)
References
- ACTS GitHub Repository: https://github.com/acts-project/acts
- ACTS Official Documentation: https://acts.readthedocs.io/
- License: Mozilla Public License v2.0 (MPL-2.0)
- IRIS-HEP Project: https://iris-hep.org/
- Ai, X., Allaire, C., Calace, N. et al. A Common Tracking Software Project. Comput Softw Big Sci 6, 8 (2022). https://doi.org/10.1007/s41781-021-00078-8
- Varni, C.,The ATLAS collaboration. Integration of the ACTS track reconstruction toolkit in the ATLAS software for HL-LHC operations (2025) https://cds.cern.ch/record/2921878
Tools and resources on this page
Tool or resource | Description | Related pages |
---|---|---|
C++ | C++ is a high-performance, general-purpose programming language that supports both procedural and object-oriented paradigms, offering fine-grained control over system resources. Known for its versatility and efficiency, C++ is widely used in applications requiring high speed and precision, such as game development, operating systems, and real-time simulations. | Research Software Stor... Choosing languages, to... |
CMake | Software Build System. | |
Git | Distributed version control system designed to handle everything from small to very large projects with speed and efficiency | Research Software Stor... Research Software Stor... Using version control |
Sphinx | Documentation generator from reStructuredText files primarily for Python, but also supports other languages - C++, C, JavaScript. | Documenting software Documenting software u... Software documentation |