Using Stan Bayesian MCMC for fitting

As of July 2019, CAFAna now supports using the Stan Bayesian Markov Chain Monte Carlo tools for performing oscillation fits.

More details will be added here as time allows, but for some quick-start examples, have a look at the test macros:
source:trunk/CAFAna/test/test_stanfit_dummy.C (fits a single parameter in a non-oscillation context)
source:trunk/CAFAna/test/test_stanfit_statsonly.C (sample statistics-only oscillation fit for numu disappearance)
source:trunk/CAFAna/test/test_stanfit_systpulls.C (demonstrates that systematic knobs are correctly profiled with fitter)
source:trunk/CAFAna/test/test_stanfit_withsysts.C (sample stats+systs oscillation fit for numu disappearance; uses only a few systs for demonstration purposes)

To-do list

  • make an to handle dependencies rather than editing all the CXXFLAGS in various makefiles
  • once we have gcc 7 try implementing the osc calcs with default template parameters (and maybe Spectrum?)
  • see if Lynn will build stan, stan_math, cvodes, eigen for us