From b2154502f4662b92ec7fa269176738105a237c5d Mon Sep 17 00:00:00 2001 From: Naresh Adhikari <naresh.adhikari@ligo.org> Date: Tue, 18 Apr 2023 14:30:02 -0500 Subject: [PATCH] Use superevent skymap for skymap comparison if from superevent IGWN alert; Fixes #598 --- CHANGES.rst | 5 +++-- gwcelery/tasks/external_triggers.py | 16 +++++++++++----- gwcelery/tests/test_tasks_external_triggers.py | 2 +- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 71ca44665..bdf3f3204 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -53,8 +53,9 @@ Changelog listener. - Use sky map from preferred event rather than superevent, triggering off - EM_READY label instead of SKYMAP_READY. If SKYMAP_READY is applied, we - will once again try to get the GW sky map from the superevent. + EM_READY label instead of SKYMAP_READY. If SKYMAP_READY is applied or if a + sky map file is added to the superevent, we will once again try to get the + GW sky map from the superevent. - Update bilby and bilby_pipe to 2.1.0 and 1.0.10 respectively. The number of spline nodes for calibration errors is increased to 10 thanks to the bilby diff --git a/gwcelery/tasks/external_triggers.py b/gwcelery/tasks/external_triggers.py index 2a57ee34f..61861547f 100644 --- a/gwcelery/tasks/external_triggers.py +++ b/gwcelery/tasks/external_triggers.py @@ -387,7 +387,8 @@ def handle_grb_igwn_alert(alert): if REQUIRED_LABELS_BY_TASK['compare'].issubset( set(external_event['labels'])): _relaunch_raven_pipeline_with_skymaps( - superevent, external_event, graceid) + superevent, external_event, graceid, + use_superevent=True) else: if REQUIRED_LABELS_BY_TASK['compare'].issubset( set(external_event['labels'])): @@ -488,8 +489,9 @@ def _launch_external_detchar(event): return event -def _relaunch_raven_pipeline_with_skymaps(superevent, ext_event, graceid): - """Relaunch the RAVEN sky map comparision workflow, include recalculating +def _relaunch_raven_pipeline_with_skymaps(superevent, ext_event, graceid, + use_superevent=False): + """Relaunch the RAVEN sky map comparison workflow, include recalculating the joint FAR with updated sky map info and create a new combined sky map. Parameters @@ -500,6 +502,9 @@ def _relaunch_raven_pipeline_with_skymaps(superevent, ext_event, graceid): external event dictionary graceid: str GraceDB ID of event + use_superevent: bool + If True, always use skymap info from superevent + regardless of SKYMAP_READY label. """ gw_group = superevent['preferred_event_data']['group'] @@ -521,6 +526,7 @@ def _relaunch_raven_pipeline_with_skymaps(superevent, ext_event, graceid): canvas |= external_skymaps.create_combined_skymap.si( superevent['superevent_id'], ext_event['graceid'], preferred_event=( - superevent['preferred_event'] if - 'SKYMAP_READY' not in ext_event['labels'] else None)) + None if 'SKYMAP_READY' in ext_event['labels'] + or use_superevent + else superevent['preferred_event'])) canvas.delay() diff --git a/gwcelery/tests/test_tasks_external_triggers.py b/gwcelery/tests/test_tasks_external_triggers.py index dcef01a98..3562669f6 100644 --- a/gwcelery/tests/test_tasks_external_triggers.py +++ b/gwcelery/tests/test_tasks_external_triggers.py @@ -419,7 +419,7 @@ def test_handle_rerun_combined_skymap(mock_create_combined_skymap, external_triggers.handle_grb_igwn_alert(alert) if graceid == 'S1': mock_create_combined_skymap.assert_has_calls( - [call('S1', 'E1', preferred_event='G1'), + [call('S1', 'E1', preferred_event=None), call('S1', 'E3', preferred_event=None)] ) elif graceid in {'E1', 'E3'}: -- GitLab