-
Notifications
You must be signed in to change notification settings - Fork 358
PyGRB Injection Development
We want to move away from using lalapps_inspinj
to generate injection sets as xml
files, with all the complication that entails. Ideally, a single job should be able to produce the injections in a format that can be passed to the filtering code, with perhaps a second stage to apportion them for analysis.
Currently, the process is as follows:
-
lalapps_inspinj
creates a set of injections whose parameters are drawn from desired distributions, placed at a single sky point -
pycbc_dark_vs_bright_injections
sifts through these to select only those that meet an "EM-bright" criterion -
ligolw_cbc_jitter_skyloc
spreads the injections out on the sky to cover the GRB positional uncertainty region by drawing new sky positions from some localisation distribution -
ligolw_cbc_align_total_spin
takes the inclinationiota
of the binary (defined as the angle between line-of-sight and orbital angular momentum axis) and translates this so thattheta_jn
(the angle between line-of-sight and total angular momentum axis) takes the old value ofiota
-
pycbc_split_inspinj
takes the resulting injection files and divides the injections up into chunks for analysis to parallelise the computation
We believe all this should be possible in two steps:
-
pycbc_create_injections
to take care of steps 1–4 above -
pycbc_hdf5_splitbank
for step 5
In doing so, we will not only streamline the process but, importantly, can remove old dependencies on lalapps
and pylal
codes, as well as the constraints that come with using ligolw_xml
tables.
In place already
- Currently use
bin/pycbc_dark_vs_bright_injections
- Functions live in
pycbc/tmpltbank/em_progenitors.py
-
2H
EOS data live inpycbc/tmpltbank/ns_sequences/equil_2H.dat
EM-bright condition is based upon the remnant mass estimate in this function.
Explicitly, we want a function in conversions.py
that goes from:
- eta
- ns_g_mass
- ns_sequence or name (see lalsuite module)
- chi
- incl to remnant mass.
Will we keep anything under tmpltbank
or move all the EM-bright stuff elsewhere?
What goes into conversions.py
, and what goes into a module for Em-bright (or more broadly NS physics) calculations?
Done