From 3c13e98c627fc87c2e843dfee93af8b03943acde Mon Sep 17 00:00:00 2001
From: Kipp Cannon <kipp.cannon@ligo.org>
Date: Thu, 24 Aug 2017 17:40:43 +0900
Subject: [PATCH] plotpsd.py:  move coinc doc summary to function

- introduces summarize_coinc_xmldoc()
---
 gstlal/python/plotpsd.py | 37 ++++++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/gstlal/python/plotpsd.py b/gstlal/python/plotpsd.py
index 7367ebc561..96a93bedc0 100644
--- a/gstlal/python/plotpsd.py
+++ b/gstlal/python/plotpsd.py
@@ -42,6 +42,25 @@ from glue.ligolw import lsctables
 from gstlal import reference_psd
 
 
+def summarize_coinc_xmldoc(coinc_xmldoc):
+	coinc_event, = lsctables.CoincTable.get_table(coinc_xmldoc)
+	coinc_inspiral, = lsctables.CoincInspiralTable.get_table(coinc_xmldoc)
+	offset_vector = lsctables.TimeSlideTable.get_table(coinc_xmldoc).as_dict()[coinc_event.time_slide_id] if coinc_event.time_slide_id is not None else None
+	# FIXME:  MBTA uploads are missing process table
+	#process, = lsctables.ProcessTable.get_table(coinc_xmldoc)
+	sngl_inspirals = dict((row.ifo, row) for row in lsctables.SnglInspiralTable.get_table(coinc_xmldoc))
+
+	mass1 = sngl_inspirals.values()[0].mass1
+	mass2 = sngl_inspirals.values()[0].mass2
+	if mass1 < mass2:
+		mass1, mass2 = mass2, mass1
+	end_time = coinc_inspiral.end
+	on_instruments = coinc_inspiral.ifos
+	logging.info("%g Msun -- %g Msun event in %s at %.2f GPS" % (mass1, mass2, ", ".join(sorted(sngl_inspirals)), float(end_time)))
+
+	return sngl_inspirals, mass1, mass2, end_time, on_instruments
+
+
 def axes_plot_psds(axes, psds, coinc_xmldoc = None):
 	"""!
 	Places a PSD plot into a matplotlib Axes object.
@@ -56,22 +75,10 @@ def axes_plot_psds(axes, psds, coinc_xmldoc = None):
 	"""
 
 	if coinc_xmldoc is not None:
-		coinc_event, = lsctables.CoincTable.get_table(coinc_xmldoc)
-		coinc_inspiral, = lsctables.CoincInspiralTable.get_table(coinc_xmldoc)
-		offset_vector = lsctables.TimeSlideTable.get_table(coinc_xmldoc).as_dict()[coinc_event.time_slide_id] if coinc_event.time_slide_id is not None else None
-		# FIXME:  MBTA uploads are missing process table
-		#process, = lsctables.ProcessTable.get_table(coinc_xmldoc)
-		sngl_inspirals = dict((row.ifo, row) for row in lsctables.SnglInspiralTable.get_table(coinc_xmldoc))
-
-		mass1 = sngl_inspirals.values()[0].mass1
-		mass2 = sngl_inspirals.values()[0].mass2
-		if mass1 < mass2:
-			mass1, mass2 = mass2, mass1
-		end_time = coinc_inspiral.end
-		on_instruments = coinc_inspiral.ifos
-		logging.info("%g Msun -- %g Msun event in %s at %.2f GPS" % (mass1, mass2, ", ".join(sorted(sngl_inspirals)), float(end_time)))
+		sngl_inspirals, mass1, mass2, end_time, on_instruments = summarize_coinc_xmldoc(coinc_xmldoc)
 	else:
-		# Use the cannonical BNS binary for horizon distance if an event wasn't given
+		# Use the cannonical BNS binary for horizon distance if an
+		# event wasn't given
 		sngl_inspirals = {}
 		mass1, mass2, end_time = 1.4, 1.4, None
 		on_instruments = set(psds)
-- 
GitLab