PyCBC 2.3.4__tar.gz → 2.3.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (729) hide show
  1. {PyCBC-2.3.4 → PyCBC-2.3.6}/PKG-INFO +2 -2
  2. {PyCBC-2.3.4 → PyCBC-2.3.6}/PyCBC.egg-info/PKG-INFO +2 -2
  3. {PyCBC-2.3.4 → PyCBC-2.3.6}/PyCBC.egg-info/SOURCES.txt +3 -0
  4. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_bin_trigger_rates_dq +6 -2
  5. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_prepare_xml_for_gracedb +1 -1
  6. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/minifollowups/pycbc_foreground_minifollowup +43 -35
  7. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/minifollowups/pycbc_injection_minifollowup +11 -6
  8. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/minifollowups/pycbc_sngl_minifollowup +7 -2
  9. PyCBC-2.3.6/bin/minifollowups/pycbc_upload_prep_minifollowup +200 -0
  10. PyCBC-2.3.6/bin/plotting/pycbc_page_dq_table +54 -0
  11. PyCBC-2.3.6/bin/plotting/pycbc_page_template_bin_table +75 -0
  12. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_dq_flag_likelihood +4 -1
  13. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_convertinjfiletohdf +5 -1
  14. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflows/pycbc_make_offline_search_workflow +22 -5
  15. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/_version.py +54 -25
  16. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/_version_helper.py +35 -35
  17. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/version.py +10 -10
  18. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/minifollowups.py +443 -57
  19. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/plotting.py +26 -3
  20. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/psd.py +1 -4
  21. {PyCBC-2.3.4 → PyCBC-2.3.6}/setup.py +1 -1
  22. {PyCBC-2.3.4 → PyCBC-2.3.6}/LICENSE +0 -0
  23. {PyCBC-2.3.4 → PyCBC-2.3.6}/MANIFEST.in +0 -0
  24. {PyCBC-2.3.4 → PyCBC-2.3.6}/PyCBC.egg-info/dependency_links.txt +0 -0
  25. {PyCBC-2.3.4 → PyCBC-2.3.6}/PyCBC.egg-info/requires.txt +0 -0
  26. {PyCBC-2.3.4 → PyCBC-2.3.6}/PyCBC.egg-info/top_level.txt +0 -0
  27. {PyCBC-2.3.4 → PyCBC-2.3.6}/README.md +0 -0
  28. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_add_statmap +0 -0
  29. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_apply_rerank +0 -0
  30. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_average_psd +0 -0
  31. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_bin_templates +0 -0
  32. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_calculate_psd +0 -0
  33. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_coinc_findtrigs +0 -0
  34. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_coinc_hdfinjfind +0 -0
  35. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_coinc_mergetrigs +0 -0
  36. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_coinc_statmap +0 -0
  37. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_coinc_statmap_inj +0 -0
  38. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_combine_coincident_events +0 -0
  39. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_combine_statmap +0 -0
  40. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_cut_merge_triggers_to_tmpltbank +0 -0
  41. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_distribute_background_bins +0 -0
  42. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_dtphase +0 -0
  43. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_exclude_zerolag +0 -0
  44. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_fit_sngls_binned +0 -0
  45. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_fit_sngls_by_template +0 -0
  46. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_fit_sngls_over_multiparam +0 -0
  47. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_fit_sngls_over_param +0 -0
  48. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_fit_sngls_split_binned +0 -0
  49. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_followup_file +0 -0
  50. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_foreground_censor +0 -0
  51. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_get_loudest_params +0 -0
  52. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_make_bayestar_skymap +0 -0
  53. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_merge_psds +0 -0
  54. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_plot_kde_vals +0 -0
  55. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_reduce_template_bank +0 -0
  56. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_rerank_passthrough +0 -0
  57. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_sngls_findtrigs +0 -0
  58. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_sngls_pastro +0 -0
  59. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_sngls_statmap +0 -0
  60. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_sngls_statmap_inj +0 -0
  61. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_strip_injections +0 -0
  62. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_template_kde_calc +0 -0
  63. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_template_kde_max +0 -0
  64. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_template_recovery_hist +0 -0
  65. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/all_sky_search/pycbc_upload_single_event_to_gracedb +0 -0
  66. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/bank/pycbc_aligned_bank_cat +0 -0
  67. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/bank/pycbc_aligned_stoch_bank +0 -0
  68. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/bank/pycbc_bank_verification +0 -0
  69. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/bank/pycbc_brute_bank +0 -0
  70. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/bank/pycbc_coinc_bank2hdf +0 -0
  71. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/bank/pycbc_geom_aligned_2dstack +0 -0
  72. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/bank/pycbc_geom_aligned_bank +0 -0
  73. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/bank/pycbc_geom_nonspinbank +0 -0
  74. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/bank/pycbc_tmpltbank_to_chi_params +0 -0
  75. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/hwinj/pycbc_generate_hwinj +0 -0
  76. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/hwinj/pycbc_generate_hwinj_from_xml +0 -0
  77. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/hwinj/pycbc_insert_frame_hwinj +0 -0
  78. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/hwinj/pycbc_plot_hwinj +0 -0
  79. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference +0 -0
  80. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_create_fits +0 -0
  81. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_extract_samples +0 -0
  82. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_model_stats +0 -0
  83. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_monitor +0 -0
  84. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_acceptance_rate +0 -0
  85. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_acf +0 -0
  86. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_acl +0 -0
  87. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_dynesty_run +0 -0
  88. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_dynesty_traceplot +0 -0
  89. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_gelman_rubin +0 -0
  90. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_geweke +0 -0
  91. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_inj_recovery +0 -0
  92. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_mcmc_history +0 -0
  93. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_movie +0 -0
  94. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_posterior +0 -0
  95. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_pp +0 -0
  96. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_prior +0 -0
  97. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_samples +0 -0
  98. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_skymap +0 -0
  99. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_plot_thermodynamic_integrand +0 -0
  100. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_pp_table_summary +0 -0
  101. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_start_from_samples +0 -0
  102. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_inference_table_summary +0 -0
  103. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/pycbc_validate_test_posterior +0 -0
  104. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/inference/run_pycbc_inference +0 -0
  105. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/live/pycbc_live_combine_single_fits +0 -0
  106. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/live/pycbc_live_plot_combined_single_fits +0 -0
  107. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/live/pycbc_live_plot_single_trigger_fits +0 -0
  108. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/live/pycbc_live_single_trigger_fits +0 -0
  109. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/minifollowups/pycbc_page_coincinfo +0 -0
  110. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/minifollowups/pycbc_page_injinfo +0 -0
  111. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/minifollowups/pycbc_page_snglinfo +0 -0
  112. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/minifollowups/pycbc_plot_chigram +0 -0
  113. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/minifollowups/pycbc_plot_trigger_timeseries +0 -0
  114. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/minifollowups/pycbc_single_template_plot +0 -0
  115. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_banksim_plot_eff_fitting_factor +0 -0
  116. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_banksim_plot_fitting_factors +0 -0
  117. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_banksim_table_point_injs +0 -0
  118. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_create_html_snippet +0 -0
  119. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_faithsim_plots +0 -0
  120. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_ifar_catalog +0 -0
  121. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_mass_area_plot +0 -0
  122. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_mchirp_plots +0 -0
  123. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_banktriggerrate +0 -0
  124. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_coinc_snrchi +0 -0
  125. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_foreground +0 -0
  126. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_foundmissed +0 -0
  127. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_ifar +0 -0
  128. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_injtable +0 -0
  129. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_recovery +0 -0
  130. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_segments +0 -0
  131. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_segplot +0 -0
  132. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_segtable +0 -0
  133. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_sensitivity +0 -0
  134. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_snrchi +0 -0
  135. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_snrifar +0 -0
  136. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_snrratehist +0 -0
  137. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_versioning +0 -0
  138. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_page_vetotable +0 -0
  139. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_background_coincs +0 -0
  140. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_bank_bins +0 -0
  141. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_bank_corner +0 -0
  142. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_dq_likelihood_vs_time +0 -0
  143. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_dq_percentiles +0 -0
  144. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_gate_triggers +0 -0
  145. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_gating +0 -0
  146. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_hist +0 -0
  147. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_multiifo_dtphase +0 -0
  148. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_psd_file +0 -0
  149. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_psd_timefreq +0 -0
  150. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_qscan +0 -0
  151. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_range +0 -0
  152. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_range_vs_mtot +0 -0
  153. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_singles_timefreq +0 -0
  154. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_singles_vs_params +0 -0
  155. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_throughput +0 -0
  156. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_trigrate +0 -0
  157. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_vt_ratio +0 -0
  158. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/plotting/pycbc_plot_waveform +0 -0
  159. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/population/pycbc_multiifo_pastro +0 -0
  160. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/population/pycbc_population_plots +0 -0
  161. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/population/pycbc_population_rates +0 -0
  162. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_banksim +0 -0
  163. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_banksim_combine_banks +0 -0
  164. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_banksim_match_combine +0 -0
  165. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_banksim_skymax +0 -0
  166. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_coinc_time +0 -0
  167. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_compress_bank +0 -0
  168. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_condition_strain +0 -0
  169. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_copy_output_map +0 -0
  170. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_create_injections +0 -0
  171. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_data_store +0 -0
  172. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_faithsim +0 -0
  173. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_faithsim_collect_results +0 -0
  174. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_fit_sngl_trigs +0 -0
  175. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_get_ffinal +0 -0
  176. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_gwosc_segment_query +0 -0
  177. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_hdf5_splitbank +0 -0
  178. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_hdf_splitinj +0 -0
  179. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_inj_cut +0 -0
  180. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_inspiral +0 -0
  181. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_inspiral_skymax +0 -0
  182. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_live +0 -0
  183. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_live_nagios_monitor +0 -0
  184. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_make_banksim +0 -0
  185. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_make_faithsim +0 -0
  186. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_make_html_page +0 -0
  187. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_make_skymap +0 -0
  188. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_merge_inj_hdf +0 -0
  189. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_multi_inspiral +0 -0
  190. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_optimal_snr +0 -0
  191. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_optimize_snr +0 -0
  192. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_process_sngls +0 -0
  193. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_randomize_inj_dist_by_optsnr +0 -0
  194. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_single_template +0 -0
  195. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_source_probability_offline +0 -0
  196. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_split_inspinj +0 -0
  197. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_splitbank +0 -0
  198. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_stageout_failed_workflow +0 -0
  199. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_submit_dax +0 -0
  200. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pycbc_upload_xml_to_gracedb +0 -0
  201. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_grb_inj_combiner +0 -0
  202. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_grb_inj_finder +0 -0
  203. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_grb_trig_cluster +0 -0
  204. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_grb_trig_combiner +0 -0
  205. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_make_offline_grb_workflow +0 -0
  206. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_efficiency +0 -0
  207. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_grb_info_table +0 -0
  208. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_minifollowups +0 -0
  209. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_page_tables +0 -0
  210. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_plot_chisq_veto +0 -0
  211. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_plot_coh_ifosnr +0 -0
  212. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_plot_injs_results +0 -0
  213. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_plot_null_stats +0 -0
  214. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_plot_skygrid +0 -0
  215. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_plot_snr_timeseries +0 -0
  216. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_plot_stats_distribution +0 -0
  217. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/pygrb/pycbc_pygrb_pp_workflow +0 -0
  218. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflow_comparisons/offline_search/pycbc_combine_injection_comparisons +0 -0
  219. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflow_comparisons/offline_search/pycbc_injection_set_comparison +0 -0
  220. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflow_comparisons/offline_search/pycbc_plot_injections_found_both_workflows +0 -0
  221. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflow_comparisons/offline_search/pycbc_plot_injections_missed_one_workflow +0 -0
  222. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflow_comparisons/offline_search/pycbc_plot_vt_ratio_vs_ifar +0 -0
  223. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflows/pycbc_make_bank_verifier_workflow +0 -0
  224. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflows/pycbc_make_faithsim_workflow +0 -0
  225. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflows/pycbc_make_inference_inj_workflow +0 -0
  226. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflows/pycbc_make_inference_plots_workflow +0 -0
  227. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflows/pycbc_make_inference_workflow +0 -0
  228. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflows/pycbc_make_psd_estimation_workflow +0 -0
  229. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflows/pycbc_make_sbank_workflow +0 -0
  230. {PyCBC-2.3.4 → PyCBC-2.3.6}/bin/workflows/pycbc_make_uberbank_workflow +0 -0
  231. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/banksim/injection0.xml +0 -0
  232. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/banksim/run.sh +0 -0
  233. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/cal/foton_filter_esd_saturation/pycbc_check_esd_saturation.sh +0 -0
  234. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/cal/foton_filter_esd_saturation/pycbc_check_pcal_saturation.sh +0 -0
  235. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/cal/foton_filter_esd_saturation/run_pcal_saturation_example.sh +0 -0
  236. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/catalog/data.py +0 -0
  237. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/catalog/stat.py +0 -0
  238. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/catalog/what.py +0 -0
  239. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/dataquality/hwinj.py +0 -0
  240. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/dataquality/on.py +0 -0
  241. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/detector/ant.py +0 -0
  242. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/detector/custom.py +0 -0
  243. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/detector/delay.py +0 -0
  244. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/detector/loc.py +0 -0
  245. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/detector/travel.py +0 -0
  246. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/distributions/list_distributions.py +0 -0
  247. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/distributions/mass_examples.py +0 -0
  248. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/distributions/mchirp_q_from_uniform_m1m2_example.py +0 -0
  249. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/distributions/sampling_from_config_example.py +0 -0
  250. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/distributions/spin_examples.py +0 -0
  251. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/distributions/spin_spatial_distr_example.py +0 -0
  252. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/faith/injection0.xml +0 -0
  253. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/faith/pegasus_workflow_create.sh +0 -0
  254. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/faith/pegasus_workflow_submit.sh +0 -0
  255. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/faith/run.sh +0 -0
  256. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/filter/chisq.py +0 -0
  257. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/filter/fir.py +0 -0
  258. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/filter/pass.py +0 -0
  259. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/filter/snr.py +0 -0
  260. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/gw150914/audio.py +0 -0
  261. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/gw150914/gw150914_h1_snr.py +0 -0
  262. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/gw150914/gw150914_shape.py +0 -0
  263. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/analytic-normal2d/make_movie.sh +0 -0
  264. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/analytic-normal2d/plot.sh +0 -0
  265. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/analytic-normal2d/run.sh +0 -0
  266. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/bbh-injection/make_injection.sh +0 -0
  267. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/bbh-injection/run.sh +0 -0
  268. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/bbh-injection/run_test.sh +0 -0
  269. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/gw150914/plot.sh +0 -0
  270. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/gw150914/run.sh +0 -0
  271. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/gw150914/run_test.sh +0 -0
  272. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/hierarchical/make_injections.sh +0 -0
  273. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/hierarchical/run.sh +0 -0
  274. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/hierarchical/run_test.sh +0 -0
  275. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/lisa_smbhb_inj/injection_smbhb.sh +0 -0
  276. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/lisa_smbhb_inj/plot.sh +0 -0
  277. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/lisa_smbhb_inj/run.sh +0 -0
  278. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/lisa_smbhb_ldc/advanced_plot.py +0 -0
  279. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/lisa_smbhb_ldc/get.sh +0 -0
  280. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/lisa_smbhb_ldc/plot.sh +0 -0
  281. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/lisa_smbhb_ldc/run.sh +0 -0
  282. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/list_parameters.py +0 -0
  283. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/margtime/get.sh +0 -0
  284. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/margtime/run.sh +0 -0
  285. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/margtime/run_inj.sh +0 -0
  286. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/multisignal/get.sh +0 -0
  287. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/multisignal/make_injections.sh +0 -0
  288. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/multisignal/rel.sh +0 -0
  289. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/multisignal/run.sh +0 -0
  290. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/multisignal/single.sh +0 -0
  291. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/relative/get.sh +0 -0
  292. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/relative/plot.sh +0 -0
  293. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/relative/run.sh +0 -0
  294. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/relmarg/get.sh +0 -0
  295. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/relmarg/run.sh +0 -0
  296. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/samplers/run.sh +0 -0
  297. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/single/get.sh +0 -0
  298. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/single/plot.sh +0 -0
  299. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/single/run.sh +0 -0
  300. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/single/run_instant.sh +0 -0
  301. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inference/single/run_marg.sh +0 -0
  302. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inspiral/check_GW150914_detection.py +0 -0
  303. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inspiral/clean.sh +0 -0
  304. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/inspiral/run.sh +0 -0
  305. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/live/check_results.py +0 -0
  306. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/live/generate_injections.py +0 -0
  307. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/live/make_singles_fits_file.py +0 -0
  308. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/live/run.sh +0 -0
  309. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/make_skymap/GW150914.sh +0 -0
  310. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/make_skymap/GW170817.sh +0 -0
  311. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/make_skymap/simulated_data.sh +0 -0
  312. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/multi_inspiral/check_faceon_faceaway_trigs.py +0 -0
  313. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/multi_inspiral/check_gw170817_trigs.py +0 -0
  314. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/multi_inspiral/clean.sh +0 -0
  315. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/multi_inspiral/faceon_faceaway.sh +0 -0
  316. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/multi_inspiral/run.sh +0 -0
  317. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/noise/frequency.py +0 -0
  318. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/noise/timeseries.py +0 -0
  319. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/overlap.py +0 -0
  320. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/psd/analytic.py +0 -0
  321. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/psd/estimate.py +0 -0
  322. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/psd/read.py +0 -0
  323. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/search/bank.sh +0 -0
  324. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/search/check_job.py +0 -0
  325. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/search/gen.sh +0 -0
  326. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/search/get.sh +0 -0
  327. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/search/master.sh +0 -0
  328. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/search/stats.sh +0 -0
  329. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/search/submit.sh +0 -0
  330. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/bank_workflow_test/gen.sh +0 -0
  331. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/cleanOutput.sh +0 -0
  332. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/make_cache.sh +0 -0
  333. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testAligned.sh +0 -0
  334. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testAligned2.sh +0 -0
  335. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testAligned3.sh +0 -0
  336. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testNonspin.sh +0 -0
  337. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testNonspin2.sh +0 -0
  338. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testNonspin3.sh +0 -0
  339. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testStoch.sh +0 -0
  340. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testStoch2.sh +0 -0
  341. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testStoch3.sh +0 -0
  342. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/tmpltbank/testStoch4.sh +0 -0
  343. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/waveform/add_waveform.py +0 -0
  344. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/waveform/higher_modes.py +0 -0
  345. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/waveform/match_waveform.py +0 -0
  346. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/waveform/plot_detwaveform.py +0 -0
  347. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/waveform/plot_fd_td.py +0 -0
  348. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/waveform/plot_freq.py +0 -0
  349. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/waveform/plot_phase.py +0 -0
  350. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/waveform/plot_waveform.py +0 -0
  351. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/waveform/what_waveform.py +0 -0
  352. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/data_checker/daily_test.py +0 -0
  353. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/data_checker/get_data_example.py +0 -0
  354. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/data_checker/run_daily_test.sh +0 -0
  355. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/data_checker/run_get_data_example.sh +0 -0
  356. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/dayhopecheck/dayhopecheck.py +0 -0
  357. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/dayhopecheck/run_dayhopecheck.sh +0 -0
  358. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/generic/multilevel_subworkflow_data/run.sh +0 -0
  359. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/generic/multilevel_subworkflow_data/simple.py +0 -0
  360. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/generic/simple_subworkflow_data/run.sh +0 -0
  361. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/generic/simple_subworkflow_data/simple.py +0 -0
  362. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/inference/bbh_inj-dynesty/create_inj_workflow.sh +0 -0
  363. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/inference/gw150914_gw170814-dynesty/create_workflow.sh +0 -0
  364. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/inference/gw150914_gw170814-emcee_pt/create_workflow.sh +0 -0
  365. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/inference/small_test/gen.sh +0 -0
  366. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/pygrb/ER7/run_er7_pygrb_offline.sh +0 -0
  367. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/pygrb/ER8/run_er8_pygrb_offline.sh +0 -0
  368. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/pygrb/ER8/run_er8_pygrb_online.sh +0 -0
  369. {PyCBC-2.3.4 → PyCBC-2.3.6}/examples/workflow/pygrb/S6/run_s6_pygrb.sh +0 -0
  370. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/__init__.py +0 -0
  371. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/bin_utils.py +0 -0
  372. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/boundaries.py +0 -0
  373. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/catalog/__init__.py +0 -0
  374. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/catalog/catalog.py +0 -0
  375. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/conversions.py +0 -0
  376. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/coordinates.py +0 -0
  377. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/cosmology.py +0 -0
  378. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/detector.py +0 -0
  379. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/__init__.py +0 -0
  380. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/angular.py +0 -0
  381. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/arbitrary.py +0 -0
  382. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/bounded.py +0 -0
  383. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/constraints.py +0 -0
  384. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/external.py +0 -0
  385. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/fixedsamples.py +0 -0
  386. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/gaussian.py +0 -0
  387. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/joint.py +0 -0
  388. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/mass.py +0 -0
  389. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/power_law.py +0 -0
  390. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/qnm.py +0 -0
  391. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/sky_location.py +0 -0
  392. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/spins.py +0 -0
  393. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/uniform.py +0 -0
  394. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/uniform_log.py +0 -0
  395. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/distributions/utils.py +0 -0
  396. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/dq.py +0 -0
  397. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/__init__.py +0 -0
  398. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/coherent.py +0 -0
  399. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/coinc.py +0 -0
  400. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/coinc_rate.py +0 -0
  401. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/cuts.py +0 -0
  402. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/eventmgr.py +0 -0
  403. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/eventmgr_cython.pyx +0 -0
  404. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/ranking.py +0 -0
  405. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/significance.py +0 -0
  406. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/simd_threshold_ccode.cpp +0 -0
  407. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/simd_threshold_cython.pyx +0 -0
  408. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/single.py +0 -0
  409. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/stat.py +0 -0
  410. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/threshold_cpu.py +0 -0
  411. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/threshold_cuda.py +0 -0
  412. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/trigger_fits.py +0 -0
  413. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/triggers.py +0 -0
  414. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/events/veto.py +0 -0
  415. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/__init__.py +0 -0
  416. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/backend_cpu.py +0 -0
  417. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/backend_cuda.py +0 -0
  418. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/backend_mkl.py +0 -0
  419. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/backend_support.py +0 -0
  420. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/class_api.py +0 -0
  421. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/core.py +0 -0
  422. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/cuda_pyfft.py +0 -0
  423. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/cufft.py +0 -0
  424. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/fft_callback.py +0 -0
  425. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/fftw.py +0 -0
  426. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/fftw_pruned.py +0 -0
  427. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/fftw_pruned_cython.pyx +0 -0
  428. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/func_api.py +0 -0
  429. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/mkl.py +0 -0
  430. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/npfft.py +0 -0
  431. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/fft/parser_support.py +0 -0
  432. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/__init__.py +0 -0
  433. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/autocorrelation.py +0 -0
  434. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/fotonfilter.py +0 -0
  435. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/matchedfilter.py +0 -0
  436. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/matchedfilter_cpu.pyx +0 -0
  437. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/matchedfilter_cuda.py +0 -0
  438. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/matchedfilter_numpy.py +0 -0
  439. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/qtransform.py +0 -0
  440. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/resample.py +0 -0
  441. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/simd_correlate.py +0 -0
  442. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/simd_correlate_ccode.cpp +0 -0
  443. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/simd_correlate_cython.pyx +0 -0
  444. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/filter/zpk.py +0 -0
  445. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/frame/__init__.py +0 -0
  446. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/frame/frame.py +0 -0
  447. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/frame/gwosc.py +0 -0
  448. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/frame/store.py +0 -0
  449. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/__init__.py +0 -0
  450. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/burn_in.py +0 -0
  451. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/entropy.py +0 -0
  452. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/evidence.py +0 -0
  453. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/gelman_rubin.py +0 -0
  454. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/geweke.py +0 -0
  455. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/__init__.py +0 -0
  456. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/base_hdf.py +0 -0
  457. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/base_mcmc.py +0 -0
  458. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/base_multitemper.py +0 -0
  459. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/base_nested_sampler.py +0 -0
  460. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/base_sampler.py +0 -0
  461. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/cpnest.py +0 -0
  462. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/dynesty.py +0 -0
  463. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/emcee.py +0 -0
  464. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/emcee_pt.py +0 -0
  465. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/epsie.py +0 -0
  466. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/multinest.py +0 -0
  467. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/posterior.py +0 -0
  468. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/ptemcee.py +0 -0
  469. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/txt.py +0 -0
  470. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/io/ultranest.py +0 -0
  471. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/jump/__init__.py +0 -0
  472. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/jump/angular.py +0 -0
  473. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/jump/bounded_normal.py +0 -0
  474. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/jump/discrete.py +0 -0
  475. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/jump/normal.py +0 -0
  476. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/__init__.py +0 -0
  477. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/analytic.py +0 -0
  478. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/base.py +0 -0
  479. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/base_data.py +0 -0
  480. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/brute_marg.py +0 -0
  481. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/data_utils.py +0 -0
  482. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/gated_gaussian_noise.py +0 -0
  483. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/gaussian_noise.py +0 -0
  484. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/hierarchical.py +0 -0
  485. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/marginalized_gaussian_noise.py +0 -0
  486. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/relbin.py +0 -0
  487. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/relbin_cpu.pyx +0 -0
  488. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/single_template.py +0 -0
  489. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/models/tools.py +0 -0
  490. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/option_utils.py +0 -0
  491. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/__init__.py +0 -0
  492. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/base.py +0 -0
  493. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/base_cube.py +0 -0
  494. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/base_mcmc.py +0 -0
  495. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/base_multitemper.py +0 -0
  496. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/cpnest.py +0 -0
  497. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/dummy.py +0 -0
  498. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/dynesty.py +0 -0
  499. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/emcee.py +0 -0
  500. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/emcee_pt.py +0 -0
  501. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/epsie.py +0 -0
  502. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/multinest.py +0 -0
  503. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/ptemcee.py +0 -0
  504. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/refine.py +0 -0
  505. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inference/sampler/ultranest.py +0 -0
  506. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inject/__init__.py +0 -0
  507. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inject/inject.py +0 -0
  508. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/inject/injfilterrejector.py +0 -0
  509. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/io/__init__.py +0 -0
  510. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/io/hdf.py +0 -0
  511. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/io/ligolw.py +0 -0
  512. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/io/live.py +0 -0
  513. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/io/record.py +0 -0
  514. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/libutils.py +0 -0
  515. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/live/__init__.py +0 -0
  516. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/live/snr_optimizer.py +0 -0
  517. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/mchirp_area.py +0 -0
  518. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/neutron_stars/__init__.py +0 -0
  519. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/neutron_stars/eos_utils.py +0 -0
  520. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/neutron_stars/ns_data/equil_2H.dat +0 -0
  521. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/neutron_stars/pg_isso_solver.py +0 -0
  522. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/noise/__init__.py +0 -0
  523. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/noise/gaussian.py +0 -0
  524. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/noise/reproduceable.py +0 -0
  525. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/opt.py +0 -0
  526. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/pnutils.py +0 -0
  527. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/pool.py +0 -0
  528. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/population/__init__.py +0 -0
  529. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/population/fgmc_functions.py +0 -0
  530. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/population/fgmc_laguerre.py +0 -0
  531. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/population/fgmc_plots.py +0 -0
  532. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/population/live_pastro.py +0 -0
  533. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/population/live_pastro_utils.py +0 -0
  534. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/population/population_models.py +0 -0
  535. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/population/rates_functions.py +0 -0
  536. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/population/scale_injections.py +0 -0
  537. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/psd/__init__.py +0 -0
  538. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/psd/analytical.py +0 -0
  539. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/psd/analytical_space.py +0 -0
  540. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/psd/estimate.py +0 -0
  541. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/psd/read.py +0 -0
  542. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/psd/variation.py +0 -0
  543. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/rate.py +0 -0
  544. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/__init__.py +0 -0
  545. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/color.py +0 -0
  546. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/dq.py +0 -0
  547. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/followup.py +0 -0
  548. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/layout.py +0 -0
  549. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/metadata.py +0 -0
  550. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/mpld3_utils.py +0 -0
  551. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/plot.py +0 -0
  552. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/psd.py +0 -0
  553. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/pygrb_plotting_utils.py +0 -0
  554. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/pygrb_postprocessing_utils.py +0 -0
  555. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/render.py +0 -0
  556. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/scatter_histograms.py +0 -0
  557. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/snr.py +0 -0
  558. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/css/bootstrap/3.3.2/bootstrap.min.css +0 -0
  559. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/css/bootstrap.min.css +0 -0
  560. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/css/fancybox/2.1.5/jquery.fancybox.css +0 -0
  561. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/css/pycbc/orange.css +0 -0
  562. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/css/pycbc/red.css +0 -0
  563. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Light.css +0 -0
  564. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Light.eot +0 -0
  565. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Light.html +0 -0
  566. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Light.ttf +0 -0
  567. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Light.woff +0 -0
  568. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Semibold.css +0 -0
  569. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Semibold.eot +0 -0
  570. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Semibold.html +0 -0
  571. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Semibold.ttf +0 -0
  572. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/fonts/Lato-Semibold.woff +0 -0
  573. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/js/bootstrap/3.3.2/bootstrap.min.js +0 -0
  574. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/js/bootstrap.min.js +0 -0
  575. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/js/fancybox/2.1.5/fancybox-orange.js +0 -0
  576. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/js/fancybox/2.1.5/jquery.fancybox.js +0 -0
  577. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/js/fancybox/2.1.5/jquery.fancybox.pack.js +0 -0
  578. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/js/jquery/1.10.2/jquery-1.10.2.min.js +0 -0
  579. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/js/jquery/1.10.2/jquery.mousewheel-3.0.6.pack.js +0 -0
  580. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/static/js/jquery.min.js +0 -0
  581. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/str_utils.py +0 -0
  582. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/table_utils.py +0 -0
  583. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/templates/files/file_default.html +0 -0
  584. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/templates/files/file_glitchgram.html +0 -0
  585. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/templates/files/file_img.html +0 -0
  586. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/templates/files/file_pre.html +0 -0
  587. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/templates/files/file_tmplt.html +0 -0
  588. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/templates/orange.html +0 -0
  589. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/templates/red.html +0 -0
  590. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/templates/wells/sitemap.html +0 -0
  591. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/templates/wells/two_column.html +0 -0
  592. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/results/versioning.py +0 -0
  593. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/scheme.py +0 -0
  594. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/sensitivity.py +0 -0
  595. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/strain/__init__.py +0 -0
  596. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/strain/calibration.py +0 -0
  597. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/strain/gate.py +0 -0
  598. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/strain/lines.py +0 -0
  599. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/strain/recalibrate.py +0 -0
  600. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/strain/strain.py +0 -0
  601. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/__init__.py +0 -0
  602. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/bank_conversions.py +0 -0
  603. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/bank_output_utils.py +0 -0
  604. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/brute_force_methods.py +0 -0
  605. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/calc_moments.py +0 -0
  606. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/coord_utils.py +0 -0
  607. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/lambda_mapping.py +0 -0
  608. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/lattice_utils.py +0 -0
  609. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/option_utils.py +0 -0
  610. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/tmpltbank/partitioned_bank.py +0 -0
  611. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/transforms.py +0 -0
  612. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/types/__init__.py +0 -0
  613. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/types/aligned.py +0 -0
  614. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/types/array.py +0 -0
  615. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/types/array_cpu.pyx +0 -0
  616. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/types/array_cuda.py +0 -0
  617. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/types/config.py +0 -0
  618. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/types/frequencyseries.py +0 -0
  619. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/types/optparse.py +0 -0
  620. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/types/timeseries.py +0 -0
  621. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/vetoes/__init__.py +0 -0
  622. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/vetoes/autochisq.py +0 -0
  623. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/vetoes/bank_chisq.py +0 -0
  624. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/vetoes/chisq.py +0 -0
  625. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/vetoes/chisq_cpu.pyx +0 -0
  626. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/vetoes/chisq_cuda.py +0 -0
  627. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/vetoes/sgchisq.py +0 -0
  628. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/SpinTaylorF2.py +0 -0
  629. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/__init__.py +0 -0
  630. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/bank.py +0 -0
  631. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/compress.py +0 -0
  632. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/decompress_cpu.py +0 -0
  633. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/decompress_cpu_ccode.cpp +0 -0
  634. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/decompress_cpu_cython.pyx +0 -0
  635. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/decompress_cuda.py +0 -0
  636. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/generator.py +0 -0
  637. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/multiband.py +0 -0
  638. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/nltides.py +0 -0
  639. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/parameters.py +0 -0
  640. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/plugin.py +0 -0
  641. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/premerger.py +0 -0
  642. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/pycbc_phenomC_tmplt.py +0 -0
  643. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/ringdown.py +0 -0
  644. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/sinegauss.py +0 -0
  645. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/spa_tmplt.py +0 -0
  646. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/spa_tmplt_cpu.pyx +0 -0
  647. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/spa_tmplt_cuda.py +0 -0
  648. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/supernovae.py +0 -0
  649. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/utils.py +0 -0
  650. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/utils_cpu.pyx +0 -0
  651. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/utils_cuda.py +0 -0
  652. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/waveform.py +0 -0
  653. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/waveform/waveform_modes.py +0 -0
  654. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/__init__.py +0 -0
  655. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/coincidence.py +0 -0
  656. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/configparser_test.py +0 -0
  657. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/configuration.py +0 -0
  658. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/core.py +0 -0
  659. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/datafind.py +0 -0
  660. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/dq.py +0 -0
  661. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/grb_utils.py +0 -0
  662. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/inference_followups.py +0 -0
  663. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/injection.py +0 -0
  664. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/jobsetup.py +0 -0
  665. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/matched_filter.py +0 -0
  666. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/pegasus_files/pegasus-properties.conf +0 -0
  667. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/pegasus_sites.py +0 -0
  668. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/pegasus_workflow.py +0 -0
  669. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/psdfiles.py +0 -0
  670. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/segment.py +0 -0
  671. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/splittable.py +0 -0
  672. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/tmpltbank.py +0 -0
  673. {PyCBC-2.3.4 → PyCBC-2.3.6}/pycbc/workflow/versioning.py +0 -0
  674. {PyCBC-2.3.4 → PyCBC-2.3.6}/pyproject.toml +0 -0
  675. {PyCBC-2.3.4 → PyCBC-2.3.6}/pytest.ini +0 -0
  676. {PyCBC-2.3.4 → PyCBC-2.3.6}/setup.cfg +0 -0
  677. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/bankvetotest.py +0 -0
  678. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/fft_base.py +0 -0
  679. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/lalsim.py +0 -0
  680. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_array.py +0 -0
  681. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_array_lal.py +0 -0
  682. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_autochisq.py +0 -0
  683. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_calibration.py +0 -0
  684. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_chisq.py +0 -0
  685. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_coinc_stat.py +0 -0
  686. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_conversions.py +0 -0
  687. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_correlate.py +0 -0
  688. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_cuts.py +0 -0
  689. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_detector.py +0 -0
  690. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_distributions.py +0 -0
  691. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_dq.py +0 -0
  692. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_fft_mkl_threaded.py +0 -0
  693. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_fft_unthreaded.py +0 -0
  694. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_fftw_openmp.py +0 -0
  695. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_fftw_pthreads.py +0 -0
  696. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_frame.py +0 -0
  697. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_frequencyseries.py +0 -0
  698. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_infmodel.py +0 -0
  699. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_injection.py +0 -0
  700. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_io_live.py +0 -0
  701. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_live_coinc_compare.py +0 -0
  702. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_matchedfilter.py +0 -0
  703. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_noise.py +0 -0
  704. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_pnutils.py +0 -0
  705. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_psd.py +0 -0
  706. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_resample.py +0 -0
  707. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_schemes.py +0 -0
  708. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_significance_module.py +0 -0
  709. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_skymax.py +0 -0
  710. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_spatmplt.py +0 -0
  711. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_threshold.py +0 -0
  712. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_timeseries.py +0 -0
  713. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_tmpltbank.py +0 -0
  714. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_transforms.py +0 -0
  715. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_waveform.py +0 -0
  716. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/test_waveform_utils.py +0 -0
  717. {PyCBC-2.3.4 → PyCBC-2.3.6}/test/utils.py +0 -0
  718. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/benchmarking/absolute_times.py +0 -0
  719. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/einsteinathome/check_GW150914_detection.py +0 -0
  720. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/static/hooks/hook-pycbc.py +0 -0
  721. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/static/runtime-scipy.py +0 -0
  722. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/static/runtime-tkinter.py +0 -0
  723. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/timing/arr_perf.py +0 -0
  724. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/timing/banksim/banksim.py +0 -0
  725. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/timing/correlate_perf.py +0 -0
  726. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/timing/fft_perf.py +0 -0
  727. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/timing/match_perf.py +0 -0
  728. {PyCBC-2.3.4 → PyCBC-2.3.6}/tools/timing/wav_perf.py +0 -0
  729. {PyCBC-2.3.4 → PyCBC-2.3.6}/tox.ini +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyCBC
3
- Version: 2.3.4
3
+ Version: 2.3.6
4
4
  Summary: Core library to analyze gravitational-wave data, find signals, and study their parameters.
5
5
  Home-page: http://www.pycbc.org/
6
6
  Author: The PyCBC team
7
7
  Author-email: alex.nitz@gmail.org
8
8
  License: UNKNOWN
9
- Download-URL: https://github.com/gwastro/pycbc/tarball/v2.3.4
9
+ Download-URL: https://github.com/gwastro/pycbc/tarball/v2.3.6
10
10
  Description: ![GW150914](https://raw.githubusercontent.com/gwastro/pycbc-logo/master/pycbc_logo_name.png)
11
11
 
12
12
  [PyCBC](http://pycbc.org) is a software package used to explore astrophysical sources of gravitational waves.
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyCBC
3
- Version: 2.3.4
3
+ Version: 2.3.6
4
4
  Summary: Core library to analyze gravitational-wave data, find signals, and study their parameters.
5
5
  Home-page: http://www.pycbc.org/
6
6
  Author: The PyCBC team
7
7
  Author-email: alex.nitz@gmail.org
8
8
  License: UNKNOWN
9
- Download-URL: https://github.com/gwastro/pycbc/tarball/v2.3.4
9
+ Download-URL: https://github.com/gwastro/pycbc/tarball/v2.3.6
10
10
  Description: ![GW150914](https://raw.githubusercontent.com/gwastro/pycbc-logo/master/pycbc_logo_name.png)
11
11
 
12
12
  [PyCBC](http://pycbc.org) is a software package used to explore astrophysical sources of gravitational waves.
@@ -142,6 +142,7 @@ bin/minifollowups/pycbc_plot_chigram
142
142
  bin/minifollowups/pycbc_plot_trigger_timeseries
143
143
  bin/minifollowups/pycbc_single_template_plot
144
144
  bin/minifollowups/pycbc_sngl_minifollowup
145
+ bin/minifollowups/pycbc_upload_prep_minifollowup
145
146
  bin/plotting/pycbc_banksim_plot_eff_fitting_factor
146
147
  bin/plotting/pycbc_banksim_plot_fitting_factors
147
148
  bin/plotting/pycbc_banksim_table_point_injs
@@ -152,6 +153,7 @@ bin/plotting/pycbc_mass_area_plot
152
153
  bin/plotting/pycbc_mchirp_plots
153
154
  bin/plotting/pycbc_page_banktriggerrate
154
155
  bin/plotting/pycbc_page_coinc_snrchi
156
+ bin/plotting/pycbc_page_dq_table
155
157
  bin/plotting/pycbc_page_foreground
156
158
  bin/plotting/pycbc_page_foundmissed
157
159
  bin/plotting/pycbc_page_ifar
@@ -164,6 +166,7 @@ bin/plotting/pycbc_page_sensitivity
164
166
  bin/plotting/pycbc_page_snrchi
165
167
  bin/plotting/pycbc_page_snrifar
166
168
  bin/plotting/pycbc_page_snrratehist
169
+ bin/plotting/pycbc_page_template_bin_table
167
170
  bin/plotting/pycbc_page_versioning
168
171
  bin/plotting/pycbc_page_vetotable
169
172
  bin/plotting/pycbc_plot_background_coincs
@@ -71,9 +71,9 @@ with HFile(args.trig_file, 'r') as trig_file:
71
71
  data_mask = np.zeros(n_triggers_orig, dtype=bool)
72
72
  data_mask[idx] = True
73
73
 
74
- # also get the gated times while we have the file open
74
+ if args.gating_windows:
75
75
  gate_times = []
76
- if args.gating_windows:
76
+ with h5.File(args.trig_file, 'r') as trig_file:
77
77
  logging.info('Getting gated times')
78
78
  try:
79
79
  gating_types = trig_file[f'{ifo}/gating'].keys()
@@ -188,6 +188,7 @@ with h5.File(args.output_file, 'w') as f:
188
188
  frac_dt = abs(segs) / livetime
189
189
  dq_rates[state] = frac_eff / frac_dt
190
190
  bin_grp['dq_rates'] = dq_rates
191
+ bin_grp['num_triggers'] = len(trig_times_bin)
191
192
 
192
193
  # save dq state segments
193
194
  for dq_state, segs in dq_state_segs_dict.items():
@@ -196,7 +197,10 @@ with h5.File(args.output_file, 'w') as f:
196
197
  starts, ends = segments_to_start_end(segs)
197
198
  dq_grp['segment_starts'] = starts
198
199
  dq_grp['segment_ends'] = ends
200
+ dq_grp['livetime'] = abs(segs)
199
201
 
200
202
  f.attrs['stat'] = f'{ifo}-dq_stat_info'
203
+ f.attrs['sngl_ranking'] = args.sngl_ranking
204
+ f.attrs['sngl_ranking_threshold'] = args.stat_threshold
201
205
 
202
206
  logging.info('Done!')
@@ -96,7 +96,7 @@ def read_psds(psd_files):
96
96
  psd = [group["psds"][str(i)] for i in range(len(group["psds"].keys()))]
97
97
  psds[ifo] = segmentlist(psd_segment(*segargs) for segargs in zip(
98
98
  psd, group["start_time"], group["end_time"]))
99
- return psds
99
+ return psds
100
100
 
101
101
  psds = read_psds(args.psd_files)
102
102
 
@@ -16,7 +16,14 @@
16
16
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
  """ Followup foreground events
18
18
  """
19
- import os, sys, argparse, logging, re, h5py, pycbc.workflow as wf
19
+ import os
20
+ import sys
21
+ import argparse
22
+ import logging
23
+ import re
24
+ import h5py
25
+
26
+ import pycbc.workflow as wf
20
27
  from pycbc.results import layout
21
28
  from pycbc.types import MultiDetOptionAction
22
29
  from pycbc.events import select_segments_by_definer, coinc
@@ -108,26 +115,34 @@ if args.sort_variable not in f[file_val]:
108
115
  raise KeyError(f'Sort variable {args.sort_variable} not in {file_val}: sort'
109
116
  f'choices in {file_val} are ' + ', '.join(all_datasets))
110
117
 
118
+ # In case we are doing background minifollowup with repeated events,
119
+ # we must include the ordering / template / trigger / time info for
120
+ # _many_ more events to make sure we get enough
111
121
  events_to_read = num_events * 100
112
122
 
123
+ # We've asked for more events than there are!
113
124
  if len(stat) < num_events:
114
125
  num_events = len(stat)
115
126
  if len(stat) < events_to_read:
116
127
  events_to_read = len(stat)
117
128
 
129
+ # Get the indices of the events we are considering in the order specified
118
130
  sorting = f[file_val + '/' + args.sort_variable][:].argsort()
119
131
  if args.sort_order == 'descending':
120
132
  sorting = sorting[::-1]
121
133
  event_idx = sorting[0:events_to_read]
122
134
  stat = stat[event_idx]
123
135
 
136
+ # Save the time / trigger / template ids for the events
124
137
  times = {}
125
138
  tids = {}
126
- # Version used for multi-ifo coinc code
127
139
  ifo_list = f.attrs['ifos'].split(' ')
140
+ f_cat = f[file_val]
128
141
  for ifo in ifo_list:
129
- times[ifo] = f[f'{file_val}/{ifo}/time'][:][event_idx]
130
- tids[ifo] = f[f'{file_val}/{ifo}/trigger_id'][:][event_idx]
142
+ times[ifo] = f_cat[ifo]['time'][:][event_idx]
143
+ tids[ifo] = f_cat[ifo]['trigger_id'][:][event_idx]
144
+ bank_ids = f_cat['template_id'][:][event_idx]
145
+ f.close()
131
146
 
132
147
  bank_data = h5py.File(args.bank_file, 'r')
133
148
 
@@ -187,7 +202,7 @@ while event_count < num_events and curr_idx < (events_to_read - 1):
187
202
  tags=[f'SKIP_{event_count}']),)
188
203
  skipped_data = []
189
204
 
190
- bank_id = f[f'{file_val}/template_id'][:][sorting][curr_idx]
205
+ bank_id = bank_ids[curr_idx]
191
206
 
192
207
  layouts += (mini.make_coinc_info(workflow, single_triggers, tmpltbank_file,
193
208
  coinc_file, args.output_dir, n_loudest=curr_idx,
@@ -197,40 +212,33 @@ while event_count < num_events and curr_idx < (events_to_read - 1):
197
212
  ifo_times, args.output_dir, special_tids=ifo_tids,
198
213
  tags=args.tags + [str(event_count)])
199
214
 
200
- params = {}
201
- for ifo in times:
202
- params['%s_end_time' % ifo] = times[ifo][curr_idx]
203
- try:
204
- # Only present for precessing case
205
- params['u_vals_%s' % ifo] = \
206
- fsdt[ifo][ifo]['u_vals'][tids[ifo][curr_idx]]
207
- except:
208
- pass
209
-
210
- params['mass1'] = bank_data['mass1'][bank_id]
211
- params['mass2'] = bank_data['mass2'][bank_id]
212
- params['spin1z'] = bank_data['spin1z'][bank_id]
213
- params['spin2z'] = bank_data['spin2z'][bank_id]
214
- params['f_lower'] = bank_data['f_lower'][bank_id]
215
- # don't require precessing template info if not present
216
- try:
217
- params['spin1x'] = bank_data['spin1x'][bank_id]
218
- params['spin1y'] = bank_data['spin1y'][bank_id]
219
- params['spin2x'] = bank_data['spin2x'][bank_id]
220
- params['spin2y'] = bank_data['spin2y'][bank_id]
221
- params['inclination'] = bank_data['inclination'][bank_id]
222
- except KeyError:
223
- pass
224
-
225
- files += mini.make_single_template_plots(workflow, insp_segs,
226
- args.inspiral_data_read_name,
227
- args.inspiral_data_analyzed_name, params,
228
- args.output_dir,
229
- tags=args.tags + [str(event_count)])
215
+ params = mini.get_single_template_params(
216
+ curr_idx,
217
+ times,
218
+ bank_data,
219
+ bank_ids[curr_idx],
220
+ fsdt,
221
+ tids
222
+ )
223
+
224
+ _, sngl_tmplt_plots = mini.make_single_template_plots(
225
+ workflow,
226
+ insp_segs,
227
+ args.inspiral_data_read_name,
228
+ args.inspiral_data_analyzed_name,
229
+ params,
230
+ args.output_dir,
231
+ data_segments=insp_data_seglists,
232
+ tags=args.tags + [str(event_count)]
233
+ )
234
+ files += sngl_tmplt_plots
235
+
230
236
 
231
237
  for single in single_triggers:
232
238
  time = times[single.ifo][curr_idx]
233
239
  if time==-1:
240
+ # If this detector did not trigger, still make the plot, but use
241
+ # the average time of detectors which did trigger
234
242
  time = coinc.mean_if_greater_than_zero([times[sngl.ifo][curr_idx]
235
243
  for sngl in single_triggers])[0]
236
244
  for seg in insp_analysed_seglists[single.ifo]:
@@ -292,6 +292,8 @@ for num_event in range(num_events):
292
292
 
293
293
  ifo_times += ' %s:%s ' % (ifo, ifo_time)
294
294
  inj_params[ifo + '_end_time'] = ifo_time
295
+ all_times = [inj_params[sngl.ifo + '_end_time'] for sngl in single_triggers]
296
+ inj_params['mean_time'] = coinc.mean_if_greater_than_zero(all_times)[0]
295
297
 
296
298
  layouts += [(mini.make_inj_info(workflow, injection_file, injection_index, num_event,
297
299
  args.output_dir, tags=args.tags + [str(num_event)])[0],)]
@@ -331,8 +333,7 @@ for num_event in range(num_events):
331
333
  for single in single_triggers:
332
334
  checkedtime = time
333
335
  if (inj_params[single.ifo + '_end_time'] == -1.0):
334
- all_times = [inj_params[sngl.ifo + '_end_time'] for sngl in single_triggers]
335
- checkedtime = coinc.mean_if_greater_than_zero(all_times)[0]
336
+ checkedtime = inj_params['mean_time']
336
337
  for seg in insp_analysed_seglists[single.ifo]:
337
338
  if checkedtime in seg:
338
339
  files += mini.make_singles_timefreq(workflow, single, tmpltbank_file,
@@ -351,7 +352,7 @@ for num_event in range(num_events):
351
352
  checkedtime, single.ifo
352
353
  )
353
354
 
354
- files += mini.make_single_template_plots(workflow, insp_segs,
355
+ _, norm_plot = mini.make_single_template_plots(workflow, insp_segs,
355
356
  args.inspiral_data_read_name,
356
357
  args.inspiral_data_analyzed_name, inj_params,
357
358
  args.output_dir, inj_file=injection_xml_file,
@@ -359,8 +360,9 @@ for num_event in range(num_events):
359
360
  params_str='injection parameters as template, ' +\
360
361
  'here the injection is made as normal',
361
362
  use_exact_inj_params=True)
363
+ files += norm_plot
362
364
 
363
- files += mini.make_single_template_plots(workflow, insp_segs,
365
+ _, inv_plot = mini.make_single_template_plots(workflow, insp_segs,
364
366
  args.inspiral_data_read_name,
365
367
  args.inspiral_data_analyzed_name, inj_params,
366
368
  args.output_dir, inj_file=injection_xml_file,
@@ -369,8 +371,9 @@ for num_event in range(num_events):
369
371
  params_str='injection parameters as template, ' +\
370
372
  'here the injection is made inverted',
371
373
  use_exact_inj_params=True)
374
+ files += inv_plot
372
375
 
373
- files += mini.make_single_template_plots(workflow, insp_segs,
376
+ _, noinj_plot = mini.make_single_template_plots(workflow, insp_segs,
374
377
  args.inspiral_data_read_name,
375
378
  args.inspiral_data_analyzed_name, inj_params,
376
379
  args.output_dir, inj_file=injection_xml_file,
@@ -379,6 +382,7 @@ for num_event in range(num_events):
379
382
  params_str='injection parameters, here no ' +\
380
383
  'injection was actually performed',
381
384
  use_exact_inj_params=True)
385
+ files += noinj_plot
382
386
 
383
387
  for curr_ifo in args.single_detector_triggers:
384
388
  single_fname = args.single_detector_triggers[curr_ifo]
@@ -417,12 +421,13 @@ for num_event in range(num_events):
417
421
 
418
422
  curr_tags = ['TMPLT_PARAMS_%s' %(curr_ifo,)]
419
423
  curr_tags += [str(num_event)]
420
- files += mini.make_single_template_plots(workflow, insp_segs,
424
+ _, loudest_plot = mini.make_single_template_plots(workflow, insp_segs,
421
425
  args.inspiral_data_read_name,
422
426
  args.inspiral_data_analyzed_name, curr_params,
423
427
  args.output_dir, inj_file=injection_xml_file,
424
428
  tags=args.tags + curr_tags,
425
429
  params_str='loudest template in %s' % curr_ifo )
430
+ files += loudest_plot
426
431
 
427
432
  layouts += list(layout.grouper(files, 2))
428
433
 
@@ -307,6 +307,7 @@ for rank, num_event in enumerate(order):
307
307
  curr_params['spin2z'] = trigs.spin2z[num_event]
308
308
  curr_params['f_lower'] = trigs.f_lower[num_event]
309
309
  curr_params[args.instrument + '_end_time'] = time
310
+ curr_params['mean_time'] = time
310
311
  # don't require precessing template info if not present
311
312
  try:
312
313
  curr_params['spin1x'] = trigs.spin1x[num_event]
@@ -322,12 +323,16 @@ for rank, num_event in enumerate(order):
322
323
  except:
323
324
  pass
324
325
 
325
- files += mini.make_single_template_plots(workflow, insp_segs,
326
+ _, sngl_plot = mini.make_single_template_plots(workflow, insp_segs,
326
327
  args.inspiral_data_read_name,
327
- args.inspiral_data_analyzed_name, curr_params,
328
+ args.inspiral_data_analyzed_name,
329
+ curr_params,
328
330
  args.output_dir,
331
+ data_segments={args.instrument : insp_data_seglists},
329
332
  tags=args.tags+[str(rank)])
330
333
 
334
+ files += sngl_plot
335
+
331
336
  files += mini.make_plot_waveform_plot(workflow, curr_params,
332
337
  args.output_dir, [args.instrument],
333
338
  tags=args.tags + [str(rank)])
@@ -0,0 +1,200 @@
1
+ #!/bin/env python
2
+ # Copyright (C) 2015-2023 Alexander Harvey Nitz, Gareth Cabourn Davies
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify it
5
+ # under the terms of the GNU General Public License as published by the
6
+ # Free Software Foundation; either version 3 of the License, or (at your
7
+ # option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful, but
10
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
12
+ # Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License along
15
+ # with this program; if not, write to the Free Software Foundation, Inc.,
16
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
+ """ Prepare files for upload to GraceDB for foreground events
18
+ """
19
+ import os
20
+ import sys
21
+ import argparse
22
+ import logging
23
+ import re
24
+ import h5py
25
+ import numpy as np
26
+
27
+ from ligo import segments
28
+
29
+ import pycbc.workflow as wf
30
+ from pycbc.results import layout
31
+ from pycbc.types import MultiDetOptionAction
32
+ from pycbc.events import select_segments_by_definer, coinc
33
+ from pycbc.io import get_all_subkeys
34
+ import pycbc.workflow.minifollowups as mini
35
+ from pycbc.workflow.core import resolve_url_to_file, resolve_td_option
36
+ import pycbc.version
37
+
38
+ parser = argparse.ArgumentParser(description=__doc__[1:])
39
+ parser.add_argument('--verbose', action='count',
40
+ help='Add progressively more verbose output, '
41
+ 'default=info')
42
+ parser.add_argument('--version', action='version', version=pycbc.version.git_verbose_msg)
43
+ parser.add_argument('--bank-file',
44
+ help="HDF format template bank file")
45
+ parser.add_argument('--statmap-file',
46
+ help="HDF format clustered coincident trigger result file")
47
+ parser.add_argument('--xml-all-file',
48
+ help="XML format result file containing all events")
49
+ parser.add_argument('--single-detector-triggers', nargs='+', action=MultiDetOptionAction,
50
+ help="HDF format merged single detector trigger files")
51
+ parser.add_argument('--inspiral-segments',
52
+ help="xml segment files containing the inspiral analysis times")
53
+ parser.add_argument('--inspiral-data-read-name',
54
+ help="Name of inspiral segmentlist containing data read in "
55
+ "by each analysis job.")
56
+ parser.add_argument('--inspiral-data-analyzed-name',
57
+ help="Name of inspiral segmentlist containing data "
58
+ "analyzed by each analysis job.")
59
+ parser.add_argument('--psd-files', nargs='+', action=MultiDetOptionAction,
60
+ help="HDF format merged single detector PSD files")
61
+ parser.add_argument('--ifar-thresh', type=float,
62
+ help="IFAR threshold for preparing SNR timeseries "
63
+ "files for upload. Default=No upload prep")
64
+
65
+ wf.add_workflow_command_line_group(parser)
66
+ wf.add_workflow_settings_cli(parser, include_subdax_opts=True)
67
+ args = parser.parse_args()
68
+
69
+ if args.verbose:
70
+ args.verbose += 1
71
+ else:
72
+ args.verbose = 1
73
+ pycbc.init_logging(args.verbose)
74
+
75
+ workflow = wf.Workflow(args)
76
+
77
+ wf.makedir(args.output_dir)
78
+
79
+ channel_opts = {}
80
+ for ifo in workflow.ifos:
81
+ channel_opts[ifo] = workflow.cp.get_opt_tags(
82
+ "workflow",
83
+ "%s-channel-name" % ifo.lower(),
84
+ ""
85
+ )
86
+
87
+ # create a FileList that will contain all output files
88
+ layouts = []
89
+
90
+ tmpltbank_file = resolve_url_to_file(os.path.abspath(args.bank_file))
91
+ insp_segs = resolve_url_to_file(os.path.abspath(args.inspiral_segments))
92
+ xml_all = resolve_url_to_file(os.path.abspath(args.xml_all_file))
93
+
94
+ single_triggers = []
95
+ psd_files = []
96
+ fsdt = {}
97
+ insp_data_seglists = {}
98
+ insp_analysed_seglists = {}
99
+ for ifo in args.single_detector_triggers:
100
+ strig_fname = args.single_detector_triggers[ifo]
101
+ strig_file = resolve_url_to_file(os.path.abspath(strig_fname),
102
+ attrs={'ifos': ifo})
103
+ single_triggers.append(strig_file)
104
+
105
+ psd_fname = args.psd_files[ifo]
106
+ psd_file = resolve_url_to_file(os.path.abspath(psd_fname),
107
+ attrs={'ifos': ifo})
108
+ psd_files.append(psd_file)
109
+
110
+ fsdt[ifo] = h5py.File(args.single_detector_triggers[ifo], 'r')
111
+ insp_data_seglists[ifo] = select_segments_by_definer(
112
+ args.inspiral_segments,
113
+ segment_name=args.inspiral_data_read_name,
114
+ ifo=ifo)
115
+ insp_analysed_seglists[ifo] = select_segments_by_definer(
116
+ args.inspiral_segments,
117
+ segment_name=args.inspiral_data_analyzed_name,
118
+ ifo=ifo)
119
+ insp_data_seglists[ifo].coalesce()
120
+ insp_analysed_seglists[ifo].coalesce()
121
+
122
+ f = h5py.File(args.statmap_file, 'r')
123
+ stat = f['foreground/stat'][:]
124
+
125
+ bank_data = h5py.File(args.bank_file, 'r')
126
+
127
+ ifar_limit = args.ifar_thresh
128
+ # Get indices of all events which pass the IFAR threshold
129
+ event_ifars = f['foreground/ifar'][:]
130
+ events_to_read = np.count_nonzero(event_ifars > ifar_limit)
131
+ # Sort by IFAR, descending
132
+ event_idx = event_ifars.argsort()[::-1][:events_to_read]
133
+ # Times and tids need to be reset for this set of events:
134
+ times = {}
135
+ tids = {}
136
+ bank_ids = {}
137
+
138
+ ifo_list = f.attrs['ifos'].split(' ')
139
+ for ifo in ifo_list:
140
+ times[ifo] = f[f'foreground/{ifo}/time'][:][event_idx]
141
+ tids[ifo] = f[f'foreground/{ifo}/trigger_id'][:][event_idx]
142
+ bank_ids = f['foreground/template_id'][:][event_idx]
143
+
144
+ for curr_idx in range(event_idx.size):
145
+ params = mini.get_single_template_params(
146
+ curr_idx,
147
+ times,
148
+ bank_data,
149
+ bank_ids[curr_idx],
150
+ fsdt,
151
+ tids
152
+ )
153
+
154
+ # Extract approximant
155
+ try:
156
+ appx = params.pop('approximant')
157
+ except KeyError:
158
+ # approximant not stored in params, use default
159
+ appx = None
160
+
161
+ channel_name = ""
162
+ for ifo in ifo_list:
163
+ ifo_chname = resolve_td_option(
164
+ channel_opts[ifo],
165
+ segments.segment(params['mean_time'], params['mean_time'])
166
+ )
167
+ channel_name += ifo_chname + " "
168
+
169
+ single_temp_files = []
170
+ for ifo in ifo_list:
171
+ if params['mean_time'] not in insp_analysed_seglists[ifo]:
172
+ logging.info("Mean time %.3f not in segment list",
173
+ params['mean_time'])
174
+ continue
175
+ # Make single-template files to put into the XML file for upload
176
+ single_temp_files += mini.make_single_template_files(
177
+ workflow,
178
+ insp_segs,
179
+ ifo,
180
+ args.inspiral_data_read_name,
181
+ args.inspiral_data_analyzed_name,
182
+ params,
183
+ args.output_dir,
184
+ store_file=True,
185
+ tags=args.tags+['upload', str(curr_idx)],
186
+ )
187
+
188
+ mini.make_upload_files(
189
+ workflow,
190
+ psd_files,
191
+ single_temp_files,
192
+ xml_all,
193
+ curr_idx,
194
+ appx,
195
+ args.output_dir,
196
+ channel_name,
197
+ tags=args.tags+['upload', str(curr_idx)]
198
+ )
199
+
200
+ workflow.save()
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env python
2
+ """ Make a table of dq state information
3
+ """
4
+ import sys
5
+ import argparse
6
+ import h5py as h5
7
+ import numpy as np
8
+
9
+ import pycbc
10
+ import pycbc.results
11
+ from pycbc.version import git_verbose_msg as version
12
+
13
+ parser = argparse.ArgumentParser()
14
+ parser.add_argument("--version", action="version", version=version)
15
+ parser.add_argument('--ifo', required=True)
16
+ parser.add_argument('--dq-file', required=True)
17
+ parser.add_argument('--verbose', action='count')
18
+ parser.add_argument('--output-file')
19
+ args = parser.parse_args()
20
+
21
+ dq_states = {
22
+ 'dq_state_0': 'Clean',
23
+ 'dq_state_1': 'DQ Flag',
24
+ 'dq_state_2': 'Autogating',
25
+ }
26
+
27
+ f = h5.File(args.dq_file, 'r')
28
+ grp = f[args.ifo]['dq_segments']
29
+
30
+ livetimes = []
31
+ total_livetime = 0
32
+ for dq_state in dq_states:
33
+ livetime = grp[dq_state]['livetime'][()]
34
+ livetimes.append(livetime)
35
+ total_livetime += livetime
36
+ livetimes.append(total_livetime)
37
+
38
+ frac_livetimes = [lt / total_livetime for lt in livetimes]
39
+ state_names = list(dq_states.values()) + ['Total']
40
+ columns = [state_names, livetimes, frac_livetimes]
41
+ columns = [np.array(c) for c in columns]
42
+ col_names = ['DQ State', 'Livetime', '% of Livetime']
43
+
44
+ format_strings = [None, '0.0', '0.00%']
45
+
46
+ html_table = pycbc.results.html_table(columns, col_names,
47
+ page_size=len(state_names),
48
+ format_strings=format_strings)
49
+ title = f'{args.ifo} DQ State Livetimes'
50
+ caption = 'Table of DQ state livetimes'
51
+
52
+ pycbc.results.save_fig_with_metadata(
53
+ str(html_table), args.output_file, title=title,
54
+ caption=caption, cmd=' '.join(sys.argv))
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env python
2
+ """ Make a table of template bin information
3
+ """
4
+ import sys
5
+ import argparse
6
+ import h5py as h5
7
+ import numpy as np
8
+
9
+ import pycbc
10
+ import pycbc.results
11
+ from pycbc.version import git_verbose_msg as version
12
+
13
+ parser = argparse.ArgumentParser()
14
+ parser.add_argument("--version", action="version", version=version)
15
+ parser.add_argument('--ifo', required=True)
16
+ parser.add_argument('--dq-file', required=True)
17
+ parser.add_argument('--verbose', action='count')
18
+ parser.add_argument('--output-file')
19
+ args = parser.parse_args()
20
+
21
+ f = h5.File(args.dq_file, 'r')
22
+ grp = f[args.ifo]['bins']
23
+ bin_names = list(grp.keys())
24
+
25
+ sngl_ranking = f.attrs['sngl_ranking']
26
+ sngl_thresh = f.attrs['sngl_ranking_threshold']
27
+
28
+ livetime = 0
29
+ seg_grp = f[args.ifo]['dq_segments']
30
+ for k in seg_grp.keys():
31
+ livetime += seg_grp[k]['livetime'][()]
32
+
33
+ num_templates = []
34
+ num_triggers = []
35
+ total_templates = 0
36
+ total_triggers = 0
37
+ for bin_name in bin_names:
38
+ bin_grp = grp[bin_name]
39
+
40
+ n_tmp = len(bin_grp['tids'][:])
41
+ num_templates.append(n_tmp)
42
+ total_templates += n_tmp
43
+
44
+ n_trig = bin_grp['num_triggers'][()]
45
+ num_triggers.append(n_trig)
46
+ total_triggers += n_trig
47
+
48
+ bin_names.append('Total')
49
+ num_triggers.append(total_triggers)
50
+ num_templates.append(total_templates)
51
+ frac_triggers = [n / total_triggers for n in num_triggers]
52
+ frac_templates = [n / total_templates for n in num_templates]
53
+ trigger_rate = [n / livetime for n in num_triggers]
54
+
55
+ col_names = ['Template Bin', 'Number of Templates', '% of Templates',
56
+ 'Number of Loud Triggers', '% of Loud Triggers',
57
+ 'Loud Trigger Rate (Hz)']
58
+ columns = [bin_names, num_templates, frac_templates,
59
+ num_triggers, frac_triggers, trigger_rate]
60
+ columns = [np.array(c) for c in columns]
61
+
62
+ format_strings = [None, '#', '0.000%', '#', '0.0%', '0.00E0']
63
+
64
+ html_table = pycbc.results.html_table(columns, col_names,
65
+ page_size=len(bin_names),
66
+ format_strings=format_strings)
67
+ title = f'{args.ifo} DQ Template Bin Information'
68
+ caption = 'Table of information about template bins ' \
69
+ + 'used for DQ trigger rate calculations. ' \
70
+ + 'Loud triggers are defined as those with ' \
71
+ + f'{sngl_ranking} > {sngl_thresh}.'
72
+
73
+ pycbc.results.save_fig_with_metadata(
74
+ str(html_table), args.output_file, title=title,
75
+ caption=caption, cmd=' '.join(sys.argv))
@@ -77,7 +77,10 @@ ax2.set_ylabel('DQ Log Likelihood Penalty')
77
77
  ax2.set_ylim(numpy.log(ymin), numpy.log(ymax))
78
78
 
79
79
  # add meta data and save figure
80
- plot_title = f'{ifo} DQ Trigger Rates'
80
+ plot_title = f'{ifo}:{args.dq_label} DQ Trigger Rates'
81
+
82
+ ax.set_title(plot_title)
83
+
81
84
  plot_caption = 'The log likelihood correction \
82
85
  during during each dq state for each template bin.'
83
86
  pycbc.results.save_fig_with_metadata(