Allow alerts to include multiple external events/coincidences
Our current design for sending RAVEN alerts (i.e. GW alerts with additional info regarding an external event) is to only include info on a single coincidence/external event. This preferred external event is chosen via a function raven.update_coinc_far using various convoluted criteria. This was deemed as a limitation for sending out alerts in O3, but changing it now will have the following benefits
- Provide info of ALL available coincidences that pass RAVEN publishing criteria, being able to add/remove events as needed and queue these up to the next alert.
- Remove the need for any type of superevent cleanup if the preferred event changes, instead adding to and referencing the latest file(s) in the superevent. We also may be able to change the superevent external events are associated with, although this would require some thought beforehand.
- Remove any need to pick a preferred external event.
Performing this change would require the following changes:
-
Remove raven.update_coinc_far
and tests -
Request a change in the GraceDB event dictionaries, either changing em_type
from a string to a list or adding a new field that uses a list as an argument -
Remove numerous calls for a single em_type
and replace with equivalent call to handle list -
Change orchestrator.py
and combined sky map calls to copy combined sky maps for everyRAVEN_ALERT
coincidence. -
Add ability to include multiple coincidences in VOEvents -
Add ability to include multiple coincidences in Kafka alerts (may be only able to include a single combined sky map due to memory limitations)
Note this supersedes #694 (closed)