print >> sys.stderr, "\twarning:  no segments found"

    #
    # Build triangulators.  The timing uncertainty of +/- 8e-5 s was
    # measured with lalapps_string_plot_binj and is essentially
    # identical for H1, H2, L1, and V1.
    #

    triangulators = stringutils.triangulators(
        dict((instrument, 8e-5) for instrument in contents.instruments))

    #
    # Run likelihood ratio calculation.
    #

    ligolw_burca2.ligolw_burca2(contents,
                                ln_likelihood_ratio,
                                coincparamsdistributions.coinc_params,
                                verbose=options.verbose,
                                params_func_extra_args=(triangulators, ))

    #
    # Clean up.
    #

    contents.xmldoc.unlink()
    connection.close()
    dbtables.put_connection_filename(filename,
                                     working_filename,
                                     verbose=options.verbose)
Exemplo n.º 2
0
	if options.verbose:
		print >>sys.stderr, "\tcalculating and recording false alarm rates ..."
	connection.cursor().execute("""
UPDATE
	coinc_ringdown
SET
	%s = (
		SELECT
			background_rate(
				coinc_event.instruments,
				coinc_ringdown.ifos,
				coinc_ringdown.frequency,
				coinc_ringdown.snr,
				CASE coinc_ringdown.false_alarm_rate WHEN 0 THEN "inf" ELSE 1.0 / coinc_ringdown.false_alarm_rate END,
				coinc_event.likelihood
			)
		FROM
			coinc_event
		WHERE
			coinc_event.coinc_event_id == coinc_ringdown.coinc_event_id
	)
	""" % options.populate_column)
	connection.commit()

#
	# close the database
	#

	connection.close()
	dbtables.put_connection_filename(filename, working_filename, verbose = options.verbose)
Exemplo n.º 3
0
    JOIN coinc_definer AS insp_coinc_definer ON (insp_coinc_definer.coinc_def_id == insp_coinc_event.coinc_def_id)
    JOIN coinc_definer AS sim_coinc_definer ON (sim_coinc_definer.coinc_def_id == sim_coinc_event.coinc_def_id)
  WHERE
    insp_coinc_definer.search == 'inspiral'
    AND sim_coinc_definer.search == 'inspiral'
    AND insp_coinc_definer.search_coinc_type == 0
    AND sim_coinc_definer.search_coinc_type == 2
    AND mapC.table_name == 'coinc_event'
    AND mapD.table_name == 'sim_inspiral'
  """):
    injection_likelihood.append(likelihood)
    injection_snr.append(snr)
  #livetimes = db_thinca_rings.get_thinca_livetimes(db_thinca_rings.get_thinca_rings_by_available_instruments(connection,'thinca'), db_thinca_rings.get_veto_segments(connection, 'vetoes'), db_thinca_rings.get_background_offset_vectors(connection), verbose=True)
  # above is the correct calculation of livetimes, but it takes a while. You can comment it out and uncomment the line below for an approximate calculation of livetime.
  livetimes = db_thinca_rings.get_thinca_livetimes(db_thinca_rings.get_thinca_rings_by_available_instruments(connection,'thinca'), segments.segmentlistdict(), db_thinca_rings.get_background_offset_vectors(connection), verbose=True)
  dbtables.put_connection_filename(filename, working_filename, verbose = True)
print "number of timeslides:", len(timeslide_likelihood)
print "number of zerolags:", len(zerolag_likelihood)
print "number of injections:", len(injection_likelihood)

all_likelihoods = numpy.array(timeslide_likelihood + zerolag_likelihood + injection_likelihood, dtype=float)
timeslide_likelihoods = numpy.array(timeslide_likelihood)
zerolag_likelihoods = numpy.array(zerolag_likelihood)
injection_likelihoods = numpy.array(injection_likelihood)
timeslide_snrs = numpy.array(timeslide_snr)
zerolag_snrs = numpy.array(zerolag_snr)
injection_snrs = numpy.array(injection_snr)
# set all zero likelihoods to the next lowest calculated likelihood, and all infinity likelihoods to the next highest, so plotting can work
plottable_likelihoods = all_likelihoods[~numpy.isinf(all_likelihoods) & (all_likelihoods > 0)]
min_likelihood = plottable_likelihoods.min()
max_likelihood = plottable_likelihoods.max()
Exemplo n.º 4
0
        time_slide 
      WHERE
       time_slide.time_slide_id == insp_coinc_event.time_slide_id
       AND time_slide.offset != 0
     )
  FROM
    coinc_inspiral 
    JOIN coinc_event AS insp_coinc_event ON (insp_coinc_event.coinc_event_id == coinc_inspiral.coinc_event_id)
  """):
        if is_background:
            timeslide_likelihood.append(likelihood)
            timeslide_snr.append(snr)
        else:
            zerolag_likelihood.append(likelihood)
            zerolag_snr.append(snr)
    dbtables.put_connection_filename(filename, working_filename, verbose=True)
#print len(timeslide_likelihood)
#print len(zerolag_likelihood)

injection_likelihood = []
injection_snr = []
for filename in inj_files:
    local_disk = None  #"/tmp"
    working_filename = dbtables.get_connection_filename(filename,
                                                        tmp_path=local_disk,
                                                        verbose=True)
    connection = sqlite3.connect(working_filename)
    dbtables.DBTable_set_connection(connection)
    xmldoc = dbtables.get_xml(connection)
    cursor = connection.cursor()
    for likelihood, snr in connection.cursor().execute("""