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.
Downloads
Our releases are hosted at our github page. This page is maintained to provide access to older files.
Urgency: high
Release date: 27.09.2013
Source code:
BAT-0.9.3.tar.gz
(888 kB)
reference guide
| installation instructions
| changelog
This version is intended as a pre-release for the stable BAT version 1.0. It contains many updates and improvements, a few fixes and several new features. The most important changes are summarized below.
New features:
- Parallel Metropolis algorithm using threads (default: off)
- Parameters can be fixed for any of the algorithms using BCParameter::Fix
- Better handling of algorithms via setters
- Added method to evaluate posterior probability on a grid (histogram)
- Marginalization defaults to grid in 1D and 2D, and Metropolis in higher dimensions
- Added method to get a slice in 1D and 2D of the posterior probability at a fixed point
- Added a model for multivariate Gaussian combinations (models/mvc) including examples
Improvements
- More plotting options and color schemes, default scheme updated
- Default plotting now into pdf files
- Full access to all Cuba methods
- All fitters now inherit from a base fitter model
- More p values use correction for degrees of freedom
- MTF models now include an estimation of MC stat. uncertainty
- Massive refactoring to simplify core of BAT
Fixes
- Proper rounding of integers in calculation of Poisson likelihood
- Removed buggy hit-or-miss integration algorithm
- Linking errors on ubuntu >= 12.04
- Constant priors respect fixed parameters
INTERFACE CHANGES
- Properties of individual parameters are now part of the BCParameter object
BCEngineMCMC::MCMCSetFlagFillHistograms => BCParameter::FillHistograms BCEngineMCMC::SetParameterRange => BCParameter::SetLimits BCModel::SetPriorDelta is now equivalent to BCParameter::Fix BCModel::SetNbins => BCParameter::SetNbins etc.
In user code this becomes#include
... mymodel.GetParameter(i)->SetLimits(1, 10); - The plotting scheme has been changed and provides many more options
BCH1D::Draw(int options, ovalue) => BCH1D::Draw(std::string options="BTciB1CS1D0pdf0Lmeanmode", std::vector
intervals=std::vector (0)) BCH2D:Draw(int options=0, bool drawmode=true) => BCH2D::Draw(std::string options="BTfB3CS1meangmodelmode", std::vector intervals=std::vector (0)) - Accessors to low-level details in BCEngineMCMC are removed or renamed
MCMCGetNTrialsFalse => MCMCGetNTrials
- Several unused methods in BCH2D were removed
std::vector
GetLevelBoundary(double level) std::vector GetLevelBoundary(TH2D * h, double level) TGraph * GetBandGraph(double level1, double level2) TGraph * GetBandGraph(TH2D * h , double level1, double level2) TGraph ** GetBandGraphs(TH2D * h, int &n) - Use standard min and max functions in BCMath
If you are upgrading from BAT version older that 0.9.2, please also read the release notes for the intermediate versions.
For detailed list of changes see the ChangeLog.
Older versions:
0.9.4.1 (bugfix)
0.9.4 (pre 1.0)
0.9.3 (pre 1.0)
0.9.2 (pre 1.0)
0.9.1 (pre 1.0)
0.9 (pre 1.0)
0.4.3 (dev)
0.4.2 (dev)
0.4.1 (dev)
0.4 (dev)
0.3.2 (dev)
0.3.1 (dev)
0.3 (dev)
0.2.1 (dev)
0.2 (dev)
0.1 (initial release)