Generic Framework for Anisotropic Flow Analyses with Multi-particle Azimuthal Correlations
master
correlations
|
This is the reference implementation of the Generic framework for anisotropic flow analyses with multi-particle azimuthal correlations.
This code calculates the generic multi-particle correlator
\[ C_{\mathbf{h}}\{n\} = \left\langle \exp\left[i\left(\sum_j^n h_j \varphi_j\right)\right]\right\rangle \]
where the vector \(\mathbf{h}=[h_1,\ldots,h_n]\) is the harmonics of each particle, and \(\varphi_j\) is the observations of the azimuth angle. The code allows for both calculations of both the integrated and differential correlators, \(C_{\mathbf{h}}\{n\}\) and \(C_{\mathbf{h}}'\{n\}\) respectively.
See also arXiv:1312.3572 or Phys.Rev.*C89*(2014)064904.
An implementation in Python is available. Note, this - the C++ implementation - is roughly 10 times faster than the Python implementation.
The code is hosted on the CERN Gitlab instance. To check out, do
git clone https://gitlab.cern.ch/cholm/mcorrelations.git
Alternatively download here and extract.
The code generally outputs results as JSON. If you need a small JSON library for C++, see here (included in this project).
All code of the project is contained in declaration (header) files. That is, all code is 'inline'. That means that there is no need to compile a library or the like first.
The project does define a set of examples and tests that can be build. To do that, go to the unpacked sources and do
make
To run tests, do
make tests
To make the documentation (requires Doxygen and Python), do
make doc
More information on the tests can be found in a separate page
The example programs [
The code it self is portable as it is, and only uses ISO C++11. However, the code and in particular the build system captured in the top-level Makefile have only been tested on GNU/Linux with relatively new versions of GCC. To build the tests on other platforms it may require a bit of tweaking on the users behalf.
Copyright (c) 2013, Kristjan Gulbrandsen, Ante Bilandzic, Christian Holm Christensen
GNU General Public License version 3 - see COPYING