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.
The main entry point for O2 information is here. A quickstart page can be found under https://aliceo2group.github.io/.
In order to install with aliBuild you can follow this tutorial.
We use JIRA to track issues. Head here to create tickets.
The Coding Guidelines are here. See below how to format your code accordingly.
Documentation pages: https://aliceo2group.github.io/AliceO2/.
make 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 make install
turn on the variable DOC_INSTALL.
Doxygen documentation is also available online here
The code organisation is described here. The build system (cmake) is described here.
The project uses clang-format to push for a common code formatting according
the the clang-format configuration files in this repository. With an adiabatic
approach, all changes have to follow the formatting rules. A tool script can be
used to integrate the formatting into git and suggest formatting only for
changed lines.
The git-clang-format Python script integrates clang-format into git.
Put it somewhere in your path and ensure that it is executable, e.g.
cd $HOME
mkdir -p bin
cd bin
wget //llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/git-clang-format
chmod u+x git-clang-formatNote: installation of the script will be added to build of AliceO2 software stack.
Now, git clang-format will invoke clang-format on the changes in current files
or a specific commit. E.g. for the last commit
git clang-format HEAD~1
Or for all commits done with respect to the remote branch state
git clang-format origin/dev
show updated version of complete file
clang-format -style=file SOURCEFILE
Directly apply the style to file
clang-format -style=file -i SOURCEFILE
A number of config files are available here for various IDEs.