/AliceO2

O2 software project for the ALICE experiment at CERN

Primary LanguageC++GNU General Public License v3.0GPL-3.0

ALICE O2 software {#mainpage}

codecov JIRA DOI

Scope

The ALICE O2 software repository contains the framework, as well as the detector specific, code for the reconstruction, calibration and simulation for the ALICE experiment at CERN for Run 3 and 4. It also encompasses the commonalities such as the data format, and the global algorithms like the global tracking. Other repositories in AliceO2Group contain a number of large common modules, for instance for Monitoring or Configuration.

Website

The main entry point for O2 information is here. A quickstart page can be found under https://aliceo2group.github.io/.

Building / Installation

In order to build and install O2 with aliBuild you can follow this tutorial.

Discussion Forum

Users can ask for support in ALICE Talk.

Issue tracking system

We use JIRA to track issues. Report a bug here. Add the JIRA issue key (e.g. O2-XYZ) to the PR title or in a commit message to have the PR/commit appear in the JIRA ticket.

Coding guidelines

The Coding Guidelines are here. See below how to format your code accordingly.

Doxygen

Documentation pages: https://aliceo2group.github.io/AliceO2/.

cmake --build . --target doc will generate the doxygen documentation. To access the resulting documentation, open doc/html/index.html in your build directory. To install the documentation when calling cmake --build . -- install (or cmake --install for CMake >= 3.15) turn on the variable DOC_INSTALL.

The instruction how to add the documentation pages (README.md) are available here.

Build system (cmake) and directory structure

The code organisation is described here. The build system (cmake) is described here.

Formatting

Rules and instructions are available in the repository CodingGuidelines.

Enable C++ compiler warnings

Currently O2 is built with minimal compiler warnings enabled. This is going to change in the near future. In the transition period, developers have to manualy enable warnings by building O2 with ALIBUILD_O2_WARNINGS environment variable set e.g. using the -e option of alibuild e.g:

aliBuild build --debug -e ALIBUILD_O2_WARNINGS=1 --defaults o2 O2

A helper script that extracts warnings from the build log skipping duplicates is available here