Add ability to load GW sky map from preferred event
There has been need to add the ability to load the GW sky map from the preferred event due to the issue emfollow/gwcelery#547 (closed) .
This lets us avoid this issue of the sky map not being available in certain superevents by having the option to grab it from the preferred event instead, where we will ensure this is present by the presence of the EM_READY
label.
Merge request reports
Activity
changed milestone to %ligo-raven 3.1
added critical enhancement labels
- Resolved by Naresh Adhikari
Looks to be working for https://gracedb-playground.ligo.org/superevents/S230309br/view/:
$ raven_coinc_far -s S230309br -e E926800 -w -1 5 -g GRB -S bayestar.multiorder.fits -c -u https://gracedb-playground.ligo.org/api/ -m Namespace(em_rate=None, ext_event='E926800', ext_event_skymap=None, ext_moc=False, ext_ring=False, far_grb=None, far_grb_thresh=None, far_gw_thresh=None, gracedb_url='https://gracedb-playground.ligo.org/api/', grb_search='GRB', se_moc=True, se_ring=False, superevent='S230309br', superevent_skymap='bayestar.multiorder.fits', use_preferred_event_skymap=False, use_radec=True, window=[[-1, 5]]) Traceback (most recent call last): File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/ligo/gracedb/utils.py", line 76, in raise_status_exception r.raise_for_status() File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/requests/models.py", line 1021, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://gracedb-playground.ligo.org/api/superevents/S230309br/files/bayestar.multiorder.fits During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/bin/raven_coinc_far", line 7, in <module> exec(compile(f.read(), __file__, 'exec')) File "/Users/brandonpiotrzkowski/ligogit/forks/raven/bin/raven_coinc_far", line 140, in <module> results = search.coinc_far( File "/Users/brandonpiotrzkowski/ligogit/forks/raven/ligo/raven/search.py", line 545, in coinc_far se = SE(se_id, fitsfile=se_fitsfile, gracedb=gracedb, event_dict=se_dict, File "/Users/brandonpiotrzkowski/ligogit/forks/raven/ligo/raven/gracedb_events.py", line 165, in __init__ skymap = self.gracedb.files(skymap_graceid, File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/ligo/gracedb/utils.py", line 20, in inner return func(self, object_id, is_superevent=is_superevent, *args, File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/ligo/gracedb/rest.py", line 996, in files return self.get_file(uri) File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/ligo/gracedb/client.py", line 266, in get_file resp = self.get(url, stream=True, **kwargs) File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/requests/sessions.py", line 600, in get return self.request("GET", url, **kwargs) File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/ligo/gracedb/client.py", line 244, in request return super(GraceDBClient, self).request( File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/requests/sessions.py", line 587, in request resp = self.send(prep, **send_kwargs) File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/requests/sessions.py", line 708, in send r = dispatch_hook("response", hooks, r, **kwargs) File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/requests/hooks.py", line 30, in dispatch_hook _hook_data = hook(hook_data, **kwargs) File "/Users/brandonpiotrzkowski/miniconda3/envs/gwcelery/lib/python3.8/site-packages/ligo/gracedb/utils.py", line 78, in raise_status_exception raise HTTPError(response=e.response) ligo.gracedb.exceptions.HTTPError: <Response [404]>
$ raven_coinc_far -s S230309br -e E926800 -w -1 5 -g GRB -S bayestar.multiorder.fits -c -u https://gracedb-playground.ligo.org/api/ -m -p Namespace(em_rate=None, ext_event='E926800', ext_event_skymap=None, ext_moc=False, ext_ring=False, far_grb=None, far_grb_thresh=None, far_gw_thresh=None, gracedb_url='https://gracedb-playground.ligo.org/api/', grb_search='GRB', se_moc=True, se_ring=False, superevent='S230309br', superevent_skymap='bayestar.multiorder.fits', use_preferred_event_skymap=True, use_radec=True, window=[[-1, 5]]) {'temporal_coinc_far': 3.440994894894978e-09, 'spatiotemporal_coinc_far': 1.6922246935919685e-08, 'skymap_overlap': 0.20334148933798005, 'preferred_event': 'G926799', 'external_event': 'E926800'}
Note the addition of the
-p
flag that indicates we want to grab from the preferred event instead:$ raven_coinc_far --help usage: raven_coinc_far [-h] [-s S,MS)XXXXXXX] [-e (E,MXXXXXXX] [-w t t] [-g GRB SubGRB SubGRBTargeted] [-S bayestar.fits.gz] [-E 'glg_healpix_all_bn_v00.fit'] [-u https://gracedb.ligo.org/api/] [-f 1e-6] [-n 1e-3] [-t 1.16e-5] [-T 1e-4] [-m] [-M] [-r] [-R] [-c] [-p] Perform query of GraceDB optional arguments: -h, --help show this help message and exit -s (S,MS)XXXXXXX, --superevent (S,MS)XXXXXXX GraceDB ID of superevent (required) -e (E,M)XXXXXXX, --ext_event (E,M)XXXXXXX GraceDB ID of external event (required) -w t t, --window t t Time window [tl, th] seconds to search around event time (required with th > th) -g GRB SubGRB SubGRBTargeted, --grb_search GRB SubGRB SubGRBTargeted Search of external event. -S bayestar.fits.gz, --superevent_skymap bayestar.fits.gz fits(.gz) filename for superevent sky map -E 'glg_healpix_all_bn_v00.fit', --ext_event_skymap 'glg_healpix_all_bn_v00.fit' fits(.gz) filename for external event sky map -u https://gracedb.ligo.org/api/, --gracedb_url https://gracedb.ligo.org/api/ Gracedb url -f 1e-6, --far_grb 1e-6 False alarm rate of GRB -n 1e-3, --em_rate 1e-3 False alarm rate of GRB -t 1.16e-5, --far_gw_thresh 1.16e-5 Maximum cutoff for GW FAR considered in the search -T 1e-4, --far_grb_thresh 1e-4 Maximum cutoff for GRB FAR considered in the search -m, --se_moc Assume the superevent sky map is multi-ordered (MOC). -M, --ext_moc Assume the external sky map is multi-ordered (MOC). -r, --se_ring Assume the superevent map uses RING ordering rather than nested. -R, --ext_ring Assume the external sky map uses RING ordering rather than nested. -c, --use_radec Choose to use RA and dec of external sky map if a single pixel sky map. -p, --use_preferred_event_skymap Choose to use the GW sky map in the preferred event rather than the superevent.
Edited by Brandon Piotrzkowski
mentioned in merge request emfollow/gwcelery!1101 (merged)
added 1 commit
- abae60ea - Add ability to load GW sky map from preferred event
requested review from @naresh.adhikari
mentioned in merge request !95 (merged)
assigned to @brandon.piotrzkowski
added 3 commits
-
abae60ea...eac77b77 - 2 commits from branch
lscsoft:master
- 03b1e8b3 - Add ability to load GW sky map from preferred event
-
abae60ea...eac77b77 - 2 commits from branch