Skip to content

Time correction fixed grid

Description

A time-correction is applied to several Fourier domain waveforms to achieve that their iFFTs peak near t=0 in the time domain. The time-shift that is computed from the FD phase can be inaccurate when the frequency grid passed in by the user is very sparse.

This fix was requested as it can affect the accuracy of reduced order quadratures used to accelerate parameter estimation on BNS events, in particular in connection with GW190425 where production analyses are expected to start shortly.

The time-correction calculation is done around in LALSimIMRPhenomP.c in PhenomPCore(): https://git.ligo.org/lscsoft/lalsuite/blob/master/lalsimulation/src/LALSimIMRPhenomP.c#L999

  • We pass in freqs_in which is copied and modified and stored in freqs. The phase is cacluated on this frequency grid, splined and its derivative is calculated at the ringdown frequency f_final.
  • To fix the inaccuracy I instead setup a fixed frequency grid to get the phasing near the ringdown frequency, but below fCut [Hz] and compute the time correction again. I am using 10 points between 0.8f_final and min(1.2f_final, fCut).
  • I have tested the code change for dense and sparse grids. It behaves as expected and provides a reliable time correction
  • I have tested it for IMRPhenomPv2 and IMRPhenomPv2_NRTidal.
  • These tests can be found in a notebook I upload to CIT:/home/michael.puerrer/projects/time_correction_fixed_grid/Test_fixed_grid_for_timeshift.ipynb

One thing I noticed: we also use the ringdown frequency in the BNS case to compute the time correction, even though the BNS merger frequency is different and lower than in the BBH case. I haven't checked how far away the BNS merger frequency is from the ringdown frequency and whether we discussed 2 years ago what to do or whether the code was just copied from the BNS case.

I have now updated the code after finding some inconsistencies for SEOBNRv4_ROMm SEOBNRv4_ROM_NRTidal and SEOBNRv4T_surrogate. None of these models require the code changes necessary for the IMRPhenomPv2 based models above, because they use the internal phase of the surrogate or ROM which is always defined on a fixed grid. With the fixed provided, the time correction is consistent between calling them via the standard lalsimulation interface or the FrequencySequence interface.

API Changes and Justification

No API changes.

Review Status

None.

Edited by Ghost User

Merge request reports

Loading