Superevents: show preferred event(s) by pipeline
via the AllSky LVK session:
Pipelines must be able to identify a single preferred trigger if multiple have been uploaded to GraceDB
This could be as simple as having a table on a superevent landing page that scrapes the min-far/snr candidate for each pipeline and gives a link.
Alternatively, there could be a dedicated db table (superevent_pipelinepreferred
or something like that) where each pipeline has its row with a foreign key entry that links to a pipeline's event. I think this is a valid approach that I can implement, as it would also return preferred events in igwn-alerts and API responses. The question there is, how does that table get populated?
For reference, there is no internal logic for defining a preferred event in GraceDB. GWCelery
picks the preferred event.
- Should the responsibility for defining a pipeline's preferred event be part of the pipeline? So at upload time, there could be an extra API call...
client.set_as_pipeline_preferred(superevent_id, pipeline, event_id
. The issue for doing this would be defining new groups and permissions. Or, if a user/robot has permission to populate a pipeline, then they can choose preferred events. - Have
GWCelery
(who is receiving alerts and filtering events already) by FAR/SNR and pipeline define it. This could be part of the superevent manager's logic. This kind of seems to be the natural choice to me. - Have
GraceDB
pick it. This requires more logic and selection criteria to be implemented and updated as the subject to the CBC and low-latency group's caprice. Then external groups need to define what the individual preferred selection criteria.
Personally I'm in favor of #2 (closed) (having the superevent manager choose the pipeline preferred event) as it is most parallel with what is being done currently.
Tagging some relevant parties:
@ian-harry, @erik-katsavounidis, @shaon.ghosh, @roberto.depietri