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.4.2

2010-11-19 Daniel Kollar 
	* final version 0.4.2

2010-11-19 Kevin Kroeninger 
	* BCIntegrate.cxx:
	  - initialized fTreeSA(0)
	  - check if fTreeSA exists before deleting it

2010-11-19 Daniel Kollar 
	* almost final version 0.4.2

2010-11-14 Kevin Kroeninger 
	* PerfTestSuite:
	  - Minor modification to Makefile
	  - changed "flawed" to "acceptable"

2010-11-16 Daniel Kollar 
	* fix in examples/basic/combination1d

2010-11-16 Daniel Kollar 
	* updated todo list

2010-11-16 Daniel Kollar 
	* removed obsolete scripts for dist making

2010-11-16 Daniel Kollar 
	* raised version info for the libraries

2010-11-15 Daniel Kollar 
	* added forgotten BCErrorCodes.h to the dist
	* minor update to configuration
	* increased version to 0.4.2.rc4

2010-11-15 Daniel Kollar 
	* small updates in the documentation

2010-11-15 Daniel Kollar 
	* updated release notes
	* increased version to 0.4.2.rc3

2010-11-14 Kevin Kroeninger 
	* BCTemplateFitter:
	  - added getter for template histograms and functions

2010-11-13 Daniel Kollar 
	* updated release notes
	* increased version to 0.4.2.rc2

2010-11-13 Daniel Kollar 
	* BCTemplateFitter:
	  - removed duplicate includes

2010-11-12 Kevin Kroeninger 
	* BCTemplateFitter: 
	  - added possibility to use TF1 functions as templates
	  - changes to the examples
	  - minor code clean-up

2010-11-12 Daniel Kollar 
	* introduction.tex:
	  - added small section on Cuba interface

2010-11-12 Daniel Kollar 
	* BCIntegrate:
	  - more small updates to Cuba interface

2010-11-12 Daniel Kollar 
	* BCIntegrate:
	  - few small fixes to Cuba interface

2010-11-11 Daniel Kollar 
	* BCTemplateFitter, BCEnsembleTestFitter:
	  - added includes of 
	* increased required version of Root to 5.22 due to use of
	  TH1::Interpolate() which only appeared in that version
	* BCIntegrate:
	  - allowed to change Cuba integration method, for the moment
	    it's only Vegas and Suave, while Divonne and Cuhre need special
		 user setup; they will be included in the near future
	  - added methods to allow user setup of Cuba integration parameters
	  - cleanup of constructors

2010-11-11 Daniel Kollar 
	* updated release notes
	* increased version to 0.4.2.rc1

2010-11-10 Kevin Kroeninger 
	* BCTemplateFitter and BCTemplateEnsembleTest:
	  - added possibility to generate psedo-data using any arbitrary set
	    of parameters, e.g. prior or posterior.
	* Minor bug fix in BCModel

2010-11-10 Daniel Kollar 
	* configure.ac:
	  - more fixes in configuration of non-standard location for cuba library
	* examples/*/Makefile.in, CreateProject.sh.in:
	  - added location of cuba lib and include to all makefiles

2010-11-08 Daniel Kollar 
	* configure.ac:
	  - fixed configuration of of non-standard location for cuba library

2010-11-07 Kevin Kroeninger 
	* renamed .C files to .cxx in examples/advanced/templatefitter/...
	* added corresponding Makefiles to configure.ac

2010-11-06 Daniel Kollar 
	* BCHistogramFitter:
	  - changed some warnings to errors
	  - code formatting

2010-11-06 Kevin Kroeninger 
	* BCEngineMCMC: removed old methods for set prior
	* template fitter: fixed all examples 

2010-11-06 Kevin Kroeninger 
	* BCEngineMCMC: added some getters
	* BCSummaryPriorModel: copied settings from original model

2010-11-06 Kevin Kroeninger 
	* BCTemplateFitter fixed 0nubb example

2010-11-02 Kevin Kroeninger 
	* BCTemplateEnsemble:
	  - bug fix: didn't initialize MCMC before marginalization
	  - modified example 0nubb

2010-11-02 Daniel Kollar 
	* introduction.tex:
	  - increased version number to 0.4.2

2010-11-01 Daniel Kollar 
	* first draft release notes for version 0.4.2

2010-11-01 Daniel Kollar 
	* BCModel:
	  - copy TF1 and TH1D objects to prior container
	  - delete prior objects when needed
	* BCHistogramFitter, BCEfficiencyFitter, BCGraphFitter:
	  - reorganized Fit() methods to allow for correct setting of priors
	    via SetPrior() methods
	  - code formatting

2010-11-01 Daniel Kollar 
	* BCModel:
	  - allow SetPrior from TH1 histogram
	  - recalculate flat part of the prior on every SetPrior() call;
	    fixes prior normalization problem that could happen if, e.g.,
		 SetPriorGauss() was called after SetPriorConstantAll()
	* BCH1D:
	  - reset histogram line/fill attributes before drawing
	* BCSummaryTool:
	  - renamed PrintKnowlegdeUpdatePlot() to PrintKnowledgeUpdatePlots()
	* fast fitter examples:
	  - code formatting
	* updated todo

2010-10-25 Kevin Kroeninger 
	* BCTemplateFitter and BCTemplateEnsemble:
	  - added chi2 calculated with global and marginalized mode, added pull

2010-10-30 Daniel Kollar 
	* BCSummaryTool:
	  - renamed PrintCorrelationPlot() renamed to PrintCorrelationMatrix()
	  - added PrintCorrelationPlot() which draws 1D and 2D marginalized
	    distributions in one 'triangle' plot
	  - fix CopySummaryData(), PrintParameterPlot() and PrintCorrelationMatrix()
	    to handle not filled histograms correctly

2010-10-30 Daniel Kollar 
	* BCModel:
	  - don't print error message in GetMarginalized() if histogram
	    not filled (should be handled upstream)
	  - check BCH1D pointer before using it in PrintAllMarginalized()

2010-10-30 Daniel Kollar 
	* BCMath:
	  - added several overloaded Min() and Max() methods
	  - use BCMath::Min() and BCMath::Max() instead of TMath:: methods
	  - use M_PI instead of TMath::Pi()
	  - use pow() instead of TMath::Power()

2010-10-25 Kevin Kroeninger 
	* BCTemplateFitter and BCTemplateEnsemble:
	  - Minor code modifications. Plan is to include variation of
	    nuisance parameters when performing ensemble tests.

2010-10-27 Daniel Kollar 
	* BCIntegrate:
	  - added NxxxMethods to all Method enums
	  - added methods to dump integration, marginalization and
	    optimization method as string
	  - added summary message showing the integration method used
	* BCModel:
	  - added summary message showing the optimization method used
	* BCIntegrate, BCModel:
	  - clean up of some switch statements
	  - changed some warnings to errors

2010-10-27 Daniel Kollar 
	* code cleanup and formatting
	* changed some warnings to errors

2010-10-27 Daniel Kollar 
	* Makefile.am:
	  - improved logic
	  - cleanup
	  - don't build Dict files for 'make dist'
	* BCEfficiencyFitter:
	  - fixed warning

2010-10-26 Daniel Kollar 
	* updated todo list

2010-10-25 Daniel Kollar 
	* added description of the tarball preparation to readme.devel

2010-10-25 Daniel Kollar 
	* BCMath:
	  - increased default factorial cache to 10000
	* updated todo list
	* increased version to 0.4.2.pre1

2010-10-25 Kevin Kroeninger 
	* BCTemplateFitter: Added possibility to use histograms with non-equal bin sizes
	* BCTemplateFitter: Added logx and logy option for drawing

2010-10-21 Daniel Kollar 
	* BCEfficiencyFitter:
	  - rewritten calculation of data points and their error-bars
	  - changed default to mode + smallest 68% interval
	  - added posibility to also plot mean + rms and median + central 68% interval
	  - changed some warnings to errors
	  - code cleanup
	* BCH1D:
	  - small update in GetSmallestInterval()

2010-10-20 Kevin Kroeninger 
	* BCMath: added include  and added (int) to unsigned ints

2010-10-20 Daniel Kollar 
	* BCEfficiencyFitter:
	  - always use the ratio as a central value for the points when plotting
	  - plot 68% limit as an errorbar for the data points
	  - use BCMath::ApproxBinomial() for caAlculation of data point errors
	  - cleanup

2010-10-19 Daniel Kollar 
	* fast fitters:
	  - set prior for all parameters to constants in the SetFunction() methods;
	    removes warnings
	  - SetFunction() method returns number of parameters
	* BCMath:
	  - caching factorial values up to a value settable by the user, by
	    default up to 1000

2010-10-17 Kevin Kroeninger 
	* template fitter: bug fix: missing Initionalization and mode finding added.

2010-10-16 Daniel Kollar 
	* updated installation instructions for Cuba

2010-10-16 Daniel Kollar 
	* BCSummaryTool:
	  - move initialization of the model to BCSummaryPriorModel::SetModel()
	  - allow retrieving of pointer to BCSummaryPriorModel from BCSummaryTool

2010-10-16 Daniel Kollar 
	* configure:
	  - changed configuration with cuba, added possibility
	    to explicitly compile without cuba, added options
		 to separately specify path to cuba.h and libcuba.a
	* fast fitters:
	  - removed implementation of LogAPrioriProbability() as
	    it was impossible to use SetPrior() methods

2010-08-19 Frederik Beaujean 
	* introduction.tex: how to change nbins. Allen needed this.

2010-10-02 Kevin Kroeninger 
	* BCIntegrate.cxx: Updated Cuba interface.

2010-10-01 Kevin Kroeninger 
	* BCModel.cxx: added normalization to summary output

2010-08-31 Daniel Kollar 
	* Performance test suite:
	  - changed html colors