# FIXME: This is turning into a mess if opts.output_file: xmldoc = ligolw.Document() xmldoc.appendChild(ligolw.LIGO_LW()) process.register_to_xmldoc(xmldoc, sys.argv[0], opts.__dict__) result_dict = {"mass1": opts.mass1, "mass2": opts.mass2, "event_duration": numpy.sqrt(var)/res, "ttotal": sampler.ntotal} if opts.spin1z is not None or sngl_inspiral_table: result_dict["spin1z"] = opts.spin1z or 0.0 if opts.spin2z is not None or sngl_inspiral_table: result_dict["spin2z"] = opts.spin2z or 0.0 if opts.eff_lambda is not None: result_dict["psi0"] = opts.eff_lambda if opts.deff_lambda is not None: result_dict["psi3"] = opts.deff_lambda xmlutils.append_likelihood_result_to_xmldoc(xmldoc, numpy.log(res), neff=neff, **result_dict) utils.write_filename(xmldoc, opts.output_file, gz=opts.output_file.endswith(".gz")) if opts.save_samples: samples = sampler._rvs samples["distance"] = samples["distance"] if not opts.time_marginalization: samples["t_ref"] += float(fiducial_epoch) else: samples["t_ref"] = float(fiducial_epoch)*numpy.ones(len(sampler._rvs["psi"])) samples["polarization"] = samples["psi"] samples["coa_phase"] = samples["phi_orb"] if ("declination", "right_ascension") in sampler.params: samples["latitude"], samples["longitude"] = samples[("declination", "right_ascension")] else: samples["latitude"] = samples["declination"] samples["longitude"] = samples["right_ascension"]
xmldoc.appendChild(ligolw.LIGO_LW()) process.register_to_xmldoc(xmldoc, sys.argv[0], opts.__dict__) if opts.save_samples: samples = sampler._rvs # FIXME: Does sim insp do kpc or mpc samples["distance"] = samples["distance"] if not opts.time_marginalization: samples["t_ref"] += float(fiducial_epoch) else: samples["t_ref"] = float(fiducial_epoch)*numpy.ones(len(sampler._rvs["psi"])) samples["polarization"] = samples["psi"] samples["coa_phase"] = samples["phi_orb"] if ("declination", "right_ascension") in sampler.params: samples["latitude"], samples["longitude"] = samples[("declination", "right_ascension")] else: samples["latitude"] = samples["declination"] samples["longitude"] = samples["right_ascension"] samples["loglikelihood"] = numpy.log(samples["integrand"]) samples["mass1"] = numpy.ones(samples["psi"].shape)*opts.mass1 samples["mass2"] = numpy.ones(samples["psi"].shape)*opts.mass2 if opts.eff_lambda is not None or opts.deff_lambda is not None: # FIXME: the column mapping isn't working right, we need to fix that # rather than give these weird names samples["psi0"] = numpy.ones(samples["psi"].shape)*opts.eff_lambda samples["psi3"] = numpy.ones(samples["psi"].shape)*(opts.deff_lambda or 0) xmlutils.append_samples_to_xmldoc(xmldoc, samples) # FIXME: likelihood or loglikehood # FIXME: How to encode variance? xmlutils.append_likelihood_result_to_xmldoc(xmldoc, numpy.log(res), neff=neff, **{"mass1": opts.mass1, "mass2": opts.mass2, "event_duration": numpy.sqrt(var)/res, "ttotal": sampler.ntotal}) utils.write_filename(xmldoc, opts.output_file, gz=opts.output_file.endswith(".gz"))
"mass1": opts.mass1, "mass2": opts.mass2, "event_duration": numpy.sqrt(var) / res, "ttotal": sampler.ntotal } if opts.spin1z is not None or sngl_inspiral_table: result_dict["spin1z"] = opts.spin1z or 0.0 if opts.spin2z is not None or sngl_inspiral_table: result_dict["spin2z"] = opts.spin2z or 0.0 if opts.eff_lambda is not None: result_dict["psi0"] = opts.eff_lambda if opts.deff_lambda is not None: result_dict["psi3"] = opts.deff_lambda xmlutils.append_likelihood_result_to_xmldoc(xmldoc, numpy.log(res), neff=neff, **result_dict) utils.write_filename(xmldoc, opts.output_file, gz=opts.output_file.endswith(".gz")) if opts.save_samples: samples = sampler._rvs samples["distance"] = samples["distance"] if not opts.time_marginalization: samples["t_ref"] += float(fiducial_epoch) else: samples["t_ref"] = float(fiducial_epoch) * numpy.ones( len(sampler._rvs["psi"])) samples["polarization"] = samples["psi"] samples["coa_phase"] = samples["phi_orb"] if ("declination", "right_ascension") in sampler.params:
samples["longitude"] = samples["right_ascension"] samples["loglikelihood"] = numpy.log(samples["integrand"]) samples["mass1"] = numpy.ones(samples["psi"].shape) * opts.mass1 samples["mass2"] = numpy.ones(samples["psi"].shape) * opts.mass2 if opts.eff_lambda is not None or opts.deff_lambda is not None: # FIXME: the column mapping isn't working right, we need to fix that # rather than give these weird names samples["psi0"] = numpy.ones( samples["psi"].shape) * opts.eff_lambda samples["psi3"] = numpy.ones( samples["psi"].shape) * (opts.deff_lambda or 0) xmlutils.append_samples_to_xmldoc(xmldoc, samples) # FIXME: likelihood or loglikehood # FIXME: How to encode variance? xmlutils.append_likelihood_result_to_xmldoc(xmldoc, numpy.log(res), neff=neff, **{ "mass1": opts.mass1, "mass2": opts.mass2, "event_duration": numpy.sqrt(var) / res, "ttotal": sampler.ntotal }) utils.write_filename(xmldoc, opts.output_file, gz=opts.output_file.endswith(".gz"))