All paths, unless stated otherwise, are relative to the root of the repository.
By default, the fitter assumes we are fitting the full dataset with unblinded power. To fit the full dataset with blinded power, export LBNL_FIT_BLINDED=1
. For fitting (unblinded) P17B, export LBNL_FIT_P17B=1
. Do this before running scripts/init.sh
.
In a fresh clone, place the reactor power/burnup table in ReactorPowerCalculator/WeeklyAvg/weekly_power_fulldata_release_v2.dat
(or ReactorPowerCalculator/WeeklyAvg/WeeklyAvg_P17B_by_Beda.txt
for P17B). Then run scripts/init.sh
to generate static data (reactor flux, toy MC configs). This only needs to be done once.
Export the environment variable LBNL_FIT_INDIR
to point to the directory containing the input files, or else create the input
directory and put the inputs there. The inputs should look like:
Theta13-inputs_P17B_inclusive_Xad.txt accidental_eprompt_shapes_Xad.root ibd_eprompt_shapes_Xad.root
where Xad should run through 6ad, 8ad, 7ad. Example inputs from some analysis groups can be found in example
.
Similarly, you can export LBNL_FIT_OUTDIR
to point to the directory where you want intermediate/output files to end up, or else they will end up in LBNL_FIT_INDIR
, if set; otherwise, in the output
directory.
If you will be immediately running the fitter on multiple machines, it is recommended that you compile the code before submitting any jobs. Run scripts/compile.sh
. If you’re running the fitter interactively, the code will automatically be compiled by scripts/run_chain.sh
.
Now you can run the toyMC/fitter chain. If you are not the only user of the machine, export LBNL_FIT_MAXTHREADS
to something courteous, like 2 or 4. Note that this specifies the maximum number of threads per process; since processes will be running in parallel, the true number of threads can be 3x as high. When you’re ready, just run scripts/run_chain.sh
(warning: will spam your terminal, might want to save the output).
If you get crashes, export LBNL_FIT_DEBUG=1
, and run scripts/clean.sh
to delete the compiled code. On the next crash, you’ll get a proper backtrace.
For an example of producing theta/delta contours from the output files, see analysis/plot_contours.C
.