diff --git a/gstlal-inspiral/bin/gstlal_inspiral_lvalert_snrtimeseries_plotter b/gstlal-inspiral/bin/gstlal_inspiral_lvalert_snrtimeseries_plotter index 6a164ee3653ea318f4fcd9c22d4a7dc7ba16c852..ab2807c6e5ecabe4478ebbfc67560242c18baed4 100755 --- a/gstlal-inspiral/bin/gstlal_inspiral_lvalert_snrtimeseries_plotter +++ b/gstlal-inspiral/bin/gstlal_inspiral_lvalert_snrtimeseries_plotter @@ -116,9 +116,9 @@ for gid in gid_list: # create two dicts keyed by event id: the first dict contains # COMPLEX8TimeSeries which contain the snr time series, the second dict - # contains a tuple with the ifo and template number + # contains the template row timeseries_ligolw_dict = dict((ligolw_param.get_pyvalue(elem, u"event_id"), lalseries.parse_COMPLEX8TimeSeries(elem)) for elem in xmldoc.getElementsByTagName(ligolw.LIGO_LW.tagName) if elem.hasAttribute(u"Name") and elem.Name == u"COMPLEX8TimeSeries") - eventid_ifotemplate_id_dict = dict((row.event_id, (row.ifo, row.template_id)) for row in lsctables.SnglInspiralTable.get_table(xmldoc)) + eventid_trigger_dict = dict((row.event_id, row) for row in lsctables.SnglInspiralTable.get_table(xmldoc)) # Parse the bank files # NOTE This assumes --svd-bank will also be provided once in the ProcessParamsTable @@ -132,7 +132,7 @@ for gid in gid_list: for i, bank in enumerate(banks.values()[0]): for j, row in enumerate(bank.sngl_inspiral_table): # The templates should all have the same template_id, so just grab one - if row.template_id == eventid_ifotemplate_id_dict.values()[0][-1]: + if row.template_id == eventid_trigger_dict.values()[0].template_id: banknum = i tmpltnum = j break @@ -150,12 +150,12 @@ for gid in gid_list: FigureCanvas(fig) for i, (eventid, complex8timeseries) in enumerate(timeseries_ligolw_dict.items()): - ifo = eventid_ifotemplate_id_dict[eventid][0] + ifo = eventid_trigger_dict[eventid].ifo complex_snr_timeseries = complex8timeseries.data.data autocorr_length = complex8timeseries.data.length time = numpy.linspace(float(complex8timeseries.epoch), float(complex8timeseries.epoch)+(autocorr_length-1)*complex8timeseries.deltaT, autocorr_length) - peakoffset = numpy.argmax((complex_snr_timeseries * complex_snr_timeseries.conjugate()).real) + peakoffset = numpy.argmin(abs(time - eventid_trigger_dict[eventid].end)) phase = numpy.angle(complex_snr_timeseries[peakoffset]) snr = (complex_snr_timeseries * numpy.exp(-1.j * phase)).real snrsigma = numpy.sqrt(2)