Skip to content

Add ringdown to bypass

Luke Davis requested to merge tdavies__add_ringdown_to_bypass into ldavis/bypass

Problem

Bypass needs to calculate which snr series times & samples it should record.

Currently, Postcoh and Bypass calculate snr series a little differently.

Postcoh has access to all of its peak finding produced from coherent search. It uses those peaks to set the center of the snr series for each detector used in coherent search.

Bypass does coincidence instead. It grabs the sample/time of the pivotal ifo, and searches within bypass_pad->ntimelag samples on either side of it:

            for (isample = 0; isample < 2 * bypass_pad->ntimelag; isample++) {
                this_snr = one_take_snr[snr_pad->ntmplt
                                          * (pivotal_sample
                                             - bypass_pad->ntimelag + isample)
                                        + tmplt_idx];

(Side note, shouldn't that be <=?)

But the pivotal_sample has to be recalculated using the 'end_time' of the event.

Trouble is, the peak won't actually be at the end_time, it will be at the end of the template, which includes ringdown.

Solution

We need to include ringdown in the calculation, recording it on the trigger from postcoh.

So where we had
int pivotal_sec = trigger->end_time.gpsSeconds - cur_buftime.gpsSeconds;
we need
int pivotal_sec = trigger-end_time.gpsSeconds + trigger->ringdown_dur.gpsSeconds - cur_buftime.gpsSeconds;

Tests

We've had this version running on MDC for a while now. Without it, we segfault, as it tries to read a sample outside our recorded history.

Edited by Timothy Davies

Merge request reports