Skip to content

bonventre/sxmc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Signal Extraction with MCMC

A GPU-accelerated fit program which calculates fully frequentist confidence intervals or limits, computing the likelihood space with a Markov Chain Monte Carlo.

Building

sxmc requires the following libraries:

It also uses hemi, which is included as a git submodule. After cloning sxmc, run:

$ git submodule init
$ git submodule update

sxmc runs much faster with the help of a CUDA-enabled GPU. To build with GPU support, set CUDA_ROOT to point to your installation of the CUDA tools:

$ CUDA_ROOT=/usr/local/cuda make

If no GPU is available, sxmc will simply loop instead of running things in parallel. To build without GPU support:

$ make

You still need to have the CUDA headers installed, but no libraries or hardware are required.

By default, sxmc is built in debug mode. For much higher performance when using GPU support, pass the OPTIMIZE=1 flag to make:

$ make OPTIMIZE=1

Documentation

The code is fully documented for Doxygen. To view HTML documentation online, see here. To build HTML and LaTeX documentation yourself, run

$ make doc

The output is placed into the doc directory.

Usage

  1. Create HDF5 data files: The data used to build the PDFs is stored in a row- major array format in HDF5 files. The column labels are specified in the fit configuration file.

  2. Configure fit: Set up the fit parameters and signal PDFs using a JSON-format configuration file. An example is provided in config/.

  3. To calculate signal sensitivity, run: $ ./bin/sensitivity config/your_file.json

About

SNO+ sensitivity and signal extraction with a Markov Chain Monte Carlo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 72.6%
  • C 13.5%
  • Shell 7.3%
  • Python 6.6%