Abstract

The offline software of the ATLAS experiment at the Large Hadron Collider (LHC) serves as the platform for detector data reconstruction, simulation and analysis. It is also used in the detector’s trigger system to select LHC collision events during data taking. The ATLAS offline software consists of several million lines of C++ and Python code organized in a modular design of more than 2000 specialized packages. Because of different workflows, many stable numbered releases are in parallel production use. To accommodate specific workflow requests, software patches with modified libraries are distributed on top of existing software releases on a daily basis. The different ATLAS software applications also require a flexible build system that strongly supports unit and integration tests. Within the last year this build system was migrated to CMake.A CMake configuration has been developed that allows one to easily set up and build the above mentioned software packages. This also makes it possible to develop and test new and modified packages on top of existing releases. The system also allows one to detect and execute partial rebuilds of the release based on single package changes. The build system makes use of CPack for building RPM packages out of the software releases, and CTest for running unit and integration tests.We report on the migration and integration of the ATLAS software to CMake and show working examples of this large scale project in production.

Highlights

  • We report on the migration and integration of the ATLAS software to CMake and show working examples of this large scale project in production

  • The ATLAS experiment’s [1] offline software is responsible for reconstructing, simulating and analysing petabytes of data collected by the detector at the Large Hadron Collider

  • ATLAS, together with LHCb, used the CMT [3] build system for building its offline software until recently, but the experiment has been looking for a build system with much wider community support to replace CMT since a few years

Read more

Summary

Introduction

The ATLAS experiment’s [1] offline software is responsible for reconstructing, simulating and analysing petabytes of data collected by the detector at the Large Hadron Collider. It is composed of multiple “projects” that are each built up out of many “packages”. As the software is built out of millions of lines of C++ and Python code, developers cannot build the entire thing when developing software in the collaboration. They are instead just building a select number of packages against numbered releases, or nightly builds of the full software release, overriding just the libraries/executables/etc. At the beginning of 2016 the build of the software release meant to reconstruct and simulate data in 2017 and beyond has been switched over to be built by CMake [4]

Software organisation
The implementation
Package configuration
Project configuration
Runtime environment setup
Making the projects relocatable
Performance
Conclusions
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.