knopers8 / AliceO2

O2 software project for the ALICE experiment at CERN

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ALICE O2 software

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.

Issue tracking system

We use JIRA to track issues. Report a bug here.

Coding guidelines

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

Doxygen

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

Build system (cmake) and directory structure

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

Formatting

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.

Install clang-format

Use alienv to load clang which includes clang-format : alienv load Clang/latest If Clang is not yet build, use alibuild : aliBuild build --defaults o2 Clang If you use your own clang installation, make sure you have at least version 3.9.

Install clang-format git integration

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-format

Note: installation of the script will be added to build of AliceO2 software stack.

Checking formatting

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
Checking files

Show updated version of complete file :

clang-format -style=file SOURCEFILE

Directly apply the style to file :

clang-format -style=file -i SOURCEFILE

Using an IDE

A number of config files are available here for various IDEs.

About

O2 software project for the ALICE experiment at CERN

License:GNU General Public License v3.0


Languages

Language:C++ 86.9%Language:C 9.5%Language:CMake 1.6%Language:TeX 0.8%Language:GLSL 0.4%Language:Shell 0.3%Language:Cuda 0.2%Language:HTML 0.1%Language:Python 0.0%Language:Emacs Lisp 0.0%