Skip to content
Commits on Source (12)
# Changelog
#Changelog
## 1.1.3 (2019-10-18)
- Fix bug where a preliminary circular lists the sky map as being an
updated localization.
- Change wording to explicity state that coincidence is significant, not
that the GW increases in significance. Include joint sky map in both
EM COINC circulars.
- Fix sentence in description of sky map so it doesn't appear cut-off.
- Change EM_Bright section to simply state the probability of HasNS
and HasRemnant instead of relative amount of evidence.
- Get p_astro and em_bright files from the superevent instead of the
preferred event in order to accomodate PE-based results.
- Get the preferred external event from 'em_type' field in superevent,
if no value grab first external event.
## 1.1.2 (2019-09-25)
......
......@@ -76,23 +76,31 @@ def main_dict(gracedb_id, client):
filename=filename,
latency=issued_time-event_time.datetime)
skymaps = list(skymaps.values())
preferred_event_files = client.files(preferred_event_id).json()
em_brightfile = 'em_bright.json'
if em_brightfile in preferred_event_files:
# Grab latest p_astro and em_bright files
superevent_files = client.files(gracedb_id).json()
em_brightfilename = 'em_bright'
p_astrofilename = 'p_astro'
em_brightfiles = []
p_astrofiles = []
for file in superevent_files:
if em_brightfilename in file and '.png' not in file:
em_brightfiles.append(file)
elif p_astrofilename in file and '.png' not in file:
p_astrofiles.append(file)
if em_brightfiles:
source_classification = client.files(
preferred_event_id, em_brightfile).json()
gracedb_id, em_brightfiles[-1]).json()
source_classification = {
key: 100 * value for key, value in source_classification.items()}
else:
source_classification = {}
# adding the p_atro informations if available
p_astro_file = 'p_astro.json'
if p_astro_file in preferred_event_files:
classifications = client.files(preferred_event_id, p_astro_file).json()
# Convert to percent for consistency with em_bright
if p_astrofiles:
classifications = client.files(
gracedb_id, p_astrofiles[-1]).json()
classifications = {
key: 100 * value for key, value in classifications.items()}
else:
......@@ -191,15 +199,18 @@ def compose_raven(gracedb_id, authors=(),
superevent_far = preferred_event['far']
gpstime = float(preferred_event['gpstime'])
for em_event_id in event['em_events']:
em_event = client.event(em_event_id).json()
em_event_gpstime = float(em_event['gpstime'])
external_pipeline = em_event['pipeline']
# FIXME in GraceDb: Even SNEWS triggers have an extra attribute GRB.
external_trigger_id = em_event['extra_attributes']['GRB']['trigger_id']
snews = (em_event['search'] == 'Supernova')
grb = em_event['search'] in ['GRB', 'SubGRB']
subthreshold = (em_event['search'] == 'SubGRB')
try:
em_event_id = event['em_type']
except KeyError:
em_event_id = event['em_events'][0]
em_event = client.event(em_event_id).json()
em_event_gpstime = float(em_event['gpstime'])
external_pipeline = em_event['pipeline']
# FIXME in GraceDb: Even SNEWS triggers have an extra attribute GRB.
external_trigger_id = em_event['extra_attributes']['GRB']['trigger_id']
snews = (em_event['search'] == 'Supernova')
grb = em_event['search'] in ['GRB', 'SubGRB']
subthreshold = (em_event['search'] == 'SubGRB')
o = urllib.parse.urlparse(client.service_url)
kwargs = dict(
......
......@@ -5,10 +5,10 @@
estimation {{citeskymap_number(skymaps[-1].pipeline, [], [skymaps[-1]])}}, under the
assumption that the candidate {{gracedb_id}} is astrophysical in origin,
{% else %}Assuming the candidate is astrophysical in origin, {% endif %}
there is {{evidence_for(prob_has_ns)}} the lighter compact object having a mass
< 3 solar masses (HasNS: {{probability(prob_has_ns)}}). Using the
masses and spins inferred from the signal, there is
{{evidence_for(prob_has_remnant)}} matter outside the final compact object
(HasRemnant: {{probability(prob_has_remnant)}}).
the probability that the lighter compact object has a mass
< 3 solar masses (HasNS) is {{probability(prob_has_ns)}}. Using the
masses and spins inferred from the signal, the probability of
matter outside the final compact object (HasRemnant)
is {{probability(prob_has_remnant)}}.
{% endfilter %}
......@@ -9,8 +9,8 @@ The candidate was found by the {{naturalotherpipelines(pipeline, other_pipelines
analysis pipeline{% if ([pipeline] + other_pipelines)|length > 1 %}s{% endif %}.
{% if change_significance_statement %}
This gravitational wave candidate is not significant enough on its own to produce a public alert
but its coincidence with the {% if snews %}SNEWS neutrino{% endif %}{% if grb %}GRB{% endif %} trigger increases its significance.
Based on the analysis of gravitational-wave data alone, this candidate does not meet our criteria for a public alert.
However, a search performed by the RAVEN pipeline found a significant coincidence between this candidate and {{external_trigger}}.
{% else %}
{{gracedb_id}} is an event of interest because its false alarm rate, as
estimated by the online analysis, is {{naturalfar(far)}}.
......@@ -28,7 +28,7 @@ The event's properties can be found at this URL:
No{% else %}{{ skymaps|length|apnumber|capitalize }}{% endif %} {% if combined_skymap is not defined %}sky map{% else %}GW-only sky map{% endif %}{% if skymaps|length == 1 %} is{% else %}s are{% endif %} available at this time{% if skymaps|length > 0 %} and can be retrieved from the GraceDB event page:{% else %}.{% endif %}
{% for skymap in skymaps %}
* {{skymap.filename}}, an {% if skymap.alert_type == 'initial' %}initial{% else %}updated{% endif %} localization generated by {{citeskymap(skymap.pipeline, all_pipelines, skymaps)}}, distributed via GCN notice about {{skymap.latency|naturaldelta}} after the candidate
* {{skymap.filename}}, an {% if skymap.alert_type in ['preliminary','initial'] %}initial{% else %}updated{% endif %} localization generated by {{citeskymap(skymap.pipeline, all_pipelines, skymaps)}}, distributed via GCN notice about {{skymap.latency|naturaldelta}} after the candidate event time.
{% endfor %}
{% if skymaps|length != 0 %}{%- include 'skymap_info.jinja2' -%}{% endif %}
......
......@@ -15,5 +15,7 @@
"S1234-1-Initial.xml": "https://gracedb-dev1.ligo.org/api/events/S1234/files/S1234-1-Initial.xml",
"S1234-2-Update.xml": "https://gracedb-dev1.ligo.org/api/events/S1234/files/S1234-2-Update.xml",
"coincidence_far.json": "https://gracedb-dev1.ligo.org/api/events/S1234/files/coincidence_far.json",
"bayestar-gbm.fits.gz": "https://gracedb-dev1.ligo.org/api/events/S1234/files/bayestar-gbm.fits.gz"
"bayestar-gbm.fits.gz": "https://gracedb-dev1.ligo.org/api/events/S1234/files/bayestar-gbm.fits.gz",
"p_astro.json": "https://gracedb-dev1.ligo.org/api/events/S1234/files/p_astro.json",
"em_bright.json": "https://gracedb-dev1.ligo.org/api/events/S1234/files/em_bright.json"
}
......@@ -13,5 +13,10 @@
"LALInference.fits.gz,0": "https://gracedb-dev1.ligo.org/api/events/S5678/files/LALInference.fits.gz,0",
"S5678-1-Initial.xml": "https://gracedb-dev1.ligo.org/api/events/S5678/files/S5678-1-Initial.xml",
"S5678-2-Update.xml": "https://gracedb-dev1.ligo.org/api/events/S5678/files/S5678-2-Update.xml",
"coincidence_far.json": "https://gracedb-dev1.ligo.org/api/events/S5678/files/coincidence_far.json"
"coincidence_far.json": "https://gracedb-dev1.ligo.org/api/events/S5678/files/coincidence_far.json",
"bayestar-gbm.fits.gz": "https://gracedb-dev1.ligo.org/api/events/S1234/files/bayestar-gbm.fits.gz",
"p_astro.json": "https://gracedb-dev1.ligo.org/api/events/S5678/files/p_astro.json",
"em_bright.json": "https://gracedb-dev1.ligo.org/api/events/S5678/files/em_bright.json",
"p_astro.json,0": "https://gracedb-dev1.ligo.org/api/events/S5678/files/p_astro.json,0",
"em_bright.json,0": "https://gracedb-dev1.ligo.org/api/events/S5678/files/em_bright.json,0"
}
{"HasNS": 1.0, "HasRemnant": 0.0}
\ No newline at end of file
{"BNS": 0.0, "NSBH": 0.6778160323909137, "BBH": 0.0, "MassGap": 0.0, "Terrestrial": 0.32218396760908624}
\ No newline at end of file
......@@ -144,6 +144,18 @@
"tags": "https://gracedb-dev1.ligo.org/api/events/S5678/log/11/tag/",
"N": 11
},
{
"comment": "Combined LVC-Fermi sky map using bayestar.fits.gz",
"file_version": 0,
"tag_names": ["sky_loc", "public"],
"file": "https://gracedb-dev1.ligo.org/api/events/S1234/files/bayestar-gbm.fits.gz,0",
"created": "2018-06-28 04:08:44 UTC",
"self": "https://gracedb-dev1.ligo.org/api/events/S1234/log/13",
"issuer": "leo.singer@LIGO.ORG",
"filename": "bayestar-gbm.fits.gz",
"tags": "https://gracedb-dev1.ligo.org/api/events/S1234/log/13/tag/",
"N": 13
},
{
"comment": "Tagged message 10: lvem ",
"file_version": null,
......
......@@ -18,6 +18,8 @@ description = LIGO/Virgo Follow-up Advocate Tools
long_description = This package provides tools for LIGO/Virgo follow-up advocates to assist in tasks such as drafting astronomical bulletins for gravitational-wave detections.
author = Leo Singer
author_email = leo.singer@ligo.org
maintainer = Brandon Piotrzkowski
maintainer_email = brandon.piotrzkowski@ligo.org
url = https://git.ligo.org/emfollow/ligo-followup-advocate
classifiers =
Intended Audience :: Science/Research
......@@ -42,7 +44,7 @@ console_scripts =
[options.package_data]
ligo.followup_advocate.templates = *.jinja2
ligo.followup_advocate.test = data/*/*.json, data/*/files/*.json, data/*/files/*.xml, data/*/files/*.fits, data/*/files/*.fits.gz, data/*/files/*.data, data/*/files/*.fits.gz*
ligo.followup_advocate.test = data/*/*.json, data/*/files/*.json, data/*/files/*.xml, data/*/files/*.fits, data/*/files/*.fits.gz, data/*/files/*.data, data/*/files/*.fits.gz*, data/*/files/*.json*
[versioneer]
VCS = git
......