BayesWave Workflow

The BayesWave software has four main executables that are used in a typical run: BayesWave, BayesWavPost, bayeswave_pipe, and megaplot.py.

The code for BayesWave and the postprocessing script BayesWavePost are written in C. bayeswave_pipe and megaplot.py are utilities to help set up the BayesWave run and make plots and output webpages respectively.

The order of executables is:

bayeswave_pipe

This reads in a config file that contains information such as what data to look at, whether these are injections, and general run setting. This then sets up the BayesWave job(s) to be submitted to condor. This can produce a dag file for either a single event, or a batch of events. bayeswave_pipe uses the python module ConfigArgParse.

BayesWave

This is the main part of the code. This reads in detector data (real or simulated) and performs the RJMCMC. The main outputs of BayesWave are chain files.

BayesWavePost

Processes the raw chains output by BayesWave to make more human-readable outputs, such as posterior distributions on waveforms. BayesWavePost is not always required – for example for large batches of runs where only the Bayes factor is of interest it is not recommended to run BayesWavePost for every trigger to save both computing time and disk space. To skip this part, include --skip-post in the bayeswave_pipe call.

megaplot.py

Can only be run after BayesWavePost has been run. Uses the output of BayesWavePost to make plots and output webpages. Again, megaplot is not required for every run. If you are not planning on looking at the output webpages, there is no need to run megaplot. To skip this part, include --skip-megapy in the bayeswave_pipe call.

megasky.py

NOW DEFUNCT. For power users only: will make healpix maps of the sky position posteriors.