From b6eb2c421b629c17b7048fbed060139b2a413b63 Mon Sep 17 00:00:00 2001 From: "alexander.pace@ligo.org" <alexander.pace@ligo.org> Date: Wed, 23 Oct 2019 15:46:12 -0500 Subject: [PATCH] adding raven voevent fields --- config/settings/base.py | 1 - gracedb/api/v1/events/views.py | 4 +- gracedb/api/v1/superevents/serializers.py | 13 ++++- gracedb/events/models.py | 3 +- .../0006_add_raven_voevent_fields.py | 56 +++++++++++++++++++ gracedb/superevents/utils.py | 7 ++- 6 files changed, 77 insertions(+), 7 deletions(-) create mode 100644 gracedb/superevents/migrations/0006_add_raven_voevent_fields.py diff --git a/config/settings/base.py b/config/settings/base.py index e605585da..1d463efde 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -51,7 +51,6 @@ TEST_RUNNER = 'django.test.runner.DiscoverRunner' # MANAGERS defines who gets broken link notifications when # BrokenLinkEmailsMiddleware is enabled ADMINS = [ - ("Tanner Prestegard", "tanner.prestegard@ligo.org"), ("Alexander Pace", "alexander.pace@ligo.org"), ("Duncan Meacher", "duncan.meacher@ligo.org"), ] diff --git a/gracedb/api/v1/events/views.py b/gracedb/api/v1/events/views.py index ef52e5d03..1f259dccd 100644 --- a/gracedb/api/v1/events/views.py +++ b/gracedb/api/v1/events/views.py @@ -1695,8 +1695,10 @@ class VOEventList(InheritPermissionsAPIView): ext_search = request.data.get('ext_search', None) time_coinc_far = request.data.get('time_coinc_far', None) space_coinc_far = request.data.get('space_coinc_far', None) - comb_skymap_filename = request.data.get('comb_skymap_filename', None) + combined_skymap_filename = request.data.get('combined_skymap_filename', + None) delta_t = request.data.get('delta_t', None) + raven_coinc = request.data.get('raven_coinc', None) # Get VOEvent types as a dict (key = short form, value = long form) VOEVENT_TYPE_DICT = dict(VOEvent.VOEVENT_TYPE_CHOICES) diff --git a/gracedb/api/v1/superevents/serializers.py b/gracedb/api/v1/superevents/serializers.py index 9f6815b60..3a2e82e5e 100644 --- a/gracedb/api/v1/superevents/serializers.py +++ b/gracedb/api/v1/superevents/serializers.py @@ -578,6 +578,7 @@ class SupereventVOEventSerializer(serializers.ModelSerializer): max_value=1, required=False) # Additional RAVEN fields + raven_coinc = serializers.BooleanField(default=False) ext_gcn = serializers.CharField(required=False) ext_pipeline = serializers.CharField(required=False) ext_search = serializers.CharField(required=False) @@ -585,7 +586,7 @@ class SupereventVOEventSerializer(serializers.ModelSerializer): max_value=1000, required=False) space_coinc_far = serializers.FloatField(write_only=True, min_value=0, max_value=1000, required=False) - comb_skymap_filename = serializers.CharField(required=False) + combined_skymap_filename = serializers.CharField(required=False) delta_t = serializers.FloatField(write_only=True, min_value=-1000, max_value=1000, required=False) @@ -599,11 +600,19 @@ class SupereventVOEventSerializer(serializers.ModelSerializer): 'prob_has_remnant', 'prob_bns', 'prob_nsbh', 'prob_bbh', 'prob_terrestrial', 'prob_mass_gap', 'superevent', 'user') + raven_fields = ('raven_coinc','ext_gcn', 'ext_pipeline', 'ext_search', + 'time_coinc_far', 'space_coinc_far', 'combined_skymap_filename', + 'delta_t') + + # Combine the fields: + fields = fields + raven_fields + def __init__(self, *args, **kwargs): super(SupereventVOEventSerializer, self).__init__(*args, **kwargs) read_only_fields = ['file_version', 'filename', 'ivorn', 'coinc_comment', 'prob_has_ns', 'prob_has_remnant', 'prob_bns', - 'prob_nsbh', 'prob_bbh', 'prob_terrestrial', 'prob_mass_gap'] + 'prob_nsbh', 'prob_bbh', 'prob_terrestrial', 'prob_mass_gap', + 'raven_coinc'] for f in read_only_fields: self.fields.get(f).read_only = True diff --git a/gracedb/events/models.py b/gracedb/events/models.py index 7bc74192e..f41c303dd 100644 --- a/gracedb/events/models.py +++ b/gracedb/events/models.py @@ -1009,6 +1009,7 @@ class VOEventBase(CleanSaveModel): models.fields.validators.MaxValueValidator(1.0)]) # Additional RAVEN Fields + raven_coinc = models.BooleanField(null=False, default=True, blank=True) ext_gcn = models.CharField(max_length=20, default="", blank=True, editable=False) ext_pipeline = models.CharField(max_length=20, default="", blank=True, @@ -1019,7 +1020,7 @@ class VOEventBase(CleanSaveModel): validators=[models.fields.validators.MinValueValidator(0.0)]) space_coinc_far = models.FloatField(null=True, default=None, blank=True, validators=[models.fields.validators.MinValueValidator(0.0)]) - comb_skymap_filename = models.CharField(max_length=100, null=True, + combined_skymap_filename = models.CharField(max_length=100, null=True, default=None, blank=True) delta_t = models.FloatField(null=True, default=None, blank=True, validators=[models.fields.validators.MinValueValidator(-1000), diff --git a/gracedb/superevents/migrations/0006_add_raven_voevent_fields.py b/gracedb/superevents/migrations/0006_add_raven_voevent_fields.py new file mode 100644 index 000000000..7efed677d --- /dev/null +++ b/gracedb/superevents/migrations/0006_add_raven_voevent_fields.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-05-15 18:07 +from __future__ import unicode_literals + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('superevents', '0005_add_coinc_far_and_em_type'), + ] + + operations = [ + migrations.AddField( + model_name='voevent', + name='raven_coinc', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='voevent', + name='combined_skymap_filename', + field=models.CharField(blank=True, default=None, max_length=100, null=True), + ), + migrations.AddField( + model_name='voevent', + name='ext_gcn', + field=models.CharField(blank=True, default=None, max_length=100, null=True), + ), + migrations.AddField( + model_name='voevent', + name='ext_pipeline', + field=models.CharField(blank=True, default=None, max_length=100, null=True), + ), + migrations.AddField( + model_name='voevent', + name='ext_search', + field=models.CharField(blank=True, default=None, max_length=100, null=True), + ), + migrations.AddField( + model_name='voevent', + name='time_coinc_far', + field=models.FloatField(blank=True, default=None, null=True), + ), + migrations.AddField( + model_name='voevent', + name='space_coinc_far', + field=models.FloatField(blank=True, default=None, null=True), + ), + migrations.AddField( + model_name='voevent', + name='delta_t', + field=models.FloatField(blank=True, default=None, null=True), + ), + ] diff --git a/gracedb/superevents/utils.py b/gracedb/superevents/utils.py index a662e9be0..277a7003f 100644 --- a/gracedb/superevents/utils.py +++ b/gracedb/superevents/utils.py @@ -594,7 +594,8 @@ def create_voevent_for_superevent(superevent, issuer, voevent_type, skymap_type=None, skymap_filename=None, internal=True, open_alert=False, hardware_inj=False, CoincComment=False, ProbHasNS=None, ProbHasRemnant=None, BNS=None, NSBH=None, BBH=None, Terrestrial=None, - MassGap=None, add_log_message=True, issue_alert=True): + MassGap=None, add_log_message=True, issue_alert=True, + combined_skymap_filename=None, raven_coinc=False): # Instantiate VOEvent object voevent = VOEvent.objects.create(superevent=superevent, issuer=issuer, @@ -603,7 +604,9 @@ def create_voevent_for_superevent(superevent, issuer, voevent_type, open_alert=open_alert, hardware_inj=hardware_inj, coinc_comment=CoincComment, prob_has_ns=ProbHasNS, prob_has_remnant=ProbHasRemnant, prob_bns=BNS, prob_nsbh=NSBH, - prob_bbh=BBH, prob_terrestrial=Terrestrial, prob_mass_gap=MassGap) + prob_bbh=BBH, prob_terrestrial=Terrestrial, prob_mass_gap=MassGap, + combined_skymap_filename=combined_skymap_filename, + raven_coinc=raven_coinc) # Construct VOEvent file text voevent_text, ivorn = construct_voevent_file(superevent, voevent) -- GitLab