-
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
-
Clone this repository with
git clone https://github.com/snoplus/oxsx.git --recursive
if you've already cloned without the recursive flag just rungit submodule update --init
-
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
If you get the error:
catch.hpp: No such file or directory
check you used the--recursive
option when git cloning.
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