From c401ed8e4f73d6c2c0d244bf08a4e408664a6108 Mon Sep 17 00:00:00 2001 From: Kipp Cannon <kipp.cannon@ligo.org> Date: Mon, 5 Sep 2016 20:38:10 -0700 Subject: [PATCH] app_sink_new_data(): performance improvements - .last_coincs object now provides frozenset of zero-lag time slide IDs which allows for faster identification of zero-lag coincs --- gstlal-inspiral/python/inspiral.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gstlal-inspiral/python/inspiral.py b/gstlal-inspiral/python/inspiral.py index d6ae6c07d5..9782067c15 100644 --- a/gstlal-inspiral/python/inspiral.py +++ b/gstlal-inspiral/python/inspiral.py @@ -712,9 +712,8 @@ class Data(object): # coinc_params_distributions. if self.stream_thinca.last_coincs: for coinc_event_id, coinc_event in self.stream_thinca.last_coincs.coinc_event_index.items(): - offset_vector = self.stream_thinca.last_coincs.offset_vector(coinc_event.time_slide_id) - if not any(offset_vector.values()): - self.coinc_params_distributions.add_zero_lag(self.coinc_params_distributions.coinc_params(self.stream_thinca.last_coincs.sngl_inspirals(coinc_event_id), offset_vector)) + if coinc_event.time_slide_id in self.stream_thinca.last_coincs.zero_lag_time_slide_ids: + self.coinc_params_distributions.add_zero_lag(self.coinc_params_distributions.coinc_params(self.stream_thinca.last_coincs.sngl_inspirals(coinc_event_id), self.stream_thinca.last_coincs.offset_vector(coinc_event.time_slide_id))) # Cluster last coincs before recording number of zero # lag events or sending alerts to gracedb @@ -732,10 +731,8 @@ class Data(object): # above) if self.stream_thinca.last_coincs and self.zero_lag_ranking_stats is not None: for coinc_event_id, coinc_event in self.stream_thinca.last_coincs.coinc_event_index.items(): - offset_vector = self.stream_thinca.last_coincs.offset_vector(coinc_event.time_slide_id) - instruments = frozenset(self.stream_thinca.last_coincs.coinc_inspiral_index[coinc_event_id].instruments) - if coinc_event.likelihood is not None and not any(offset_vector.values()): - self.zero_lag_ranking_stats.zero_lag_likelihood_rates[instruments][coinc_event.likelihood,] += 1 + if coinc_event.likelihood is not None and coinc_event.time_slide_id in self.stream_thinca.last_coincs.zero_lag_time_slide_ids: + self.zero_lag_ranking_stats.zero_lag_likelihood_rates[frozenset(self.stream_thinca.last_coincs.coinc_inspiral_index[coinc_event_id].instruments)][coinc_event.likelihood,] += 1 # do GraceDB alerts if self.gracedb_far_threshold is not None: -- GitLab