GetDist: a Python package for analysing Monte Carlo samples

Monte Carlo techniques, including MCMC and other methods, are widely used and generate sets of samples from a parameter space of interest that can be used to infer or plot quantities of interest. This note outlines methods used the Python GetDist package to calculate marginalized one and two dimensional densities using Kernel Density Estimation (KDE). Many Monte Carlo methods produce correlated and/or weighted samples, for example produced by MCMC, nested, or importance sampling, and there can be hard boundary priors. GetDist's baseline method consists of applying a linear boundary kernel, and then using multiplicative bias correction. The smoothing bandwidth is selected automatically following Botev et al., based on a mixture of heuristics and optimization results using the expected scaling with an effective number of samples (defined to account for MCMC correlations and weights). Two-dimensional KDE use an automatically-determined elliptical Gaussian kernel for correlated distributions. The package includes tools for producing a variety of publication-quality figures using a simple named-parameter interface, as well as a graphical user interface that can be used for interactive exploration. It can also calculate convergence diagnostics, produce tables of limits, and output in latex.