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

2010-08-19 Daniel Kollar 
	* final version 0.4

2010-08-19 Frederik Beaujean 
	* BCIntegrate: bugfix to FindModeMCMC, simply crashed due to
	  unhandled exception before
	* CreateProject.sh: Minor polishing 

2010-08-19 Daniel Kollar 
	* updated CREDITS file

2010-08-19 Daniel Kollar 
	* small update in the release notes
	* examples/advanced/roointerface:
	  - bugfixes, updates and cleanup (obo Stefan Schmitz)
	  - added a paragraph about BATCalculator to README (obo Stefan Schmitz)
	  - further updates and cleanup
	* updated examples/README
	* 0.4 release candidate 1 (.rc1)

2010-08-18 Frederik Beaujean 
	* examples/advanced/polynomialfit:
	  - bugfix: fix both uncertainties
	  - now p-values are reasonable
	* releasenotes:
	  - comments about p-values

2010-08-18 Daniel Kollar 
	* don't include configured Makefiles in examples into the distribution

2010-08-18 Daniel Kollar 
	* examples/advanced/roointerface:
	  - Makefile now setup in the configuration
	  - small bugfix in the runRooInterface.cxx
	* updated comments in Makefiles of all examples

2010-08-17 Daniel Kollar 
	* another small update to releasenotes.txt

2010-08-17 Daniel Kollar 
	* updated releasenotes.txt

2010-08-17 Daniel Kollar 
	* fixed .rootmap file for BATCalculator
	* small adjustment in the BATCalculator example
	* increased version to 0.4.pre11

2010-08-17 Daniel Kollar 
	* updated INSTALL file
	* updated installation instructions in the introduction to BAT
	* increased version to 0.4.pre10

2010-08-11 Frederik Beaujean 
	* BCHistogramFitter: fixed bug in DrawFit(). Now doesn't crash if fit
	  has not been performed yet.
	* readme.devel: warning about trouble with reinstalling BAT
	* BCH1D: drawing of legend improved for several plots on one page

2010-08-11 Frederik Beaujean 
	* BCHistogramFitter: fixed bug in fast p-value calculation which gave non-sense p-values
	* todo, plans: more work for me in the future
	* introduction: minor update

2010-08-05 Kevin Kroeninger 
	* added todo/plans.txt which contains short to long term plans and ideas

2010-08-05 Kevin Kroeninger 
	* introduction: added sentence on how to get random number generator from BCEngineMCMC.

2010-08-05 Kevin Kroeninger 
	* BCEngineMCMC and BCIntegrate:
	  - removed fMCMCRandom3. Now we have one TRandom3 object which is defined
	    in BCEngineMCMC and can be obtained from there. 

2010-08-03 Kevin Kroeninger 
	* all .h and .cxx files: updated Copyright information (2008-2010)

2010-08-03 Kevin Kroeninger 
	* PerfTestSuite: changed a parameter in Cauchy example
	* PerfTestSuite: delete memory at deletion of objects

2010-08-02 Kevin Kroeninger 
	* Modified existing examples and CreateProject.sh: added a "-" before the include link.d
	* Updated todo list

2010-08-02 Daniel Kollar 
	* further updates in the todo list

2010-08-02 Daniel Kollar 
	* BCEngineMCMC:
	  - added interface to current chain index
	  - minor code cleanup
	* incremented library version for libBAT.so
	* reset library version for libBATmodels.so
	* updated todo list
	* increased version to 0.4.pre9

2010-08-02 Kevin Kroeninger 
	* BCEngineMCMC.cxx: bug fix, log probability was not written to the tree.

2010-08-02 Kevin Kroeninger 
	* Updated todo list

2010-07-31 Daniel Kollar 
	* introduction.tex:
	  - updated the names of the branches in MCMC trees

2010-07-31 Daniel Kollar 
	* BCModelOutput:
	  - moved initialization of SA tree to BCIntegrate
	* BCIntegrate:
	  - removed all GetP2...() methods which are not needed anymore
	* BCEngineMCMC:
	  - removed the leading "f" from names of all branches
	  - renamed Probability to LogProbability

2010-07-29 Daniel Kollar 
	* BCModelOutput:
	  - moved initialization of MCMC trees to BCEngineMCMC
	  - renamed fLogLokelihood to fProbability since that's what it is
	    (well actually it's LogProbability so maybe we'll have to rename again :))
	* BCEngineMCMC:
	  - removed all MCMCGetP2...() methods which are not needed anymore
	* will do the same with SA tree
	* some code cleanup

2010-07-29 Daniel Kollar 
	* rename examples/basic/RootOutput to rootOutput
	* setup Makefile of rootOutput example via configure

2010-07-27 Kevin Kroeninger 
	* added autoconfig Makefile to expert example

2010-07-27 Kevin Kroeninger 
	* doc/todo/todo.txt: updated todo list.

2010-07-27 Kevin Kroeninger 
	* examples: added first expert example for changing the trial function.
	* doc/introduction: updated the introduction.

2010-07-27 Kevin Kroeninger 
	* BCIntegrate: Set writing of prerun to ROOT file by default
	* BCEngineMCMC: Minor change in output criterion for TTree filling.
	* examples: added an example showing how to store the MCMC in a file
	* doc/introduction: updated introduction (added description of ROOT output)

2010-07-27 Kevin Kroeninger 
	* doc/introduction: updated introduction.

2010-07-22 Kevin Kroeninger 
	* models/BCTemplateFitter.cxx: fix bug in definition of ranges for ratios

2010-07-22 Kevin Kroeninger 
	* PerfTestSuite: chose better ranges for some of the functions

2010-07-22 Kevin Kroeninger 
	* BCEngineMCMC.cxx: quick fix of the iteration counter

2010-07-21 Kevin Kroeninger 
	* PerfTestSuite: re-defined precision (match with BCEngineMCMC).

2010-07-21 Kevin Kroeninger 
	* updated README in examples

2010-07-21 Kevin Kroeninger 
	* templatefitter: updated hypothesis test example

2010-07-21 Kevin Kroeninger 
	* templatefitter: updated 0nubb example

2010-07-21 Kevin Kroeninger 
	* templatefitter: updated ensembletest macro in the Whel example
	* BCTemplateEnsembleTest : set the MCMC flag to false by default

2010-07-21 Kevin Kroeninger 
	* examples: added more README files
	* templatefitter: modified Whel example

2010-07-21 Daniel Kollar 
	* updated release notes

2010-07-21 Daniel Kollar 
	* updates in the INSTALL file

2010-07-21 Daniel Kollar 
	* BCEngineMCMC:
	  - renamed kUltraHigh to kVeryHigh
	* updated release notes

2010-07-21 Daniel Kollar 
	* updated tools/map_solibs.sh
	* fixed libBATmodels.rootmap
	* BCIntegrate: added forgotten return statement in ResetResults()
	* increased version to 0.4.pre8

2010-07-21 Kevin Kroeninger 
	* BCEngineMCMC.cxx: fixed inconsistency of counters

2010-07-20 Kevin Kroeninger 
	* Added comments to examples/basic/errorpropagation
	* Added comments to examples/basic/binomial
	* Added comments to examples/basic/efficiencyFitter

2010-07-20 Daniel Kollar 
	* examples/advanced/polynomialfit:
	  - Makefiles are set up during cBAT configuration and use
	    BATINSTALLDIR
	  - updated README files for the compilation instructions

2010-07-20 Daniel Kollar 
	* examples/basic:
	  - Makefiles are set up during cBAT configuration and use
	    BATINSTALLDIR
	  - updated README files for the compilation instructions

2010-07-20 Daniel Kollar 
	* use BATINSTALLDIR in the Makefile created by CreateProject.sh
	* Makefile of examples/basic/binary now set up during configure
	  and uses BATINSTALLDIR

2010-07-20 Daniel Kollar 
	* configure:
	  - print ROOT version number if insufficient
	  - BCRooInterface needs ROOT 5.27.04 or later
	* BCRooInterface:
	  - support for ModelConfig
	  - improved constructor for BATCalculator and BCRooInterface
	  - added example macro running BATCalculator
	  - code formatting
	* BCEngineMCMC updated printouts
	* increased version to 0.4.pre7

2010-07-19 Kevin Kroeninger 
	* Added comments to examples/basic/poisson and examples/basic/binomial

2010-07-19 Kevin Kroeninger 
	* BCModel.cxx: reset results when adding a parameter.

2010-07-19 Kevin Kroeninger 
	* Updated documentation of examples

2010-07-19 Kevin Kroeninger 
	* Added methods to reset results. Done for BCEngineMCMC,
	  BCIntegrate and BCModel.

2010-07-19 Kevin Kroeninger 
	* Further reorganization of the examples.

2010-07-19 Daniel Kollar 
	* reorganize the examples

2010-07-19 Kevin Kroeninger 
	* Small fix in error propagation example.

2010-07-16 Kevin Kroeninger 
	* Added a simple example for combining two quantities to the
	  examples

2010-07-16 Kevin Kroeninger 
	* Added a simple example for error propagation to the examples

2010-07-16 Kevin Kroeninger 
	* Added a simple binomial example to the examples

2010-07-15 Kevin Kroeninger 
	* BCModel.cxx: Added a function to re-set parameter ranges

2010-07-15 Kevin Kroeninger 
	* BCEngineMCMC.cxx: added "UltraHigh" precision pre-setting option.
	* Added a simple Poisson example to the examples

2010-07-15 Kevin Kroeninger 
	* BCEngineMCMC.cxx: fixed the summary of the number of iterations.

2010-07-14 Daniel Kollar 
	* updates in BATCalculator (obo Stefan Schmitz)

2010-07-09 Daniel Kollar 
	* added forgotten file to the distribution
	* increased version to 0.4.pre6

2010-07-09 Kevin Kroeninger 
	* PerfTestSuite: added tests with varying parameters

2010-07-09 Daniel Kollar 
	* increased version to 0.4.pre5

2010-07-09 Daniel Kollar 
	* BCModel:
	  - abort marginalization, normalization and mode finding
	    if no parameters are defined
	* small update in CreateProject.sh.in

2010-07-08 Daniel Kollar 
	* updated
	  - releasenotes.txt
	  - CREDITS
	  - INSTALL
	  - README

2010-07-08 Daniel Kollar 
	* added forgotten dist-hook for the new CreateProject.sh.in

2010-07-08 Daniel Kollar 
	* CreateProject.sh:
	  - bugfixes in generated source code
	  - now generated according to the BAT setup during ./configure
	* fixed linking with RooStats

2010-07-08 Daniel Kollar 
	* added BATCalculator (obo Gregory Schott and Stefan Schmitz)
	* increased version to 0.4.pre4

2010-07-08 Kevin Kroeninger 
	* BCEngineMCMC:
	  - re-implemented warning if convergence was never checked.
	  - add method to get the current iteration number
	* introduction: added comment on the method MCMCSetPrecision.
	* CreateProject.sh: updated script.

2010-07-08 Daniel Kollar 
	* BCEngineMCMC:
	  - checking convergence npar*1000, was (npar+1)*1000 before

2010-07-08 Daniel Kollar 
	* BCEngineMCMC:
	  - added MCMCCurrentPointInterface() method which is called for each
	    newly generated point after we know whether it is accepted or not

2010-07-08 Daniel Kollar 
	* added automake macro HAS_ROOSTATS to check whether ROOT is compiled
	  with RooFit/RooStats support
	* new version of BCRooInterface
	* removed BATCalculator stuff from models/Makefile.am since it is
	  not yet in the SVN

2010-07-08 Daniel Kollar 
	* BCEngineMCMC:
	  - change MCMCTrialFunctionSingle() to return double, i.e., the proposal
	    point in a single dimension
	  - putting back the original check on limit of updating the convergence
	    and efficiencies

2010-07-05 Kevin Kroeninger 
	* BCEngineMCMC.cxx : make use of MCMCTrialFunctionSingle in MCMCTrialFunction
	* Updated todo list
	* Removed doc/todo/todo_detail.txt
	* PerfTestSuite: Updated test suite and include auto-correlation.

2010-07-01 Daniel Kollar 
	* updated release notes

2010-07-01 Frederik Beaujean 
	* Updated introduction: prior definition and caching
	* PerfTestSuite:
	  - Added mathematica notebook BATquantiles.nb which calculates 
	    distribution of mode and quantiles for 1D tests

2010-06-25 Kevin Kroeninger 
	* Updated introduction: added BCSummaryTool and BCTemplateFitter
	* BCEngineMCMC: Added method to set precision

2010-06-24 Frederik Beaujean 
	* BCH1D: improved legend drawing

2010-06-15 Kevin Kroeninger 
	* Updated CombinationModel.
	* Updated PerfTestSuite.

2010-06-15 Daniel Kollar 
	* version 0.4.pre3

2010-06-14 Frederik Beaujean 
	* BCH1D: draw legend to explain mean, mode... symbols
	* todo: checked off legend
	* BCMath: extra safety check

2010-06-14 Kevin Kroeninger 
	* Updated to-do list.
	* Bug fix in CombinationTool.

2010-06-10 Kevin Kroeninger 
	* CombinationTool: added analysis of systematics separately

2010-06-08 Kevin Kroeninger 
	* CombinationTool: minor fixes
	* PerfTestSuite: minor modification to uncertainties of quantiles and mode

2010-06-07 Kevin Kroeninger 
	* PerfTestSuite: added uncertainty for mode and quantiles

2010-06-07 Frederik Beaujean 
	* Update todo list

2010-06-03 Kevin Kroeninger 
	* Update todo list.
	* PerfTestSuite: added Kolmogorov-Smirnov test to 1D distributions, 
	* PerfTestSuite: added variance subtest to 1D distributions.
	* PerfTestSuite: added link to log file to html output

2010-06-03 Kevin Kroeninger 
	* PerfTestSuite: further work

2010-06-02 Kevin Kroeninger 
	* PerfTestSuite: further work

2010-06-01 Kevin Kroeninger 
	* PerfTestSuite: add tests for 2-d histograms.

2010-05-31 Kevin Kroeninger 
	* PerfTestSuite: minor modifications of html output

2010-05-27 Kevin Kroeninger 
	* Added new version of test suite to benchmark.

2010-04-25 Frederik Beaujean 
	* BCModel:
	  - methods to set constant prior for individual and all parameters at once
	  - warnings if no prior is set for a parameter
	  - automatic caching of the value of the constant prior

2010-05-18 Daniel Kollar 
	* examples/simplecompiled:
	  - fixed likelihood calculation
	* examples/templatefitter:
	  - renamed macros to '.C'
	  - fixed includes
	  - cleanup makefiles
	  - print hint to run CreateHistograms.C if file with histograms not found
	* benchmarks/mcmc:
	  - add 1D function '2 separated gaussians'
	  - add 2D function '2 separated gaussians'

2010-05-25 Kevin Kroeninger 
	* BCEngineMCMC: fill histograms not in loop for ordered parameters
	* benchmarks/mcmc:
	  - fixed bug (repeated declaration of some variables)
	  - added minus sign for for "include link.d"

2010-05-18 Kevin Kroeninger 
	* Tested setting of single prior
	* BCSummaryTool.cxx: set labels of correlation plot to 
	  parameter number instead of name.
	* Updated to do list

2010-05-18 Daniel Kollar 
	* BCModel:
	  - GetChi2Runs() returns empty vector
	* BCH1D:
	  - fix bug in drawing lower limit
	  - change allowed range from 68-100 to 0-100

2010-05-18 Kevin Kroeninger 
	* work on combination tool
	* update todo-list
	* started updating introduction.tex and added Makefile

2010-05-17 Kevin Kroeninger 
	* BCEngineMCMC.cxx: included convergence of posterior again
	* BCEngineMCMC.cxx: bug fix on convergence check
	* BCEngineMCMC.cxx: renaming of methods and variables for statistics
	* BCEngineMCMC.cxx: removed burn-in
	* BCEngineMCMC.cxx: added 'cycle' and 'phase' to MCMC. This can be
	  used to analyze the MCMC chain afterwards
	* Minor fixes

2010-05-10 Frederik Beaujean 
	* BCMath, BCModel:
	  - Updated inline documentation
	  - methods to compute runs statistics
	* CreateProject.sh: fixed typo

2010-05-07 Kevin Kroeninger 
	* BCEngineMCMC.cxx: removed convergence criterion for log likelihood.
	  this fixes two problems: flat functions and fixed parameters converge.
	* Updated todo list.

2010-05-06 Kevin Kroeninger 
	* Updated todo list

2010-05-03 Frederik Beaujean 
	* More points in release to do list

2010-04-30 Kevin Kroeninger 
	* Work on CombinationTool.

2010-04-29 Kevin Kroeninger 
	* Work on CombinationTool.

2010-04-27 Daniel Kollar 
	* code formatting

2010-04-27 Kevin Kroeninger 
	* Added directory doc/todo and file with todo list for rel. 0.4.0
	* Minor modifications to CombinationModel.
	* Modified results output
	* Code clean-up.

2010-04-23 Kevin Kroeninger 
	* Work on CombinationTool.
	* Update documentation of templatefitter examples.
	* Update of example on efficiencyfitter
	* Minor bug-fix in BCTemplateFitter and modification in corresponding example.

2010-04-22 Kevin Kroeninger 
	* Removed names in the declaration of methods to suppress warnings when using compiled ROOT scripts.
	* BCModel: if no prior is defined by the user, a flat prior with proper normalization is used.
	* CombinationTool: further work on CombinationTool.

2010-04-20 Kevin Kroeninger 
	* BCModel: Added priors for individual parameters
	* BCSummaryTool: Included vector.h (bug fix)
	* extras: added first draft of combination tool

2010-04-20 Daniel Kollar 
	* BCModel:
	  - put back the removed body of GetBestFitParametersMarginalized()

2010-04-19 Daniel Kollar 
	* renamed example05 to simplecompiled

2010-04-19 Daniel Kollar 
	* BCModel:
	  - errors on mode are negative if unavailable
	  - errors on mode are not printed for SA and MCMC
	  - fix return values for mode and its error in no mode finding was run
	* code formating
	* reorganized fast fitter examples
	* version 0.4.pre2

2010-04-16 Daniel Kollar 
	* removed obsolete directories:
	  extras/TemplateTool
	  extras/StackTool
	  development
	* moved todo_detailed.txt to doc
	* renamed examples/template to examples/templatefitter
	* updated examples/README
	* small updates in examples/templatefitter/README
	  - will need more changes before the release

2010-04-15 Daniel Kollar 
	* fixes to building with cuba support on MAC OS X

2010-04-14 Kevin Kroeninger 
	* BCTemplateFitter: minor bug fixes.
	* Added examples for template fitting.

2010-04-13 Daniel Kollar 
	* added BCTemplateFitter and BCTemplateEnsambleTest to models

2010-04-13 Daniel Kollar 
	* renamed BCSPriorModel to BCSummaryPriorModel
	* added -lBATmodels to CreateProject.sh

2010-04-13 Kevin Kroeninger 
	* TemplateTool: cleaned up some examples, TemplateModelManager is not needed anymore.

2010-04-11 Frederik Beaujean 
	* BCHistogramFitter:
	  - fixed numerical conversion compiler warning

2010-04-11 Kevin Kroeninger 
	* Added TemplateTool to directory extras

2010-04-08 Daniel Kollar 
	* large reorganization of the package
	* building second library libBATmodels.so
	  - moved fast fitters here
	  - moved BCRooInterface here
	* BCRooInterface now optionally built with BAT
	  - added examples/roointerface
	* moved BinLikeTool and StackTool to new directory 'extras'
	* SummaryTool now moved to main BAT
	  - 2 new classes BCSummaryTool and BCSPriorModel
	  - fixed typos and memory leaks
	  - cleanup
	* example03 now uses SummaryTool
	* increased version to 0.4.pre1

2010-03-23 Daniel Kollar 
	* models/SummaryTool:
	  - building ROOT CINT dictionary to allow using in root
	    interactive session
	  - fixed typos in legends in parameter summary plot
	  - moved the axis tick labels to top for correlation plot
	    to more resemble a matrix
	  - fixed some style issues for plots
	* benchmarks/mcmc:
	  - adjusted Cauchy test function to correct the performance test

2010-02-15 Kevin Kroeninger 
	* SummaryTool: edited README file, some minor modifications

2010-02-12 Frederik Beaujean 
	* BCMath:
	  - included two methods needed for runs p value
	* benchmarks/pValue:
	  - added a test suite, from the template for nBat, to
	    to check the above methods

2010-02-12 Kevin Kroeninger 
	* StackModel: minor modification to the Makefile
	* SummaryTool: clean-up to prepare for web-page

2010-02-11 Kevin Kroeninger 
	* StackModel: added user-defined ranges for fractions.

2010-02-10 Frederik Beaujean 
	* BCModel:
	  - bug fixes in  Kolmogorov p value
	* BCMath:
	  - bug fix in ECDF

2010-02-10 Kevin Kroeninger 
	* Included output of fractions to ensemble test in StackModel.

2010-02-09 Daniel Kollar 
	* BCDataPoint:
	  - fix another warning printout
	  - printout update

2010-02-09 Frederik Beaujean 
	* BCDataSet:
	  - included Get method to return the ith component of each datapoint
	* BCDataPoint:
	  - small fix to warning output
	* BCHistogramFitter:
	  - set the error to zero
	* BCModel:
	  - new Kolmogorov p value
	* BCMath:
	  - update comment

2010-02-05 Kevin Kroeninger 
	* Updated documentation of StackModel.

2010-02-04 Frederik Beaujean 
	* BCMath:
	  - included function to create the ECDF from 1D data vector
	* BCHistogramFitter:
	  - initialize data points with histogram lower edges

2010-02-04 Kevin Kroeninger 
	* Cleaned up StackModel.
	* Added subdirectories to StackModel. 
	* Added flag for unphysical parameter ranges to StackModel.
	* StackModel ready for release.

2010-02-03 Frederik Beaujean 
	* BCGraphFitter::CDF:
	  - fixed declaration
	* BCHistogramFitter:
	  - added methods to compute histogram of expected counts from model
	  - added Kolmogorov test

2010-02-02 Kevin Kroeninger 
	* Added Gerda example to StackTool.

2010-02-01 Kevin Kroeninger 
	* Small bug fix in SummaryTool.
	* Small bug fix in StackTool.
	* Added constrained sums to StackTool.

2010-01-30 Kevin Kroeninger 
	* Added ensemble test tool to StackTool.

2010-01-29 Kevin Kroeninger 
	* Added efficiencies for templates in StackTool.

2010-01-26 Kevin Kroeninger 
	* Added prior for templates and an example to StackTool.

2010-01-25 Kevin Kroeninger 
	* Minor fixes in BinLikeTool.
	* Minor fix in SummaryTool.