Athena Introduction

Last update: 17 Dec 2018 [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. There is much more information about the development workflow in the ATLAS git development tutorial.


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.

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 or AthDerivation. There is an Athena project as well, which is a fairly complete build of almost everything in the repository and is used to ensure that the repository can be built consistently.

The main projects are:

Project Purpose
Athena Functional for event generation, simulation, digitisation reconstruction and DAOD derivations (but rarely validated for anything except digi+reco)
AthenaP1 Used to run the High Level Trigger and online monitoring at P1
AthGeneration For event generation
AthSimulation For full Geant4 simulation
AthDerivation For generating derived AODs from AOD and Athena based analysis
AthAnalysisBase Athena based analysis
AnalysisBase Non-athena ROOT based analysis

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 is not usually validated for anything outside of digitisation and reconstruction (simulation may be validated, but in a different release series). Thus exercise care and if you want to run event generation or simulation then do ask the advice of the relevant group to ensure you are working with a validated release and setup.