-
Armadillo is a linear algebra package used for quick matrix multiplication
-
GSL - likely you already have this installed, especially if you are running RAT
-
SCons Is used for the build, also a dependency for RAT
-
HDF5 Should be configured to install with c++ support
./configure --enable-cxx && make && make install
-
ROOT Should be installed with Minuit2 enabled
./configure --enable-minuit2
-
Catch2 Version 3.0.0+ is needed. Install with:
git clone git@github.com:catchorg/Catch2.git cd Catch2/ git checkout v3.7.0 // Or whichever tag you want (must be >= 3.0.0) cmake -B build -S . -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/path/to/Catch2/ cmake --build build/ --target install
(Of course, if you have permissions to write to default locations you don't necessarily need to invoke the
DCMAKE_INSTALL_PREFIX
option)
-
Clone this repository with
git clone https://github.com/snoplus/oxsx.git
-
If your dependencies are somewhere the compiler can't find them, copy
config/userconfig.ini.template
toconfig/userconfig.ini
and add the relevant paths. Missing entries are assumed to be in standard locations. e.g.[root] header_path : <path/to/headers> lib_path : <path/to/libraries>
-
Run
scons && scons units
: this will compile the OXSX library and subsequently the unit tests. -
Test the build was sucessful with
./test/RunUnits
scons auto-generates a script that compiles and links your c++ against the source code and dependencies just run . <oxsx root>/bin/compile.sh <your cpp file>
to produce an executible of the same name
Look in <oxsx root>/examples
for help getting started
To create ntuples for oxsx run ./util/prune_flat_tree <path_to_file_to_convert> -treename <name_of_the_tree> <branch1> <branch2> <branch3> -newtreename <name_of_your_tree> -outfile <name_of_your_file> -nevents <number_of_events>
- The name of the tree in an input file is optional, as a default it is "output"
- The name of the output file is optional, as a default is is <the_name_of_input_file>+"_oxsx.root"
- The name of the tree in an output file is optional, as a default it is "oxsx"
- The number of events of an output file is optional