Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALInspiral 5.0.3.1-8a6b96f
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Template Bank Routines

Detailed Description

This is a module that generates a template bank to search for inspiralling and merging binaries consisting of neutron stars and/or black holes.

Template placement is based on the geometrical formalism [20] ,[19] .

A user calls either LALInspiralCreateCoarseBank(), to create a coarse bank, or LALInspiralCreateFineBank(), to create a fine bank, at specified minimal matches. LALInspiralCreateCoarseBank() first chooses templates along the \(\eta=1/4\) curve and then systematically lays a rectangular grid in the \(\tau_0-\tau_2\) plane, or \(\tau_0-\tau_3\) plane depending on user's choice.

If the metric on a (two-dimensional) signal manifold characterised by parameters \((x_0,x_1)\) is \(g_{ij}\) then the spacing between templates is given by

\begin{equation} dx_0 = \sqrt{ \frac{2(1 -MM)}{g_{00}} },\ \ dx_1 = \sqrt{ \frac{2(1 -MM)}{g_{11}} }. \end{equation}

Template Placement for Binary Inspiral Searches

Template placement is a problem of populating the binary parameter space (masses, spins, etc.) with as small a number of templates as possible, subject to the constraint that every signal that lies within the space has an overlap greater than or equal to a certain minimal match with at least one template in the grid. Past studies [21] ,[22] ,[19] have shown that this is most easily achieved by using the space of chirp-times to lay templates rather than the space of component masses.

Parameter space binary masses and corresponding chirp-times

this figure shows the parameter space binary masses and corresponding chirp-times. Chirp times are computed using an \(f_0\) of 40 Hz. Note that our parameter is specified by \(m_1, m_2 >m_\mathrm{min}\) and \(M=m_1+m_2 < M_\mathrm{max}\) rather than by \(m_\mathrm{min} < m_1,m_2 < m_\mathrm{max}.\) (We use capital \(M\) to denote the total mass and lower-case \(m\) to denote the component masses.) In the above example \(m_\mathrm{min} = 0.2 M_\odot\) and \(M_\mathrm{max} = 100 M_\odot.\)

The number of chirp times that one can define is determined by the post-Newtonian order one is working with. At the second post-Newtonian order (i.e. an approximation accurate to order \(v^4\)) [Note: we use units in which \(c=G=1;\) thus \(1M_\odot=4.92549095 \times 10^{-6}\)\ s] and for a binary consisting of two non-spinning compact objects in a quasi-circular orbit, there are four chirp-times \(\tau_k,\; k=0,\ 2,\ 3,\ 4,\) of which we can choose any two to characterize the binary:

\begin{equation} \tau_{0} = \frac{5M}{256 \eta v_{0}^{8}} \end{equation}

\begin{equation} \tau_{2} = \frac{5M}{192 \eta v_{0}^{6}} \left( \frac{743}{336} + \frac{11}{4} \eta \right) \end{equation}

\begin{equation} \tau_{3} = \frac{\pi M}{8 \eta v_{0}^{5}} \end{equation}

\begin{equation} \tau_{4} = \frac{5M}{128 \eta v_{0}^4} \left( \frac{3\,058\,673}{1\,016\,064} + \frac{5429}{1008} \eta + \frac{617}{144} \eta^{2} \right) \end{equation}

where \(m\) is the total mass of the binary, \(\eta=m_1m_2/m^2\) is the symmetric mass ratio and \(v_0 = (\pi m f_0)^{1/3}\) is a fiducial velocity parameter corresponding to a fiducial frequency \(f_0,\) usually chosen to be the lower frequency cutoff of the detector sensitivity.

This algorithm allows one to choose a coarse grid of templates either in the \(\tau_0-\tau_2\) or \(\tau_0-\tau_3\) space depending on the value of the enum CoordinateSpace, which can take one of two values: Tau0Tau2 or Tau0Tau3. The shape of the coordinate spaces for some interesting range of masses is shown in this figure. The important point to note in these figures is that the \(\eta=1/4\) curve spans from the minimum to the maximum value of the Newtonian chirp-time \(\tau_0.\) This feature will be used in the construction of the grid. Note that the minimum (maximum) value of the Newtonian chirp-time occurs when the two masses are equal and the total mass is a maximum (minimum).

Coarse Grid Algorithm : the square placement

The coarse grid algorithm used in this module is most economically described by the following main steps in the algorithm:

  1. Compute the minimum and maximum chirp-times corresponding to the search space: \((\tau_0^\mathrm{min}, \tau_0^\mathrm{max}),\) \((\tau_3^\mathrm{min}, \tau_3^\mathrm{max})\) (or \((\tau_2^\mathrm{min}, \tau_2^\mathrm{max})\) [Note: In what follows we will only mention \(\tau_3\); however, the algorithm is itself valid, and has been implemented, in the case of \((\tau_0,\tau_2)\) too.] )

  2. Choose a lattice of templates along the equal mass curve.

  3. Lay a rectangular grid in the rectangular region defined by the minimum and maximum values of the chirp-times and retain only if (a) the point lies in the parameter space, OR (b) one of the vertices defined by the rectangle lies in the parameter space. If, instead of choosing the templates as specified in (b), we accept every template whose span has a non-zero overlap with the parameter space, then we would generate too many spurious templates, especially in the low-mass region. This is because of the following reason: We have chosen to lay templates along the equal-mass curve and the parameter space is very thin for large values of \(\tau_0\) along this curve – the region where the ‘distance’ between the \(m_1=m_\mathrm{min}\) curve and the equal-mass curve is smaller than one minimal-match. By laying templates in a rectangular grid in the \(\tau_0-\tau_3\) space we would be encoutering templates in this region and just above the equal-mass curve none of whose vertices would be within the search space. By throwing away such templates there is no danger of creating any ‘holes’ in the parameter space. Indeed, criterion (b) will help in filling the holes below the \(m_1=m_\mathrm{min}\) curve that would be created by accepting templates that meet only criterion (a).

The algorithm begins by identifying the vertices at the boundary of the search space corresponding to the range of masses over which one intends to carry out a search. It first chooses a set of templates along the equal mass curve and then lays a rectangular lattice of templates in the rectangular region defined by \((\tau_0^\mathrm{min}, \tau_3^\mathrm{min}),\; (\tau_0^\mathrm{max}, \tau_3^\mathrm{min}),\) \((\tau_0^\mathrm{max}, \tau_3^\mathrm{max}),\) and \((\tau_0^\mathrm{min}, \tau_3^\mathrm{max}).\)

Parameters specifying a coarse grid

The algorithm takes as input the structure InspiralCoarseBankIn and returns a pointer to an array of type InspiralTemplateList and the number of elements in the array. InspiralCoarseBankIn is designed to provide the coarse bank algorithm with information about the search space such as the minimum mass of component stars, maximum total mass, etc., as well as other parameters not directly used by the coarse grid algorithm but are needed by inspiral wave generation algorithms. This is so that the coarse grid algorithm can correctly set the members of the InspiralTemplateList structure. In particular, the members of the InspiralCoarseBankIn structure used by the coarse grid algorithm are:

Additionally, the user may specify the fine bank minimal match mmFine, if LALInspiralCreateFineBank() is called. A fine bank can be created only around grid points where the metric is known.

Other members of the InspiralCoarseBankIn structure that are not directly used by the coarse grid algorithm but are needed to correctly set all the members of the InspiralTemplate are:

Coarse Grid Algorithm : the hexagonal placement

This module has the ability to place the templates on an hexagonal lattice. This placement reduces by 30% (as expected) the number of templates used by the square lattice. Although the algorithm is different (and described in this documentation), it is based on the same structure and uses the same function to be called, namely LALInspiralCreateCoarseBank(). The lattice is specified by the variable gridSpacing from the structure InspiralCoarseBankIn, where the user must set gridSpacing to Hexagonal.

Coarse Grid Algorithm : the hybrid hexagonal placement

A very similar placement place the template on an hexagonal lattice similarly to the previous hexagonal placement bu has a slightly different placement when upper an lower boundaries of the parameter space are coverred by a single template. In such a case, the hexagonal placement is replace by a placement along the bissectrice of the upper and lower boundaries. See the documentation for more details. This algorithm is called by setting gridSpacing to HybridHexagonal.

Coarse Grid algorithm: non physical placement (BCV)

There is also the ability to create a bank for the non-spinning BCV templates. See the documentation. If so, the user must set approximant to BCV instead of one of the physical approximant (EOB, TaylorT1, ...).

Modules

 Header LALInspiralBank.h
 Header file for the template placement codes.
 
 Header TemplateBankGeneration.h
 This header file includes all the necessary types and function prototypes for LALNDTemplateBank() and LALMakeTemplateBank().