This C++ version of BAT is still being maintained, but addition of new features is unlikely. Check out our new incarnation, BAT.jl, the Bayesian analysis toolkit in Julia. In addition to Metropolis-Hastings sampling, BAT.jl supports Hamiltonian Monte Carlo (HMC) with automatic differentiation, automatic prior-based parameter space transformations, and much more. See the BAT.jl documentation.
Changelog for version 0.3
2009-09-21 Daniel Kollar* final version 0.3 * models/README: - updated ROOT version required by BCRooInterface * CreateProject.sh: - add example code for flat prior 2009-09-21 Daniel Kollar * version 0.3 release candidate 2 (.rc2) * doc/introduction: - added Availability subsection - small updates 2009-09-21 Daniel Kollar * doc/introduction: - increased BAT version - updated inslattation instructions - updated reference to BAT 2009-09-21 Daniel Kollar * benchmarks/mcmc: - use short BCLog::Out() forms - replace printf() with BCLog::Out() - include - remove NULL - code cleanup - use TString::Data() in TF1, TF2 and TF3 constructors - fix parameter initialization for cauchy function 2009-09-20 Daniel Kollar * INSTALL: - fixed typo - changed ROOT version required by BCRooInterface to 5.24 2009-09-19 Daniel Kollar * releasenotes.txt: fixed typo 2009-09-19 Daniel Kollar * version 0.3 release candidate 1 (.rc1) * updated release notes * added CREDITS file * small updates in example macros * BCEngineMCMC: - updated the progress printout in the pre-run 2009-09-19 Daniel Kollar * BCEngineMCMC: - switched to short versions of BCLog::Out - added warning when convergence was never checked - added more progress printouts in the pre-run - updated some comments 2009-09-19 Daniel Kollar * BCEngineMCMC: - added maximum number of iterations after which the efficiency convergence is checked fMCMCNIterationsUpdateMax; set to 10000 by default (was fMCMCNIterationsUpdate*(fMCMCNParameters+1) before) - fixed bug in definition of 2D histograms; the ranges for the two parameters were swapped before - code cleanup 2009-09-18 Carsten Brachem * BCModel.cxx: - Disabled histogram booking when calculating the p-value. This will save the allocation of memory for O(n^2) histograms, n being the no. of data points, and thus a lot of memory. 2009-09-18 Carsten Brachem * BCIntegrate.cxx: - Improved performance for generating the radial part of Cauchy random numbers and added a faster calculation of the spherical part in 3 dimensions. * benchmarks/mcmc/benchmark.cxx: - Fixed a typo that caused a compiler warning (changed a double to int). 2009-09-17 Kevin Kroeninger * BCEngine.cxx/BCModel.cxx: - Fixed problem with histogram booking. Histograms are not booked if they are not filled. 2009-09-17 Carsten Brachem * benchmarks/mcmc/benchmark.cxx: - Added Cauchy distribution to the benchmark functions as a more complicated example (since it does not have mean, variance, ...). 2009-09-16 Carsten Brachem * BCIntegrate.cxx: - Improved performance for generating Cauchy distributed random numbers for SA (the spherical part is much more efficient now). 2009-09-16 Carsten Brachem * benchmarks/mcmc/src/BCBenchmarkMCMC.cxx: * benchmarks/mcmc/src/BCBenchmarkMCMC2D.cxx: * benchmarks/mcmc/src/BCBenchmarkMCMC3D.cxx: - Added newlines at the end of these cxx files (not ending with a newline gives warnings/errors on some compilers). 2009-09-16 Carsten Brachem * benchmarks/mcmc/src/BCBenchmarkMCMC2D.cxx: - Corrected minor bug that caused the Histograms for analyzing different fractions of iterations (10%, 20%, ..) to have 1 entry too much. * benchmarks/mcmc/src/BCBenchmarkMCMC3D: - Added class BCBenchmarkMCMC3D to test 3D distributions. * benchmarks/mcmc/benchmark.cxx: - Added one test for a 3D function (3-dim. Gaussian). * benchmarks/mcmc/Makefile: - Adjusted Makefile for new 3D class. 2009-09-15 Carsten Brachem * benchmarks/mcmc/src/BCBenchmarkMCMC: - Added Kolmogorov-Smirnov test. * benchmarks/mcmc/src/BCBenchmarkMCMC2D: - Added Kolmogorov-Smirnov test. - Added TTree branches for Mean, Variance and Skewness. 2009-09-14 Kevin Kroeninger * BCEngine.cxx: - Added flag to ignore previous result of optimization - Set print level of TMinuit according to BCLog settings. 2009-09-04 Jing Liu * BCModelOutput: - removed confusing private pointer fMarkovChainTree - simplified constructor and destructor - fixed some bugs in functions SetFile() and SetModel() * benchmarks/mcmc: - merged all the tests into benchmark.cxx 2009-09-03 Daniel Kollar * BCModel: - added "parameter set aware" FindModeMinuit() * tools/CreateProject.sh: - added more comments to the main program 2009-08-27 Kevin Kroeninger * BCModelOutput.cxx: - Added output of simulated annealing to ROOT file 2009-08-26 Kevin Kroeninger * doc/introduction/introduction.tex: - update introduction. 2009-08-25 Kevin Kroeninger * BCEngineMCMC: - Set Breit-Wigner distribution as default trial function. 2009-08-24 Kevin Kroeninger * BCEngineMCMC: - minor change for the lag. 2009-08-21 Jing Liu * benchmarks/mcmc/ChainProperties.C: - added a simple ROOT script to study properties of Markov Chain 2009-08-19 Kevin Kroeninger * BCModel.cxx: - catch if parameter exists when asking ofr index by name. - bug fix in method PrintResults(). Vector of best fit parameter could have been empty. Now checked. - added information of quantiles to the method PrintResults(). * BCEngineMCMC: - some minor code clean-up 2009-08-19 Kevin Kroeninger * BCEngineMCMC.cxx: - massive code clean-up - removed PCA runs - removed MetropolisHastings methods (obsolete) - made the trial function virtual 2009-07-31 Kevin Kroeninger * BCIntegrate.cxx: - bug fix when checking how global was found. 2009-07-31 Kevin Kroeninger * BCIntegrate.cxx: - modified Minuit interface to include mnseek() before minimization. 2009-07-31 Kevin Kroeninger * models/RooInterface - updated interface to RooStats (G. Schott) 2009-07-30 Kevin Kroeninger * BCEngineMCMC: - added flag for filling marginalized distributions 2009-07-28 Kevin Kroeninger * BCEngineMCMC: - added flag if MCMC has been run at all or not * BCModel: - bug fix: optimization method in output now agrees with method which found the mode. * doc/introduction/introduction.tex: - updated introduction (SA + options, errors on best fit parameters) 2009-07-27 Kevin Kroeninger * BCEngineMCMC: - Added user-defined annealing schedule (from C. Brachem) - Added errors on best fit parameters (from M. Corradi) * BCModel: - Added method to get errors on best fit parameters - Added error on best fit parameters to PrintResults() 2009-07-17 Kevin Kroeninger * BCEngineMCMC: - Added lag to MCMC. Only every n_th step is used for updating histograms, MCMC tree, etc. 2009-07-15 Kevin Kroeninger * BCEngineMCMC: - Bug fix: efficiencies were not calculated correctly. - Bug fix: scale factors for "normal" MCMC were not used. * BCModel: - Added efficiency information to results. 2009-07-06 Kevin Kroeninger * BCIntegrate: - bug fix in SA code rom C. Brachem. 2009-06-12 Daniel Kollar * BCMath: - switched from size_t to int in LogChi2() - removed include of * BCModel: - added methods GetPvalueFromChi2NDoF(), GetPValueNDoF(), GetChi2NDoF() - adjusted PrintShortFitSummary() to use them * BCGraphFitter: - use GetPvalueFromChi2NDoF() - fixed gcc warning 2009-06-12 Daniel Kollar * BCIntegrate: - renamed all SA methods and atributes from ...SimulatedAnnealing... to ...SA... - small updates to code formating * BCModel: - updates of the SA methods 2009-06-03 Jing Liu * benchmarks/mcmc: - added codes to test 2D MCMC sampling. - added output of chains in 2D sampling test. - changed to a better set of parameters for xygausn. 2009-05-17 Kevin Kroeninger * BCIntegrate: - added simulated annealing from C. Brachem's code. 2009-05-15 Jing Liu * benchmarks/mcmc: - mv benchmark.c SamplingTest1D.cc - added pol0-2,exp,gaus functions to SamplingTest1D.cc - changed include style in source files so that they can be compiled - use BATINSTALLDIR to set -L -I directories in Makefile - corrected x2 calculation in src/BCBenchmarkMCMC.cxx - plot x2 to output eps in src/BCBenchmarkMCMC.cxx 2009-05-05 Jing Liu * BCMath: - added chi2 distribution - added voigtian distribution 2009-04-07 Daniel Kollar * releasenotes.txt: - fixed release date in the cvs 2009-04-15 Jing Liu * examples: - fixed some typos in example 1 and 4 - used TGraphErrors("filename") to simplify example 3