Coherent WaveBurst, a pipeline for unmodeled gravitational-wave data analysis

Coherent WaveBurst (cWB) is a software tool designed for detection of a broad range of gravitational-wave transients without prior knowledge of the signal waveform. The algorithmic core of cWB is a time-frequency analysis with the Wilson-Daubechies-Meyer wavelets aimed at the identiﬁcation of gravitational-wave events detected by networks of detectors. cWB has been in active development since 2003 [1, 2] and it is used to analyze data collected by the LIGO-Virgo detectors. On September 14, 2015 a low-latency cWB search detected the ﬁrst gravitational-wave event, GW150914, which is a merger of two black holes [3]. A public open-source version of cWB has been released with GPLv3 licence.

a b s t r a c t coherent WaveBurst (cWB) is a highly configurable pipeline designed to detect a broad range of gravitational-wave (GW) transients in the data of the worldwide network of GW detectors. The algorithmic core of cWB is a time-frequency analysis with the Wilson-Daubechies-Meyer wavelets aimed at the identification of GW events without prior knowledge of the signal waveform. cWB has been in active development since 2003 and it has been used to analyze all scientific data collected by the LIGO-Virgo detectors ever since. On September 14, 2015, the cWB low-latency search detected the first gravitational-wave event, GW150914, a merger of two black holes. In 2019, a public open-source version of cWB has been released with GPLv3 license.

Motivation and significance
The first direct detection of gravitational waves was accomplished by the LIGO-Virgo Collaboration in 2015, almost one century after the initial prediction by Albert Einstein [1]. On September 14, 2015, at 09:50:45 UTC, the low-latency instance of coherent WaveBurst (cWB) [2][3][4][5][6][7], an unmodeled search pipeline for the prompt detection of generic gravitational-waves (GWs), identified and reconstructed a chirping signal (see also Fig. 2) in the data from the first observing run of the advanced LIGO detectors located in Hanford (WA) and Livingston (LA) 1 and reported it within three minutes of data acquisition [8]. Follow-up analyses by the LIGO-Virgo Collaboration established that the signal (later named GW150914) was consistent with the merger of a binary black hole (BBH). This historic detection was achieved thanks to the extreme sensitivity of the advanced GW detectors and the sophisticated signal-processing methods used to separate signals from noise and all the remaining systematics, such as those implemented within cWB. The cWB pipeline is designed to detect a wide class of gravitational-wave signals and reconstruct their waveforms with minimal assumptions on the source model. It also extracts additional properties such as bandwidth, duration, sky location, and polarization state. cWB searches for GWs both in low-latency mode (with a latency of few minutes) and offline. The low-latency reconstructed sky location [9,10] can be promptly shared with the partner observatories [11] which search for coincident electromagnetic counterparts. As an example of an offline analysis, cWB has been used for targeted searches for core-collapse supernovae (CCSNe) [12][13][14][15][16] -one of the next most anticipated GW sources, and one of the highest priority tasks for GW detectors. cWB is also well suited for the detection of compact binary coalescences (CBC): CBC sources formed from combinations of neutron stars (NS) and black holes (BH), are among the most efficient emitters of gravitational waves, and when observed in conjunction with electromagnetic or neutrino signals yield important astrophysical insights [17][18][19][20][21]. The cWB algorithms are robust with respect to a variety of CBC features including higher multipoles, high mass ratios, misaligned spins, eccentric orbits and possible deviations from general relativity, that may create mismatches between signal waveforms and simulated CBC templates. Recently, cWB played a significant role both in the identification of higher multipoles for GW190814, an event associated with the coalescence of a binary system with the most unequal mass ratio yet measured with gravitational waves [22] and in the detection of GW190521, the most massive and most distant black hole merger yet observed in gravitational waves, the first direct detection of an intermediate-mass black hole binary [23]. 1 The advanced Virgo interferometer in Cascina, Italy joined the GW network later on, in 2017.

Software description
The goal of cWB is to identify coherent GW transients on a network of GW detectors with minimal assumptions on signal morphology. First, as shown in Fig. 1, data streams from all detector are conditioned with a regression algorithm [24] which identifies and removes persistent lines and noise artifacts; next, data are converted to the time-frequency (TF) domain with the Wilson-Daubechies-Meyer (WDM) wavelet transform, which has very good localization properties, both in time and frequency [25]. The data are then whitened and those pixels whose energy is larger then a given threshold are retained for further analysis (see, e.g., Fig. 3). The selected TF pixels from all detectors are combined in a constrained likelihood function that depends on the source sky position and takes into account the corresponding antenna patterns of the interferometers and time delays between interferometer pairs: after maximizing the constrained likelihood, a candidate event is identified when a specific measure of signal coherence, calculated on the ensemble of the selected TF pixels, exceeds a predetermined threshold [5,26,27].

Software architecture
The core computational tasks are all performed by a specialized C++ library, the Wavelet Analysis Tool (WAT) library, and are embedded within the CERN ROOT data-analysis framework [28,29]. ROOT classes are also used as building blocks for data processing (e.g. I/O), data analysis (e.g. post-production statistical analysis), and visualization. ROOT-derived classes and cWB classes are also accessible via CLING, the ROOT just-intime interpreter [30], and can be used with a C++ interactive shell or within ROOT C++ macros. Python scripts are used for the most crucial tasks of cWB low-latency analysis, such as, for example, the trigger uploading to GraceDB (Gravitational-wave Candidate Event Database) [31], which is a web service that provides early-warning information about candidate events. cWB is built with the Frame Library [32] to access data frames (the standard format for LIGO-Virgo data) and usually with support for skymap grids via HEALPix [33], for the astronomical data format FITS [34] and for GW waveforms through the LALsuite library [35].
In order to quickly adapt to the new needs that arise with the growing theoretical and experimental understanding of GWs, cWB is complemented by a large set of user-selectable options and by the possibility for the user to execute custom plugins which can be called at different stages of the pipeline.

Software functionalities
The user can steer the pipeline behavior by setting parameter values in two distinct configuration files, one for the production stage and the other for the post-production stage, as indicated in the functional diagram in Fig. 1. The production configuration During PRE-PRODUCTION the pipeline initializes by reading the production configuration file which specifies the parameters that steer production. It also reads the frame files, which contain strain and other data, and veto files which mark those time intervals that must be excluded from analysis because of low data quality. User plugins that contain user-defined code to carry out targeted analyses are also loaded in this stage. Next, during PRODUCTION, the pipeline searches for triggers, and when one is found it reconstructs the gravitational waveform. In the POST-PRODUCTION stage, events are selected according to conditions specified in the initialization files and veto files, and finally, the pipeline outputs a report in the form of a properly formatted web page. file selects the interferometers (up to 8 detectors from a list of existing, possible future or custom interferometers) and the time segments to be included in the analysis, the parameters that regulate signal conditioning, etc. A full list of all production stage parameters is available in the online documentation of cWB [36]. The production configuration file may also specify user-defined plugins, i.e. C++ code that can be called by cWB at different stages of the analysis. Using plugins, the user can customize the analysis without directly modifying cWB source code [37]. The post-production configuration file specifies further selections to be applied to web reports. The complete description of post-production parameter is also available in the online documentation [38].
Finally, cWB evaluates the accidental noise background by repeating each search several thousands of times on time-shifted data, and it injects specific waveforms in background data to estimate the statistical fluctuations of the reconstruction process. For each reconstructed event, cWB estimates a large set of parameters and test statistics and can optionally produce a Coherent Event Display (CED), the summary web page for the event. It consists of a number of sections, with each section showing plots on different aspects of the reconstruction [39].
All in all, cWB is quite efficient in carrying out its tasks. For example, a job that estimates the equivalent of 1 year of background noise for a BBH search on a two-detector network and runs on a single-core modern CPU takes approximately 6 h. Parallelization is easy to achieve by splitting data into shorter time segments and by assigning them to separate jobs that replicate the same analysis. Therefore, a larger analysis like a background estimate over thousands of years of time-lagged data can be completed in a matter of hours on the Caltech LIGO HPC cluster [40] where it can be run concurrently over thousands of cores. As far as memory allocation is concerned, the standard cWB setup requires about 1.5 GByte per core. A three-detector network brings about only a moderate increase in memory allocation, while runtime becomes approximately three times as large with respect to the two-detector network, because of the increased complexity of the analysis.

Illustrative examples
The easiest way to test cWB functionalities is to install it as an image in a virtual environment: cWB images are available both for VirtualBox [41] and Docker [42]. Full instructions on how to get the latest cWB images and run cWB are given in the cWB User Manual FAQs [7]

The GW150914 example: cWB waveform reconstruction
By using the command cwb_gwosc [43], it is straightforward to reproduce the full analysis of GW150914, the first detected GW event. The command loads GW data available from the Gravitational Wave Open Science Center (GWOSC) [44], which includes the original raw data, the power spectral densities (PSDs), and the parameter-estimation (PE) posteriors samples for all GW detections. The command line to execute for the GW150914 event is cwb_gwosc GW=GW150914 all which downloads GW data from GWOSC, sets up a working directory with all default settings, runs the analysis 2 and finally produces a CED 3 [45]. Fig. 2 (left) shows the multi-resolution TF map for the cWB reconstruction of GW150914.

cWB reconstruction on simulated data
The posterior samples made available at GWOSC can be injected into simulated noise and reconstructed by cWB in order to estimate the variability of the reconstruction process for GW150914. The cwb_gwosc command is used to perform this analysis:

cwb_gwosc GW=GW150914 SIM=true all
This instruction downloads the noise power spectral density (PSD) and a set of posterior samples for GW150914. Next, the PSDs are used to simulate a colored Gaussian stationary noise and a random sample waveform is added to the data. Finally, cWB runs as in the previous example and reports the results on a CED. Fig. 2 (right) shows a comparison between injected and reconstructed waveforms in the frequency domain.

cWB WDM transform on GW data and TF pixel selection
The intermediate steps of the cWB analysis can be visualized with the cwb_inet2G command with plenty of options [46]. This is demonstrated for the pixel selection step of the example in Section 3.1 by running the following commands: cwb_inet2G config/user_parameters CSTRAIN 1 '-tool wdm --ifo H1 --type white --draw true' cwb_inet2G config/user_parameters SUPERCLUSTER 1 '--tool sparse --ifo H1 --type supercluster --draw true --mode 2' 2 Execution time is ≈ 2 min on a commercial Intel i7 CPU laptop (≈ +10% on docker), excluding the initial GW data download. 3 The CED can be visualized directly by replacing the command option all with xced.
Various plots are created as interactive objects and sorted within the ROOT browser (as described in the documentation [7]); among those some TF plots (properly zoomed in time and frequency) have been selected to be shown in Fig. 3

Impact
For more than a decade, coherent WaveBurst has been used for the analysis of GW data and for the production of scientific results, such as the all-sky searches for burst signals targeting a wide class of generic bursts [47,48]. The cWB pipeline has also contributed to the detection and analysis of binary black hole events published in the LIGO-Virgo Catalogs [49,50] and to the LIGO-Virgo electromagnetic follow-up program [51]. Dedicated cWB searches for the intermediate-mass black hole binaries were also conducted, which set stringent limits approaching interesting astrophysical rates [52,53].
Most importantly, cWB boosted exceptional discoveries, like the first detection of gravitational waves from a merger of two black holes. cWB was the first LIGO algorithm to report the event with low latency. The results of the cWB analysis were published in the GW150914 discovery paper [8]. cWB contribution has been acknowledged in the official description [54] of the 2017 Nobel prize in physics awarded to Rainer Weiss, Barry C. Barish and Kip S. Thorne. The broader impact of cWB has been highlighted also by Prof. Yves Meyer, the recipient of 2017 Abel Prize, who acknowledged the cWB wavelet analysis in his prize lecture ''Detection of gravitational waves and time-frequency wavelets'' at the University of Oslo on May 24, 2017 [55]. More recently, cWB played a key role in the detection of the first intermediate-mass black hole [23], as briefly mentioned in Section 1.
Although cWB has been designed with gravitational data analysis in mind, it integrates search&reconstruction techniques for low SNR signals in the audio-band that may find useful applications in other fields, such as, for example, in the field of sound pattern recognition.

Conclusions
The cWB pipeline has some distinctive strengths: it is fast and efficient, it is highly flexible, and it is extensible -both with specific plugins and, e.g. with the use of machine learning algorithms for recognition of patterns in the TF maps. It is ready to analyze data from larger (future) GW networks: networks composed of up to 8 detectors, chosen among the defaults or directly defined are allowed. These strengths may be crucial in view of the planned upgrades to GW observatories [56], which shall bring about increased sensitivities with correspondingly higher event rates: we expect cWB to play a key role in both low-latency and offline analysis.

Declaration of competing interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.