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