-
Notifications
You must be signed in to change notification settings - Fork 4
sbnfit_feldman_cousins
Traditionally, once you have root files containing the events and eventweight's that you require the workflow is
- Run
sbnfit_make_covarianceto build the covariance matrix - Run
sbnfit_feldman_cousinsingenmode to generate the precalculated frequency spectra - Finally actually run
sbnfit_feldman_cousinsto perform the fit.
For convenience, the results of stages 1 and 2 are already contained in examples/SBN_suite/sbn_gpvm_example.tar.gz and can be extracted immediately.
NOTE: should be on the feature branch feature/markross_feldmancousins to have access to these tools
The possible arguments for this are currently:
--- Required arguments: ---
-x --xml Input configuration .xml file for SBNconfig
-t --tag A unique tag to identify the outputs [Default to TEST]
-m --mode What mode you want to run in. Arguments are:
-- gen : Generate the preoscillated spectra for all mass-splittings
-- genbkg : Generate a background only spectra for all mass-splittings
-- feldman : Perform a full feldman cousins analysis
-- test : Just a testbed. Can be ignored
--- Optional arguments: ---
-s --stat Stat only runs
-n --number Set Number of pseudo experiments to simulate (default 2500)
-h --help This help menu.
In this example we have a combined SBND, uBooNE and ICARUS joint fit.
As of now this is assuming uboone GPVM running. The pre-calculated SBNspectra (which can be generated by using the --mode gen mode) are already saved in a tarball in the examples folder for convenience. To use these the tag BOTHv2 must be supplied alongside the sbn_full_gpvms.xml config file.
so as an overview from a blank setup
$ cd build
$ cmake ..
$ make
$ cd bin
$ tar -xvzf ../../examples/SBN_suite/sbn_gpvm_example.tar.gz
$ ./sbnfit_feldman_cousins --xml sbn_full_gpvms.xml --tag BOTHv2 --mode feldman --number 1000 > log.v1
This will produce a fair amount of output which I will discuss later. This example is for a pretty coarse grid in delta m^2 (21 steps) and sin^22theta(emu) (48 steps) corresponding to 1008 total grid-points. We have 11 bins in the nue-channel and 19 in the numu-channel.
For this setup (2500 pseudo-experiment universes) and 1008 gridpoints this is a rough breakdown of timeframes on uboonegpvm04
- Initial bookkeeping and compute all oscillated spectra from precomputed frequencies: ~22 mins
- Calculate full covariance matrix, collapsed and and inverted also for all gridpoints: ~5 mins
- Calculating the delta_chi^2 distribution for all pseudo-experiments at 1 grid-point: ~50 mins
- Estimated total time on 1 core for full grid: ~840 hours (35 Days)
In reality for a fit we would want O(10k) universes, with a grid of 100x100 for appearance/disapearance only and 100x25x25 for combined appearance/disapearance