#!/usr/bin/env python3

from optparse import OptionParser
#from pastro import pastro
import sqlite3
import numpy

def parse_command_line():
  parser = OptionParser()
  parser.add_option("-v", "--verbose", action = "store_true", help = "Be verbose.")
  parser.add_option("--category", help = "The category of p-astro, BNS, BBH, NSBH")
  parser.add_option("--lr-thresh", help = "likelihood threshold")
  options, filenames = parser.parse_args()
  process_params = dict(options.__dict__)

  return options, process_params, filenames

options, process_params, filenames = parse_command_line()

vt_sum = 0
for fn in filenames:
  print(fn)
  connection = sqlite3.connect(fn)
  vt = connection.cursor().execute("SELECT value FROM process_params WHERE program == 'lvc_rates_injections_vtparams' AND param == '--VT';").fetchone()[0]
  tot_num = connection.cursor().execute("SELECT count(*) FROM coinc_event").fetchone()[0]
  event_above_thresh = connection.cursor().execute("SELECT count(*) FROM coinc_event WHERE likelihood > "+options.lr_thresh).fetchone()[0]
  vt_sum += float(vt) * float(event_above_thresh) / float(tot_num)

print(options.category+" vt_params above threshold: ", vt_sum)
