gwcelery.tasks.superevents module
Superevents are a new abstraction of gravitational-wave candidates
introduced in the third LIGO/Virgo observing (O3). Each superevent is
intended to represent a single astrophysical event. A superevent
consists of one or more event candidates, possibly from different
pipelines, that are neighbors in gpstime
. One event belonging
to the superevent is identified as the preferred event.
Flow Chart
The flow chart below illustrates the decision process for selection of the
preferred event.
digraph superevents {
compound = true
nodesep = 0.1
ranksep = 0.5
node [
fillcolor = white
shape = box
style = filled
target = "_top"
]
graph [
labeljust = "left"
style = filled
target = "_top"
]
lvalert [
label = "LVAlert\nmessage"
style = rounded
]
subgraph cluster_handle {
href = "../gwcelery.tasks.superevents.html#gwcelery.tasks.superevents.handle"
label = <<B><FONT face="monospace">handle</FONT></B>>
far_check [
label = "FAR <\nthreshold?"
shape = diamond
]
fetch_superevents [
label = "Fetch superevents\nwith nearby trigger\ntimes from GraceDb"
]
{
rank = same
associated_superevent [
label = "Event intersects\nany superevent\nwindow?"
shape = diamond
]
create_superevent [
label = "Create\nsuperevent"
]
}
{
rank = same
preferred_event_multi_ifo [
label = "Preferred event\n#detectors > 1"
shape = diamond
]
new_event_multi_ifo [
label = "New event\n#detectors > 1"
shape = diamond
]
}
{
rank = same
d1 [
label="New event\npreferred"
]
d2 [
shape=point
margin = "3.20,0.05"
]
}
add_to_superevent [
label = "Add to\nsuperevent"
]
{
rank = same
group_tie [
label = "New event group\n= preferred event\ngroup?"
shape = diamond
]
cbc_preferred [
label = "CBC is\npreferred"
]
}
cbc_burst [
label = "Tie between\nCBC or Burst?"
shape = diamond
]
far_tie_breaker [
label = "FAR <\npreferred event\nFAR?"
shape = diamond
]
snr_tie_breaker [
label = "SNR >\npreferred event\nSNR?"
shape = diamond
]
set_preferred [label = "Set as preferred event"]
}
lvalert -> far_check [
label = "proceed if new\ntype alert"
lhead = cluster_handle
]
far_check -> fetch_superevents [label = Yes]
fetch_superevents -> associated_superevent
associated_superevent -> create_superevent [label = No]
associated_superevent -> add_to_superevent [label = Yes]
add_to_superevent -> preferred_event_multi_ifo
add_to_superevent -> new_event_multi_ifo
new_event_multi_ifo -> d1 [label = Yes]
preferred_event_multi_ifo -> d1 [label = No]
d1 -> set_preferred
new_event_multi_ifo -> d2 [label = Yes]
preferred_event_multi_ifo -> d2 [label = Yes]
d2 -> group_tie
group_tie -> cbc_preferred [label = No]
group_tie -> cbc_burst [label = Yes]
cbc_burst -> snr_tie_breaker [label = CBC]
cbc_burst -> far_tie_breaker [label = Burst]
far_tie_breaker -> set_preferred [label = Yes]
snr_tie_breaker -> set_preferred [label = Yes]
}
Tasks
Module containing the functionality for creation and management of
superevents.
There is serial processing of triggers from low latency
pipelines.
Dedicated superevent queue for this purpose.
Primary logic to respond to low latency triggers contained
in handle()
function.
(task) gwcelery.tasks.superevents.
handle
( payload ) [source]
LVAlert handler for superevent manager.
Recieves payload from test and production nodes and
serially processes them to create/modify superevents