TechnicalRemarks: # Readme
Unzip the file. The source code is inside.
Files
main_DUNE.cpp
contains the main function, which calls print_excl_curve(N_ threads, parameters..., EV, STEP_LEN, ...)
, which uses the predictor defined by CLASS
, to find the EV
events/year curve in parameter space starting at parameters...
and using length STEP_LEN
. For the pure dipole case, the mass-mixing parameter Usq
is normally set to zero. Note that the program automatically uses N_threads
threads, whose default value is 4. Use run.sh
to use the correct number of processors.
- In
pred_in_out_DUNE.hpp
, a wrapper class is defined, which contains both the inside- and outside-events predictor.
- The files
predictor_DUNE.*
contain the class for the outside-events predictor. This class inherits from predictor_base.hpp
, which deals with the precomputation and tabulation of the kinematic factors in the integrand, like the cross section and anything depending only on the momenta and scattering angle of the incoming and outgoing neutrino. It also inherits its constants from consts/DUNE_{FD,ND}_consts.hpp
, which allows easy switching between the near-detector or far-detector geometry.
- Similarly, the file
inside_pred_DUNE.hpp
defines the inside-events predictor, which also inherits its geometric constants from consts/DUNE_{FD,ND}_consts.hpp
.
- After running
compile-all.sh
, which compiles relevant *.cpp
files into object files, run compile-dune.sh
, which compiles main_DUNE.cpp
with the object files into the binary a.out
. Note that you have to recompile if changing class inheritance. To compile with debug flags, first run compile-all.sh 1
and then compile-dune-debug.sh
.