Skip to content

Latest commit

 

History

History
67 lines (53 loc) · 2.26 KB

README.md

File metadata and controls

67 lines (53 loc) · 2.26 KB

HAL

Heavy ion Analysis Libraries

Framework for analysis of the collisions of heavy ions.

prerequisites

This software requires:

  • ROOT 6
  • gls-lib (GNU scientific libraries)
  • cmake

installation

  1. enter your HAL directory, and make build directory, enter there:

cd HAL
mkdir build
cd build
  1. Now call cmake to build software:

cmake -DCMAKE_INSTALL_PREFIX=[place to install] .. 
make & make install #optionally to use [N] cores make -j[N] && make install

Usually i install HAL in "inst" directory next to "build" directory:


cmake -DCMAKE_INSTALL_PREFIX=../inst ..

usage

To use hal you should source the proper file:


source [INSTALL_DIRECTORY]/bin/hal_config.sh

Additional parameters for cmake

Sometimes is required to set some additional parameters to HAL:

  • CMAKE_CXX_STANDARD - sets cmake standard by hand (default is 17) - note: this standard should be compatible with standard used for ROOT compilation. To check ROOT compilation flag type <root-config --cflags> e.g.: if output contains -std=c++17 it means that your ROOT was compiled with standard 17. In most cases it is not necessary to set this flag
  • JSROOT_DIR=[path] - sets [path] to custom JS ROOT (can be used if HAL is not compatible with JSROOT installed with ROOT)
  • FAIRROOT=OFF - disables compilation with FairRoot even if FairRoot is found in system
  • EXAMPLES=ON - enable examples

Note: to use the option set -D[option] flag e.g., -DEXAMPLES=ON during calling cmake

  • Page @subpage femto_analysis
  • Page @subpage subpage_2
  • Page @subpage subpage_3

Applications

This software contains not only libraries but also few applications:

  • hal-report generates HTML report, unfortunatelly jsroot will not work directly you have to setup a sever or pretend that you are setup the server (e.g., python3 -m http.server called inside of report directory)
  • hal-merger for efficient merging of many HAL files
  • hal-jobs to submit jobs on cluster without painfull BASH
  • hal-cmake a helper for fast buidlign libraries/classes for cuts

To do

  • simplification of buffer class - using pointers instead of int maps?
  • std::fuction for custom class cuts?
  • generator of simple cuts on macro level