Athena Introduction

Last update: 14 Dec 2022 [History] [Edit]

Athena is based on the common Gaudi framework that is used by ATLAS, LHCb and FCC.

Athena code is hosted in the CERN GitLab service where the repository owned by the atlas user plays a special role as the repository from which all production releases will be built. In the ATLAS development workflow this repository is also the merge target for developments from individual users or groups. This repository includes a number of different branches (defined as “an independent line of development”) being actively committed to at any given time, which may be synchronized to varying degrees (either manually or via automated procedures) depending on their purpose. There is much more information about the development workflow in the ATLAS git development tutorial.

Projects

While the athena repository contains any and all code that could be built into an ATLAS software release, each release itself generally only consists of a consistent subset of the code base. Each particular build flavour is called a project and is steered from a particular subdirectory of the Projects directory.

The Athena project is a complete build of almost everything in the repository. When a particular Athena project is built the build result encodes the project name. Thus, independent of any release number, AthSimulation is built from different code than AthAnalysisBase.

The main projects are:

Project Purpose
Athena Reconstruction and Derivation production*
AthGeneration For event generation
AthSimulation For full Geant4 simulation
AthAnalysisBase Athena based analysis
AnalysisBase Non-athena ROOT based analysis
DetCommon For reading trigger configuration when e.g. configuring L1 Hardware

Not all projects will exist, or be functional, in any particular branch of the Athena repository. It should also be noted that although the Athena project will be capable of running most workflows it may not represent the latest validated release for all purposes (in particular Event Generation).

* NB While both reconstruction and Derivation use the Athena project, they may be based on different code branches. Reconstruction will normally be run from a branch which is operating under Frozen Tier 0 policy i.e. in which changes to job output in the AOD files are tightly controlled. Derivations on the other hand are expected to change more frequently, since they can be quickly reproduced from AOD, and so these run from the development branch, i.e. main (formerly master). Concretely this means that for example that AOD files produced in 22.0,Athena releases will be used to produce DAOD files in 23.0,Athena releases.