Skip to content

dbarrow257/NuOscillator

Repository files navigation

NuOscillator

Container Image Code - Doxygen Build CI

How to start

mkdir build;
cd build;
cmake ../ -DUseGPU=0 -DUseMultithreading=1 -DUseDoubles=0 -DUseCUDAProb3=0 -DUseCUDAProb3Linear=1 -DUseProb3ppLinear=1 -DUseNuFASTLinear=1 -DUseProbGPULinear=0
make -jN [Where N is number of threads]
make install

don't forget about

source Linux/bin/setup.NuOscillator.sh

then you can check if everything runs correctly by

cd ../
./build/Linux/bin/DragRac

Implemented Engines

UseCUDAProb3 etc. refers to implemented engines. Engines are loaded via yaml config files. In principle you can compile all of them and select one you want to use via config.

Following neutrino oscillation calculators are available:

Oscillator Hardware Source Reference
CUDAProb3Linear CPU/GPU Beam
CUDAProb3 CPU/GPU Atm Ref
ProbGPULinear GPU Beam Ref
Prob3++Linear CPU Beam
NuFastLinear CPU Beam Ref

GPU

Some engines requires gpu like ProbGPULinear other can use both CPU and GPU. To use GPU functionality remember about

cmake ../ -DUseGPU=1

Other

If the output from running cmake appears to have picked up the wrong ROOT install, try manually adding the path to the FindROOT.cmake file in your ROOT install to CMAKE_MODULE_PATH like so -DCMAKE_MODULE_PATH=${ROOTSYS}/etc/cmake. This shouldn't be a problem for more recent versions of ROOT6 where the ROOT developers have taken care to expose modern, conventional CMake.