next up previous contents
Next: Environment variables used by Up: Binary Inspiral Search on Previous: Function: receiver2()   Contents

Example: binary_search program

This program was used to filter the November 1994 Caltech 40-meter data run in search of binary neutron star inspirals.

The program is a modified version of the multifilter program. The template bank used is stored in the file templates.ascii, which must be generated prior to running the program. Each line of templates.ascii contains the masses (separated by a space) of a template. (The file templates.ascii generated by make_mesh, section [*], may be used for this purpose.) The program also reads a file insert.ascii if binary inspirals are to be injected. (This file and the injection procedure is described below.) If injection occurs, the program logs the injections in the file insert.log. The output of the program is written in binary files in the directory set by the environment variable GRASP_MFOUT. The file signal.header contains a header file which describes the format of the binary files (including itself), the number of filters used and the filter parameters, the low frequency cutoff used in the filters, and the sampling rate of the IFO. The other files, signal.00000, signal.00001, etc., contain the output signals for each filter for the segments processed. (The number in the filename indicates the segment.) These files are read using the program binary_reader, described in Section [*].

At present, there are eight signals generated for each filter. These are:

  1. The distance, in Mpc, at which an optimally oriented inspiral would produce a signal-to-noise ratio of one. This describes the sensitivity of the instrument at that given time, and allows one to estimate the distance of a potential signal given its signal-to-noise ratio. An optimally-oriented inspiral is one for which the orbital plane of the inspiral is parallel to the orbital plane defined by the two arms of the detector.
  2. The maximum signal-to-noise ratio output by the filter for the data segment. The maximization is made over all possible filter-output offsets in the data segment, but a number of points PRESAFETY are omitted from the beginning of the segment and a number POSTSAFETY from the end.
  3. The maximum signal-to-noise ratio renormalized by a power correction factor. If the estimated power spectrum were wrong by some overall normalization constant, this corrected signal-to-noise ratio represents what would have been obtained if the ``correct'' power spectrum had been used.
  4. The maximum signal-to-noise ratio renormalized by a median correction factor. This factor is the ratio of the expected median of the signal-to-noise ratio distribution (for stationary Gaussian noise) to the median of the observed distribution (which is obtained from every fourth time offset in the time series within the pre- and post-safety margins).
  5. The ``impulse offset'': the offset at which the filter would peak if it were triggered by an impulse. For an inspiral waveform, this is roughly the offset of the waveform end (modulo the length of the data segment). Thus:
\mbox{impulse offset} = (\mbox{filter peak offset} + \mbox{filter length})
{\mathrm{mod}}\, (\mbox{segment length}).
\end{displaymath} (13.7.314)

    Alternatively with the macro COMPARE set to one, the filter peak offset can be recorded. The difference between the peak and impulse offsets is discussed in Section [*]. Filter peak offsets are recorded as negative integers so that the reader program can identify the offset as either the impulse offset or as the filter peak offset.
  6. The estimated initial phase of the potential inspiral waveform. The phase is

\mbox{phase} = \arctan(\mbox{$\pi/2$-phase coefficient},
\mbox{0-phase coefficient}).

  7. The value of the $r^2$ discriminant described above. This test is only applied if the signal-to-noise ratio exceeds a value of THRESHOLD; otherwise, the value of this signal is zero.
  8. The number of offsets in which the filter signal-to-noise ratio exceeded the threshold THRESHOLD.
In addition to these signals (which are given for each filter), each signal file also contains the time of the start of the data segment (in seconds since 0h 1 January 1970 UTC), and an integer which indicates whether the segment contains significant numbers of outliers. Note that (as described in Section [*]) these time-stamps have only a few minutes of accuracy. This is good enough to determine the relative orientation of the galaxy and the detector, in order to determine the expected rates of inspiral from galactic source distributions, but may not be good enough for pulsar searches.

The program is divided into the following files:

binary_params.h: a header file containing the parameter definitions
binary_string.h: a header file containing declarations for the strings *comment and *description
binary_search.c: the main code for analyzing the data and outputing an event list
binary_get_data.c: the routines used for data aquisition
binary_routines.c: extra miscellaneous routines (which will eventually be documented in the GRASP manual)
binary_params.ascii: the file binary_params.h, converted into strings, to be included into the string *description
Some of these files are described below.

Bruce Allen (, Patrick Brady (, Jolien Creighton (

next up previous contents
Next: Environment variables used by Up: Binary Inspiral Search on Previous: Function: receiver2()   Contents
Bruce Allen 2000-11-19