Code for dipole portal at dune

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.

BibTex: