PyCBC 2.8.5__tar.gz → 2.8.7__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 (773) hide show
  1. {PyCBC-2.8.5 → pycbc-2.8.7}/PKG-INFO +42 -4
  2. {PyCBC-2.8.5 → pycbc-2.8.7}/PyCBC.egg-info/PKG-INFO +42 -4
  3. {PyCBC-2.8.5 → pycbc-2.8.7}/PyCBC.egg-info/requires.txt +3 -3
  4. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_multi_inspiral +41 -24
  5. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_make_offline_grb_workflow +8 -6
  6. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_efficiency +15 -9
  7. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_minifollowups +25 -15
  8. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_page_tables +25 -13
  9. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_plot_snr_timeseries +11 -5
  10. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_plot_stats_distribution +11 -11
  11. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/gw150914/audio.py +4 -6
  12. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/gw150914/gw150914_h1_snr.py +3 -3
  13. pycbc-2.8.7/examples/inference/lisa_smbhb_ldc/get.sh +24 -0
  14. pycbc-2.8.7/examples/inference/margtime/get.sh +17 -0
  15. pycbc-2.8.7/examples/inference/multisignal/get.sh +18 -0
  16. pycbc-2.8.7/examples/inference/relative/get.sh +18 -0
  17. pycbc-2.8.7/examples/inference/relmarg/get.sh +16 -0
  18. pycbc-2.8.7/examples/inference/single/get.sh +17 -0
  19. pycbc-2.8.7/examples/search/get.sh +15 -0
  20. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/catalog/__init__.py +1 -1
  21. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/coherent.py +31 -4
  22. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/eventmgr_cython.pyx +38 -0
  23. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/frame/gwosc.py +1 -2
  24. pycbc-2.8.7/pycbc/io/__init__.py +57 -0
  25. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/pygrb_postprocessing_utils.py +39 -26
  26. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/table_utils.py +16 -4
  27. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/version.py +11 -11
  28. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/minifollowups.py +3 -3
  29. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/pegasus_sites.py +2 -7
  30. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/segment.py +31 -25
  31. {PyCBC-2.8.5 → pycbc-2.8.7}/pyproject.toml +1 -1
  32. {PyCBC-2.8.5 → pycbc-2.8.7}/setup.py +4 -4
  33. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_infmodel.py +4 -1
  34. {PyCBC-2.8.5 → pycbc-2.8.7}/tox.ini +5 -2
  35. PyCBC-2.8.5/examples/inference/lisa_smbhb_ldc/get.sh +0 -16
  36. PyCBC-2.8.5/examples/inference/margtime/get.sh +0 -9
  37. PyCBC-2.8.5/examples/inference/multisignal/get.sh +0 -8
  38. PyCBC-2.8.5/examples/inference/relative/get.sh +0 -8
  39. PyCBC-2.8.5/examples/inference/relmarg/get.sh +0 -6
  40. PyCBC-2.8.5/examples/inference/single/get.sh +0 -8
  41. PyCBC-2.8.5/examples/search/get.sh +0 -6
  42. PyCBC-2.8.5/pycbc/io/__init__.py +0 -25
  43. {PyCBC-2.8.5 → pycbc-2.8.7}/LICENSE +0 -0
  44. {PyCBC-2.8.5 → pycbc-2.8.7}/MANIFEST.in +0 -0
  45. {PyCBC-2.8.5 → pycbc-2.8.7}/PyCBC.egg-info/SOURCES.txt +0 -0
  46. {PyCBC-2.8.5 → pycbc-2.8.7}/PyCBC.egg-info/dependency_links.txt +0 -0
  47. {PyCBC-2.8.5 → pycbc-2.8.7}/PyCBC.egg-info/top_level.txt +0 -0
  48. {PyCBC-2.8.5 → pycbc-2.8.7}/README.md +0 -0
  49. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_add_statmap +0 -0
  50. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_apply_rerank +0 -0
  51. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_average_psd +0 -0
  52. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_bin_templates +0 -0
  53. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_bin_trigger_rates_dq +0 -0
  54. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_calculate_psd +0 -0
  55. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_coinc_findtrigs +0 -0
  56. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_coinc_hdfinjfind +0 -0
  57. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_coinc_mergetrigs +0 -0
  58. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_coinc_statmap +0 -0
  59. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_coinc_statmap_inj +0 -0
  60. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_combine_coincident_events +0 -0
  61. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_combine_statmap +0 -0
  62. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_cut_merge_triggers_to_tmpltbank +0 -0
  63. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_distribute_background_bins +0 -0
  64. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_dtphase +0 -0
  65. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_exclude_zerolag +0 -0
  66. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_fit_sngls_binned +0 -0
  67. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_fit_sngls_by_template +0 -0
  68. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_fit_sngls_over_multiparam +0 -0
  69. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_fit_sngls_over_param +0 -0
  70. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_fit_sngls_split_binned +0 -0
  71. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_followup_file +0 -0
  72. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_foreground_censor +0 -0
  73. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_get_loudest_params +0 -0
  74. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_make_bayestar_skymap +0 -0
  75. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_merge_psds +0 -0
  76. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_plot_kde_vals +0 -0
  77. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_prepare_xml_for_gracedb +0 -0
  78. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_reduce_template_bank +0 -0
  79. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_rerank_passthrough +0 -0
  80. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_sngls_findtrigs +0 -0
  81. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_sngls_pastro +0 -0
  82. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_sngls_statmap +0 -0
  83. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_sngls_statmap_inj +0 -0
  84. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_strip_injections +0 -0
  85. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_template_kde_calc +0 -0
  86. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_template_kde_max +0 -0
  87. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_template_recovery_hist +0 -0
  88. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/all_sky_search/pycbc_upload_single_event_to_gracedb +0 -0
  89. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/bank/pycbc_aligned_bank_cat +0 -0
  90. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/bank/pycbc_aligned_stoch_bank +0 -0
  91. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/bank/pycbc_bank_verification +0 -0
  92. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/bank/pycbc_brute_bank +0 -0
  93. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/bank/pycbc_coinc_bank2hdf +0 -0
  94. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/bank/pycbc_geom_aligned_2dstack +0 -0
  95. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/bank/pycbc_geom_aligned_bank +0 -0
  96. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/bank/pycbc_geom_nonspinbank +0 -0
  97. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/bank/pycbc_tmpltbank_to_chi_params +0 -0
  98. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/hwinj/pycbc_generate_hwinj +0 -0
  99. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/hwinj/pycbc_generate_hwinj_from_xml +0 -0
  100. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/hwinj/pycbc_insert_frame_hwinj +0 -0
  101. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/hwinj/pycbc_plot_hwinj +0 -0
  102. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference +0 -0
  103. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_create_fits +0 -0
  104. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_extract_samples +0 -0
  105. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_model_stats +0 -0
  106. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_monitor +0 -0
  107. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_acceptance_rate +0 -0
  108. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_acf +0 -0
  109. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_acl +0 -0
  110. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_dynesty_run +0 -0
  111. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_dynesty_traceplot +0 -0
  112. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_gelman_rubin +0 -0
  113. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_geweke +0 -0
  114. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_inj_recovery +0 -0
  115. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_mcmc_history +0 -0
  116. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_movie +0 -0
  117. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_posterior +0 -0
  118. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_pp +0 -0
  119. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_prior +0 -0
  120. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_samples +0 -0
  121. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_skymap +0 -0
  122. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_plot_thermodynamic_integrand +0 -0
  123. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_pp_table_summary +0 -0
  124. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_start_from_samples +0 -0
  125. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_inference_table_summary +0 -0
  126. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/pycbc_validate_test_posterior +0 -0
  127. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/inference/run_pycbc_inference +0 -0
  128. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/live/pycbc_live_collate_triggers +0 -0
  129. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/live/pycbc_live_collated_dq_trigger_rates +0 -0
  130. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/live/pycbc_live_combine_dq_trigger_rates +0 -0
  131. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/live/pycbc_live_combine_single_significance_fits +0 -0
  132. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/live/pycbc_live_plot_combined_single_significance_fits +0 -0
  133. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/live/pycbc_live_plot_single_significance_fits +0 -0
  134. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/live/pycbc_live_single_significance_fits +0 -0
  135. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/live/pycbc_live_supervise_collated_trigger_fits +0 -0
  136. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_foreground_minifollowup +0 -0
  137. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_injection_minifollowup +0 -0
  138. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_page_coincinfo +0 -0
  139. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_page_injinfo +0 -0
  140. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_page_snglinfo +0 -0
  141. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_plot_chigram +0 -0
  142. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_plot_trigger_timeseries +0 -0
  143. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_single_template_plot +0 -0
  144. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_sngl_minifollowup +0 -0
  145. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/minifollowups/pycbc_upload_prep_minifollowup +0 -0
  146. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_banksim_plot_eff_fitting_factor +0 -0
  147. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_banksim_plot_fitting_factors +0 -0
  148. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_banksim_table_point_injs +0 -0
  149. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_create_html_snippet +0 -0
  150. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_faithsim_plots +0 -0
  151. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_ifar_catalog +0 -0
  152. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_mass_area_plot +0 -0
  153. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_mchirp_plots +0 -0
  154. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_banktriggerrate +0 -0
  155. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_coinc_snrchi +0 -0
  156. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_dq_table +0 -0
  157. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_fars_vs_stat +0 -0
  158. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_foreground +0 -0
  159. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_foundmissed +0 -0
  160. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_ifar +0 -0
  161. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_injtable +0 -0
  162. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_recovery +0 -0
  163. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_segments +0 -0
  164. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_segplot +0 -0
  165. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_segtable +0 -0
  166. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_sensitivity +0 -0
  167. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_snrchi +0 -0
  168. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_snrifar +0 -0
  169. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_snrratehist +0 -0
  170. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_template_bin_table +0 -0
  171. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_versioning +0 -0
  172. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_page_vetotable +0 -0
  173. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_background_coincs +0 -0
  174. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_bank_bins +0 -0
  175. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_bank_compression +0 -0
  176. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_bank_corner +0 -0
  177. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_dq_flag_likelihood +0 -0
  178. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_dq_likelihood_vs_time +0 -0
  179. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_dq_percentiles +0 -0
  180. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_gate_triggers +0 -0
  181. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_gating +0 -0
  182. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_hist +0 -0
  183. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_multiifo_dtphase +0 -0
  184. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_psd_file +0 -0
  185. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_psd_timefreq +0 -0
  186. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_qscan +0 -0
  187. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_range +0 -0
  188. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_range_vs_mtot +0 -0
  189. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_singles_timefreq +0 -0
  190. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_singles_vs_params +0 -0
  191. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_throughput +0 -0
  192. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_trigrate +0 -0
  193. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_vt_ratio +0 -0
  194. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/plotting/pycbc_plot_waveform +0 -0
  195. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/population/pycbc_multiifo_pastro +0 -0
  196. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/population/pycbc_population_plots +0 -0
  197. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/population/pycbc_population_rates +0 -0
  198. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_banksim +0 -0
  199. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_banksim_combine_banks +0 -0
  200. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_banksim_match_combine +0 -0
  201. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_banksim_skymax +0 -0
  202. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_compress_bank +0 -0
  203. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_condition_strain +0 -0
  204. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_convertinjfiletohdf +0 -0
  205. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_copy_output_map +0 -0
  206. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_create_injections +0 -0
  207. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_data_store +0 -0
  208. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_faithsim +0 -0
  209. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_faithsim_collect_results +0 -0
  210. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_fit_sngl_trigs +0 -0
  211. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_get_ffinal +0 -0
  212. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_gwosc_segment_query +0 -0
  213. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_hdf5_splitbank +0 -0
  214. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_hdf_splitinj +0 -0
  215. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_inj_cut +0 -0
  216. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_inspiral +0 -0
  217. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_inspiral_skymax +0 -0
  218. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_live +0 -0
  219. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_live_nagios_monitor +0 -0
  220. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_make_banksim +0 -0
  221. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_make_faithsim +0 -0
  222. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_make_html_page +0 -0
  223. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_make_sky_grid +0 -0
  224. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_make_skymap +0 -0
  225. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_merge_inj_hdf +0 -0
  226. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_optimal_snr +0 -0
  227. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_optimize_snr +0 -0
  228. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_process_sngls +0 -0
  229. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_randomize_inj_dist_by_optsnr +0 -0
  230. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_single_template +0 -0
  231. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_source_probability_offline +0 -0
  232. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_split_inspinj +0 -0
  233. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_splitbank +0 -0
  234. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_stageout_failed_workflow +0 -0
  235. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_submit_dax +0 -0
  236. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pycbc_upload_xml_to_gracedb +0 -0
  237. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_grb_inj_finder +0 -0
  238. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_grb_trig_cluster +0 -0
  239. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_grb_trig_combiner +0 -0
  240. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_exclusion_dist_table +0 -0
  241. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_grb_info_table +0 -0
  242. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_plot_chisq_veto +0 -0
  243. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_plot_coh_ifosnr +0 -0
  244. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_plot_injs_results +0 -0
  245. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_plot_null_stats +0 -0
  246. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_plot_skygrid +0 -0
  247. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/pygrb/pycbc_pygrb_results_workflow +0 -0
  248. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflow_comparisons/offline_search/pycbc_combine_injection_comparisons +0 -0
  249. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflow_comparisons/offline_search/pycbc_injection_set_comparison +0 -0
  250. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflow_comparisons/offline_search/pycbc_plot_injections_found_both_workflows +0 -0
  251. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflow_comparisons/offline_search/pycbc_plot_injections_missed_one_workflow +0 -0
  252. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflow_comparisons/offline_search/pycbc_plot_vt_ratio_vs_ifar +0 -0
  253. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_bank_compression_workflow +0 -0
  254. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_bank_verifier_workflow +0 -0
  255. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_faithsim_workflow +0 -0
  256. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_inference_inj_workflow +0 -0
  257. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_inference_plots_workflow +0 -0
  258. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_inference_workflow +0 -0
  259. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_offline_search_workflow +0 -0
  260. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_psd_estimation_workflow +0 -0
  261. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_sbank_workflow +0 -0
  262. {PyCBC-2.8.5 → pycbc-2.8.7}/bin/workflows/pycbc_make_uberbank_workflow +0 -0
  263. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/banksim/injection0.xml +0 -0
  264. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/banksim/run.sh +0 -0
  265. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/cal/foton_filter_esd_saturation/pycbc_check_esd_saturation.sh +0 -0
  266. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/cal/foton_filter_esd_saturation/pycbc_check_pcal_saturation.sh +0 -0
  267. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/cal/foton_filter_esd_saturation/run_pcal_saturation_example.sh +0 -0
  268. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/catalog/data.py +0 -0
  269. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/catalog/stat.py +0 -0
  270. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/catalog/what.py +0 -0
  271. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/dataquality/hwinj.py +0 -0
  272. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/dataquality/on.py +0 -0
  273. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/detector/ant.py +0 -0
  274. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/detector/custom.py +0 -0
  275. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/detector/delay.py +0 -0
  276. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/detector/loc.py +0 -0
  277. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/detector/travel.py +0 -0
  278. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/distributions/list_distributions.py +0 -0
  279. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/distributions/mass_examples.py +0 -0
  280. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/distributions/mchirp_q_from_uniform_m1m2_example.py +0 -0
  281. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/distributions/sampling_from_config_example.py +0 -0
  282. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/distributions/spin_examples.py +0 -0
  283. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/distributions/spin_spatial_distr_example.py +0 -0
  284. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/faith/injection0.xml +0 -0
  285. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/faith/pegasus_workflow_create.sh +0 -0
  286. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/faith/pegasus_workflow_submit.sh +0 -0
  287. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/faith/run.sh +0 -0
  288. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/filter/chisq.py +0 -0
  289. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/filter/fir.py +0 -0
  290. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/filter/pass.py +0 -0
  291. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/filter/snr.py +0 -0
  292. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/gw150914/gw150914_shape.py +0 -0
  293. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/analytic-normal2d/make_movie.sh +0 -0
  294. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/analytic-normal2d/plot.sh +0 -0
  295. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/analytic-normal2d/run.sh +0 -0
  296. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/bbh-injection/make_injection.sh +0 -0
  297. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/bbh-injection/run.sh +0 -0
  298. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/bbh-injection/run_test.sh +0 -0
  299. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/gw150914/plot.sh +0 -0
  300. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/gw150914/run.sh +0 -0
  301. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/gw150914/run_test.sh +0 -0
  302. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/hierarchical/make_injections.sh +0 -0
  303. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/hierarchical/run.sh +0 -0
  304. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/hierarchical/run_test.sh +0 -0
  305. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/lisa_smbhb_inj/injection_smbhb.sh +0 -0
  306. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/lisa_smbhb_inj/plot.sh +0 -0
  307. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/lisa_smbhb_inj/run.sh +0 -0
  308. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/lisa_smbhb_ldc/advanced_plot.py +0 -0
  309. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/lisa_smbhb_ldc/plot.sh +0 -0
  310. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/lisa_smbhb_ldc/run.sh +0 -0
  311. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/list_parameters.py +0 -0
  312. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/margtime/run.sh +0 -0
  313. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/margtime/run_inj.sh +0 -0
  314. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/multisignal/make_injections.sh +0 -0
  315. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/multisignal/rel.sh +0 -0
  316. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/multisignal/run.sh +0 -0
  317. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/multisignal/single.sh +0 -0
  318. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/relative/plot.sh +0 -0
  319. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/relative/run.sh +0 -0
  320. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/relmarg/run.sh +0 -0
  321. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/samplers/run.sh +0 -0
  322. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/single/plot.sh +0 -0
  323. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/single/run.sh +0 -0
  324. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/single/run_instant.sh +0 -0
  325. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inference/single/run_marg.sh +0 -0
  326. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inspiral/check_GW150914_detection.py +0 -0
  327. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inspiral/clean.sh +0 -0
  328. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/inspiral/run.sh +0 -0
  329. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/live/check_results.py +0 -0
  330. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/live/generate_injections.py +0 -0
  331. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/live/make_fit_coeffs.py +0 -0
  332. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/live/make_singles_significance_fits.py +0 -0
  333. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/live/run.sh +0 -0
  334. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/make_skymap/GW150914.sh +0 -0
  335. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/make_skymap/GW170817.sh +0 -0
  336. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/make_skymap/simulated_data.sh +0 -0
  337. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/multi_inspiral/check_faceon_faceaway_trigs.py +0 -0
  338. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/multi_inspiral/check_gw170817_trigs.py +0 -0
  339. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/multi_inspiral/clean.sh +0 -0
  340. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/multi_inspiral/faceon_faceaway.sh +0 -0
  341. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/multi_inspiral/gw170817_h.sh +0 -0
  342. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/multi_inspiral/gw170817_hl.sh +0 -0
  343. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/multi_inspiral/gw170817_hlv.sh +0 -0
  344. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/noise/frequency.py +0 -0
  345. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/noise/timeseries.py +0 -0
  346. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/overlap.py +0 -0
  347. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/psd/analytic.py +0 -0
  348. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/psd/estimate.py +0 -0
  349. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/psd/read.py +0 -0
  350. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/search/bank.sh +0 -0
  351. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/search/check_job.py +0 -0
  352. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/search/gen.sh +0 -0
  353. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/search/master.sh +0 -0
  354. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/search/stats.sh +0 -0
  355. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/search/submit.sh +0 -0
  356. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/bank_workflow_test/gen.sh +0 -0
  357. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/cleanOutput.sh +0 -0
  358. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/compress_workflow/gen.sh +0 -0
  359. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/make_cache.sh +0 -0
  360. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testAligned.sh +0 -0
  361. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testAligned2.sh +0 -0
  362. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testAligned3.sh +0 -0
  363. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testNonspin.sh +0 -0
  364. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testNonspin2.sh +0 -0
  365. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testNonspin3.sh +0 -0
  366. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testStoch.sh +0 -0
  367. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testStoch2.sh +0 -0
  368. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testStoch3.sh +0 -0
  369. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/tmpltbank/testStoch4.sh +0 -0
  370. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/waveform/add_waveform.py +0 -0
  371. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/waveform/higher_modes.py +0 -0
  372. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/waveform/match_waveform.py +0 -0
  373. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/waveform/plot_detwaveform.py +0 -0
  374. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/waveform/plot_fd_td.py +0 -0
  375. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/waveform/plot_freq.py +0 -0
  376. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/waveform/plot_phase.py +0 -0
  377. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/waveform/plot_waveform.py +0 -0
  378. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/waveform/what_waveform.py +0 -0
  379. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/data_checker/daily_test.py +0 -0
  380. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/data_checker/get_data_example.py +0 -0
  381. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/data_checker/run_daily_test.sh +0 -0
  382. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/data_checker/run_get_data_example.sh +0 -0
  383. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/dayhopecheck/dayhopecheck.py +0 -0
  384. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/dayhopecheck/run_dayhopecheck.sh +0 -0
  385. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/generic/multilevel_subworkflow_data/run.sh +0 -0
  386. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/generic/multilevel_subworkflow_data/simple.py +0 -0
  387. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/generic/simple_subworkflow_data/run.sh +0 -0
  388. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/generic/simple_subworkflow_data/simple.py +0 -0
  389. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/inference/bbh_inj-dynesty/create_inj_workflow.sh +0 -0
  390. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/inference/gw150914_gw170814-dynesty/create_workflow.sh +0 -0
  391. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/inference/gw150914_gw170814-emcee_pt/create_workflow.sh +0 -0
  392. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/inference/small_test/gen.sh +0 -0
  393. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/pygrb/ER7/run_er7_pygrb_offline.sh +0 -0
  394. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/pygrb/ER8/run_er8_pygrb_offline.sh +0 -0
  395. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/pygrb/ER8/run_er8_pygrb_online.sh +0 -0
  396. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/pygrb/S6/run_s6_pygrb.sh +0 -0
  397. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/quickstart/run.sh +0 -0
  398. {PyCBC-2.8.5 → pycbc-2.8.7}/examples/workflow/quickstart/simple.py +0 -0
  399. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/__init__.py +0 -0
  400. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/_version.py +0 -0
  401. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/_version_helper.py +0 -0
  402. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/bin_utils.py +0 -0
  403. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/boundaries.py +0 -0
  404. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/catalog/catalog.py +0 -0
  405. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/conversions.py +0 -0
  406. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/coordinates/__init__.py +0 -0
  407. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/coordinates/base.py +0 -0
  408. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/coordinates/space.py +0 -0
  409. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/cosmology.py +0 -0
  410. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/detector/__init__.py +0 -0
  411. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/detector/ground.py +0 -0
  412. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/detector/space.py +0 -0
  413. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/__init__.py +0 -0
  414. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/angular.py +0 -0
  415. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/arbitrary.py +0 -0
  416. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/bounded.py +0 -0
  417. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/constraints.py +0 -0
  418. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/external.py +0 -0
  419. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/fixedsamples.py +0 -0
  420. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/gaussian.py +0 -0
  421. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/joint.py +0 -0
  422. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/mass.py +0 -0
  423. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/power_law.py +0 -0
  424. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/qnm.py +0 -0
  425. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/sky_location.py +0 -0
  426. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/spins.py +0 -0
  427. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/uniform.py +0 -0
  428. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/uniform_log.py +0 -0
  429. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/distributions/utils.py +0 -0
  430. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/dq.py +0 -0
  431. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/__init__.py +0 -0
  432. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/coinc.py +0 -0
  433. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/coinc_rate.py +0 -0
  434. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/cuts.py +0 -0
  435. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/eventmgr.py +0 -0
  436. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/ranking.py +0 -0
  437. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/significance.py +0 -0
  438. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/simd_threshold_ccode.cpp +0 -0
  439. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/simd_threshold_cython.pyx +0 -0
  440. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/single.py +0 -0
  441. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/stat.py +0 -0
  442. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/threshold_cpu.py +0 -0
  443. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/threshold_cuda.py +0 -0
  444. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/threshold_cupy.py +0 -0
  445. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/trigger_fits.py +0 -0
  446. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/triggers.py +0 -0
  447. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/events/veto.py +0 -0
  448. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/__init__.py +0 -0
  449. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/backend_cpu.py +0 -0
  450. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/backend_cuda.py +0 -0
  451. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/backend_cupy.py +0 -0
  452. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/backend_mkl.py +0 -0
  453. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/backend_support.py +0 -0
  454. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/class_api.py +0 -0
  455. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/core.py +0 -0
  456. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/cuda_pyfft.py +0 -0
  457. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/cufft.py +0 -0
  458. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/cupyfft.py +0 -0
  459. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/fft_callback.py +0 -0
  460. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/fftw.py +0 -0
  461. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/fftw_pruned.py +0 -0
  462. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/fftw_pruned_cython.pyx +0 -0
  463. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/func_api.py +0 -0
  464. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/mkl.py +0 -0
  465. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/npfft.py +0 -0
  466. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/fft/parser_support.py +0 -0
  467. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/__init__.py +0 -0
  468. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/autocorrelation.py +0 -0
  469. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/fotonfilter.py +0 -0
  470. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/matchedfilter.py +0 -0
  471. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/matchedfilter_cpu.pyx +0 -0
  472. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/matchedfilter_cuda.py +0 -0
  473. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/matchedfilter_cupy.py +0 -0
  474. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/matchedfilter_numpy.py +0 -0
  475. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/qtransform.py +0 -0
  476. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/resample.py +0 -0
  477. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/simd_correlate.py +0 -0
  478. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/simd_correlate_ccode.cpp +0 -0
  479. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/simd_correlate_cython.pyx +0 -0
  480. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/filter/zpk.py +0 -0
  481. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/frame/__init__.py +0 -0
  482. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/frame/frame.py +0 -0
  483. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/frame/store.py +0 -0
  484. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/__init__.py +0 -0
  485. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/burn_in.py +0 -0
  486. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/entropy.py +0 -0
  487. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/evidence.py +0 -0
  488. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/gelman_rubin.py +0 -0
  489. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/geweke.py +0 -0
  490. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/__init__.py +0 -0
  491. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/base_hdf.py +0 -0
  492. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/base_mcmc.py +0 -0
  493. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/base_multitemper.py +0 -0
  494. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/base_nested_sampler.py +0 -0
  495. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/base_sampler.py +0 -0
  496. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/cpnest.py +0 -0
  497. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/dynesty.py +0 -0
  498. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/emcee.py +0 -0
  499. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/emcee_pt.py +0 -0
  500. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/epsie.py +0 -0
  501. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/multinest.py +0 -0
  502. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/nessai.py +0 -0
  503. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/posterior.py +0 -0
  504. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/ptemcee.py +0 -0
  505. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/snowline.py +0 -0
  506. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/txt.py +0 -0
  507. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/io/ultranest.py +0 -0
  508. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/jump/__init__.py +0 -0
  509. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/jump/angular.py +0 -0
  510. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/jump/bounded_normal.py +0 -0
  511. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/jump/discrete.py +0 -0
  512. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/jump/normal.py +0 -0
  513. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/__init__.py +0 -0
  514. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/analytic.py +0 -0
  515. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/base.py +0 -0
  516. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/base_data.py +0 -0
  517. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/brute_marg.py +0 -0
  518. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/data_utils.py +0 -0
  519. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/gated_gaussian_noise.py +0 -0
  520. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/gaussian_noise.py +0 -0
  521. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/hierarchical.py +0 -0
  522. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/marginalized_gaussian_noise.py +0 -0
  523. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/relbin.py +0 -0
  524. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/relbin_cpu.pyx +0 -0
  525. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/single_template.py +0 -0
  526. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/models/tools.py +0 -0
  527. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/option_utils.py +0 -0
  528. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/__init__.py +0 -0
  529. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/base.py +0 -0
  530. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/base_cube.py +0 -0
  531. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/base_mcmc.py +0 -0
  532. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/base_multitemper.py +0 -0
  533. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/cpnest.py +0 -0
  534. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/dummy.py +0 -0
  535. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/dynesty.py +0 -0
  536. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/emcee.py +0 -0
  537. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/emcee_pt.py +0 -0
  538. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/epsie.py +0 -0
  539. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/games.py +0 -0
  540. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/multinest.py +0 -0
  541. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/nessai.py +0 -0
  542. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/ptemcee.py +0 -0
  543. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/refine.py +0 -0
  544. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/snowline.py +0 -0
  545. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inference/sampler/ultranest.py +0 -0
  546. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inject/__init__.py +0 -0
  547. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inject/inject.py +0 -0
  548. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/inject/injfilterrejector.py +0 -0
  549. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/io/gracedb.py +0 -0
  550. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/io/hdf.py +0 -0
  551. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/io/ligolw.py +0 -0
  552. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/io/live.py +0 -0
  553. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/io/record.py +0 -0
  554. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/libutils.py +0 -0
  555. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/live/__init__.py +0 -0
  556. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/live/significance_fits.py +0 -0
  557. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/live/snr_optimizer.py +0 -0
  558. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/live/supervision.py +0 -0
  559. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/mchirp_area.py +0 -0
  560. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/neutron_stars/__init__.py +0 -0
  561. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/neutron_stars/eos_utils.py +0 -0
  562. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/neutron_stars/ns_data/equil_2H.dat +0 -0
  563. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/neutron_stars/pg_isso_solver.py +0 -0
  564. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/noise/__init__.py +0 -0
  565. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/noise/gaussian.py +0 -0
  566. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/noise/reproduceable.py +0 -0
  567. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/opt.py +0 -0
  568. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/pnutils.py +0 -0
  569. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/pool.py +0 -0
  570. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/population/__init__.py +0 -0
  571. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/population/fgmc_functions.py +0 -0
  572. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/population/fgmc_laguerre.py +0 -0
  573. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/population/fgmc_plots.py +0 -0
  574. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/population/live_pastro.py +0 -0
  575. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/population/live_pastro_utils.py +0 -0
  576. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/population/population_models.py +0 -0
  577. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/population/rates_functions.py +0 -0
  578. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/population/scale_injections.py +0 -0
  579. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/psd/__init__.py +0 -0
  580. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/psd/analytical.py +0 -0
  581. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/psd/analytical_space.py +0 -0
  582. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/psd/estimate.py +0 -0
  583. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/psd/read.py +0 -0
  584. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/psd/variation.py +0 -0
  585. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/rate.py +0 -0
  586. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/__init__.py +0 -0
  587. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/color.py +0 -0
  588. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/dq.py +0 -0
  589. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/followup.py +0 -0
  590. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/layout.py +0 -0
  591. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/metadata.py +0 -0
  592. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/mpld3_utils.py +0 -0
  593. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/plot.py +0 -0
  594. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/psd.py +0 -0
  595. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/pygrb_plotting_utils.py +0 -0
  596. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/render.py +0 -0
  597. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/scatter_histograms.py +0 -0
  598. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/snr.py +0 -0
  599. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/css/bootstrap/3.3.2/bootstrap.min.css +0 -0
  600. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/css/bootstrap.min.css +0 -0
  601. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/css/fancybox/2.1.5/jquery.fancybox.css +0 -0
  602. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/css/pycbc/orange.css +0 -0
  603. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/css/pycbc/red.css +0 -0
  604. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Light.css +0 -0
  605. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Light.eot +0 -0
  606. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Light.html +0 -0
  607. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Light.ttf +0 -0
  608. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Light.woff +0 -0
  609. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Semibold.css +0 -0
  610. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Semibold.eot +0 -0
  611. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Semibold.html +0 -0
  612. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Semibold.ttf +0 -0
  613. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/fonts/Lato-Semibold.woff +0 -0
  614. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/js/bootstrap/3.3.2/bootstrap.min.js +0 -0
  615. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/js/bootstrap.min.js +0 -0
  616. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/js/fancybox/2.1.5/fancybox-orange.js +0 -0
  617. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/js/fancybox/2.1.5/jquery.fancybox.js +0 -0
  618. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/js/fancybox/2.1.5/jquery.fancybox.pack.js +0 -0
  619. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/js/jquery/1.10.2/jquery-1.10.2.min.js +0 -0
  620. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/js/jquery/1.10.2/jquery.mousewheel-3.0.6.pack.js +0 -0
  621. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/static/js/jquery.min.js +0 -0
  622. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/str_utils.py +0 -0
  623. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/templates/files/file_default.html +0 -0
  624. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/templates/files/file_glitchgram.html +0 -0
  625. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/templates/files/file_img.html +0 -0
  626. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/templates/files/file_pre.html +0 -0
  627. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/templates/files/file_tmplt.html +0 -0
  628. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/templates/orange.html +0 -0
  629. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/templates/red.html +0 -0
  630. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/templates/wells/sitemap.html +0 -0
  631. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/templates/wells/two_column.html +0 -0
  632. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/results/versioning.py +0 -0
  633. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/scheme.py +0 -0
  634. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/sensitivity.py +0 -0
  635. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/strain/__init__.py +0 -0
  636. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/strain/calibration.py +0 -0
  637. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/strain/gate.py +0 -0
  638. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/strain/lines.py +0 -0
  639. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/strain/recalibrate.py +0 -0
  640. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/strain/strain.py +0 -0
  641. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/__init__.py +0 -0
  642. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/bank_conversions.py +0 -0
  643. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/bank_output_utils.py +0 -0
  644. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/brute_force_methods.py +0 -0
  645. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/calc_moments.py +0 -0
  646. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/coord_utils.py +0 -0
  647. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/lambda_mapping.py +0 -0
  648. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/lattice_utils.py +0 -0
  649. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/option_utils.py +0 -0
  650. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/partitioned_bank.py +0 -0
  651. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/tmpltbank/sky_grid.py +0 -0
  652. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/transforms.py +0 -0
  653. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/__init__.py +0 -0
  654. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/aligned.py +0 -0
  655. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/array.py +0 -0
  656. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/array_cpu.pyx +0 -0
  657. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/array_cuda.py +0 -0
  658. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/array_cupy.py +0 -0
  659. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/config.py +0 -0
  660. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/frequencyseries.py +0 -0
  661. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/optparse.py +0 -0
  662. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/types/timeseries.py +0 -0
  663. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/vetoes/__init__.py +0 -0
  664. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/vetoes/autochisq.py +0 -0
  665. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/vetoes/bank_chisq.py +0 -0
  666. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/vetoes/chisq.py +0 -0
  667. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/vetoes/chisq_cpu.pyx +0 -0
  668. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/vetoes/chisq_cuda.py +0 -0
  669. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/vetoes/chisq_cupy.py +0 -0
  670. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/vetoes/sgchisq.py +0 -0
  671. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/SpinTaylorF2.py +0 -0
  672. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/__init__.py +0 -0
  673. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/bank.py +0 -0
  674. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/compress.py +0 -0
  675. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/decompress_cpu.py +0 -0
  676. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/decompress_cpu_ccode.cpp +0 -0
  677. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/decompress_cpu_cython.pyx +0 -0
  678. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/decompress_cuda.py +0 -0
  679. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/decompress_cupy.py +0 -0
  680. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/generator.py +0 -0
  681. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/multiband.py +0 -0
  682. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/nltides.py +0 -0
  683. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/parameters.py +0 -0
  684. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/plugin.py +0 -0
  685. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/premerger.py +0 -0
  686. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/pycbc_phenomC_tmplt.py +0 -0
  687. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/ringdown.py +0 -0
  688. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/sinegauss.py +0 -0
  689. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/spa_tmplt.py +0 -0
  690. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/spa_tmplt_cpu.pyx +0 -0
  691. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/spa_tmplt_cuda.py +0 -0
  692. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/spa_tmplt_cupy.py +0 -0
  693. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/supernovae.py +0 -0
  694. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/utils.py +0 -0
  695. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/utils_cpu.pyx +0 -0
  696. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/utils_cuda.py +0 -0
  697. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/utils_cupy.py +0 -0
  698. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/waveform.py +0 -0
  699. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/waveform/waveform_modes.py +0 -0
  700. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/__init__.py +0 -0
  701. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/coincidence.py +0 -0
  702. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/configparser_test.py +0 -0
  703. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/configuration.py +0 -0
  704. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/core.py +0 -0
  705. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/datafind.py +0 -0
  706. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/dq.py +0 -0
  707. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/grb_utils.py +0 -0
  708. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/inference_followups.py +0 -0
  709. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/injection.py +0 -0
  710. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/jobsetup.py +0 -0
  711. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/matched_filter.py +0 -0
  712. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/pegasus_files/pegasus-properties.conf +0 -0
  713. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/pegasus_workflow.py +0 -0
  714. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/plotting.py +0 -0
  715. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/psd.py +0 -0
  716. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/psdfiles.py +0 -0
  717. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/splittable.py +0 -0
  718. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/tmpltbank.py +0 -0
  719. {PyCBC-2.8.5 → pycbc-2.8.7}/pycbc/workflow/versioning.py +0 -0
  720. {PyCBC-2.8.5 → pycbc-2.8.7}/pytest.ini +0 -0
  721. {PyCBC-2.8.5 → pycbc-2.8.7}/setup.cfg +0 -0
  722. {PyCBC-2.8.5 → pycbc-2.8.7}/test/bankvetotest.py +0 -0
  723. {PyCBC-2.8.5 → pycbc-2.8.7}/test/fft_base.py +0 -0
  724. {PyCBC-2.8.5 → pycbc-2.8.7}/test/lalsim.py +0 -0
  725. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_array.py +0 -0
  726. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_array_lal.py +0 -0
  727. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_autochisq.py +0 -0
  728. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_calibration.py +0 -0
  729. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_chisq.py +0 -0
  730. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_coinc_stat.py +0 -0
  731. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_conversions.py +0 -0
  732. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_coordinates_space.py +0 -0
  733. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_correlate.py +0 -0
  734. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_cuts.py +0 -0
  735. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_detector.py +0 -0
  736. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_distributions.py +0 -0
  737. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_dq.py +0 -0
  738. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_fft_mkl_threaded.py +0 -0
  739. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_fft_unthreaded.py +0 -0
  740. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_fftw_openmp.py +0 -0
  741. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_fftw_pthreads.py +0 -0
  742. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_frame.py +0 -0
  743. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_frequencyseries.py +0 -0
  744. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_injection.py +0 -0
  745. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_io_live.py +0 -0
  746. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_live_coinc_compare.py +0 -0
  747. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_matchedfilter.py +0 -0
  748. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_noise.py +0 -0
  749. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_pnutils.py +0 -0
  750. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_psd.py +0 -0
  751. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_resample.py +0 -0
  752. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_schemes.py +0 -0
  753. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_significance_module.py +0 -0
  754. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_skymax.py +0 -0
  755. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_spatmplt.py +0 -0
  756. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_strain.py +0 -0
  757. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_threshold.py +0 -0
  758. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_timeseries.py +0 -0
  759. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_tmpltbank.py +0 -0
  760. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_transforms.py +0 -0
  761. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_waveform.py +0 -0
  762. {PyCBC-2.8.5 → pycbc-2.8.7}/test/test_waveform_utils.py +0 -0
  763. {PyCBC-2.8.5 → pycbc-2.8.7}/test/utils.py +0 -0
  764. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/benchmarking/absolute_times.py +0 -0
  765. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/static/hooks/hook-pycbc.py +0 -0
  766. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/static/runtime-scipy.py +0 -0
  767. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/static/runtime-tkinter.py +0 -0
  768. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/timing/arr_perf.py +0 -0
  769. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/timing/banksim/banksim.py +0 -0
  770. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/timing/correlate_perf.py +0 -0
  771. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/timing/fft_perf.py +0 -0
  772. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/timing/match_perf.py +0 -0
  773. {PyCBC-2.8.5 → pycbc-2.8.7}/tools/timing/wav_perf.py +0 -0
@@ -1,9 +1,9 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: PyCBC
3
- Version: 2.8.5
3
+ Version: 2.8.7
4
4
  Summary: Core library to analyze gravitational-wave data, find signals, and study their parameters.
5
5
  Home-page: http://pycbc.org/
6
- Download-URL: https://github.com/gwastro/pycbc/tarball/v2.8.5
6
+ Download-URL: https://github.com/gwastro/pycbc/tarball/v2.8.7
7
7
  Author: The PyCBC team
8
8
  Author-email: alex.nitz@gmail.org
9
9
  Keywords: ligo,physics,gravity,signal processing,gravitational waves
@@ -20,9 +20,47 @@ Classifier: Topic :: Scientific/Engineering :: Physics
20
20
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
21
21
  Requires-Python: >=3.9
22
22
  Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: numpy>=1.16.0
25
+ Requires-Dist: cython>=0.29
26
+ Requires-Dist: numpy!=1.19.0,!=2.2.2,<2,>=1.16.0
27
+ Requires-Dist: scipy<1.17.0,>=0.16.0
28
+ Requires-Dist: astropy!=4.0.5,!=4.2.1,>=2.0.3
29
+ Requires-Dist: matplotlib>=1.5.1
30
+ Requires-Dist: mpld3>=0.3
31
+ Requires-Dist: pillow
32
+ Requires-Dist: h5py!=3.7.0,>=3.0.0
33
+ Requires-Dist: jinja2
34
+ Requires-Dist: Mako>=1.0.1
35
+ Requires-Dist: beautifulsoup4>=4.6.0
36
+ Requires-Dist: tqdm
37
+ Requires-Dist: setuptools<82.0.0
38
+ Requires-Dist: gwdatafind
39
+ Requires-Dist: pegasus-wms.api==5.0.9
40
+ Requires-Dist: pegasus-wms.common==5.0.9
41
+ Requires-Dist: python-ligo-lw>=1.7.0
42
+ Requires-Dist: igwn-segments
43
+ Requires-Dist: lalsuite==7.25.1
44
+ Requires-Dist: lscsoft-glue>=1.59.3
45
+ Requires-Dist: pykerr
23
46
  Provides-Extra: cuda
47
+ Requires-Dist: pycuda>=2015.1; extra == "cuda"
48
+ Requires-Dist: scikit-cuda; extra == "cuda"
24
49
  Provides-Extra: igwn
25
- License-File: LICENSE
50
+ Requires-Dist: ciecplib>=0.7.0; extra == "igwn"
51
+ Dynamic: author
52
+ Dynamic: author-email
53
+ Dynamic: classifier
54
+ Dynamic: description
55
+ Dynamic: description-content-type
56
+ Dynamic: download-url
57
+ Dynamic: home-page
58
+ Dynamic: keywords
59
+ Dynamic: license-file
60
+ Dynamic: provides-extra
61
+ Dynamic: requires-dist
62
+ Dynamic: requires-python
63
+ Dynamic: summary
26
64
 
27
65
  ![GW150914](https://raw.githubusercontent.com/gwastro/pycbc-logo/master/pycbc_logo_name.png)
28
66
 
@@ -1,9 +1,9 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: PyCBC
3
- Version: 2.8.5
3
+ Version: 2.8.7
4
4
  Summary: Core library to analyze gravitational-wave data, find signals, and study their parameters.
5
5
  Home-page: http://pycbc.org/
6
- Download-URL: https://github.com/gwastro/pycbc/tarball/v2.8.5
6
+ Download-URL: https://github.com/gwastro/pycbc/tarball/v2.8.7
7
7
  Author: The PyCBC team
8
8
  Author-email: alex.nitz@gmail.org
9
9
  Keywords: ligo,physics,gravity,signal processing,gravitational waves
@@ -20,9 +20,47 @@ Classifier: Topic :: Scientific/Engineering :: Physics
20
20
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
21
21
  Requires-Python: >=3.9
22
22
  Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: numpy>=1.16.0
25
+ Requires-Dist: cython>=0.29
26
+ Requires-Dist: numpy!=1.19.0,!=2.2.2,<2,>=1.16.0
27
+ Requires-Dist: scipy<1.17.0,>=0.16.0
28
+ Requires-Dist: astropy!=4.0.5,!=4.2.1,>=2.0.3
29
+ Requires-Dist: matplotlib>=1.5.1
30
+ Requires-Dist: mpld3>=0.3
31
+ Requires-Dist: pillow
32
+ Requires-Dist: h5py!=3.7.0,>=3.0.0
33
+ Requires-Dist: jinja2
34
+ Requires-Dist: Mako>=1.0.1
35
+ Requires-Dist: beautifulsoup4>=4.6.0
36
+ Requires-Dist: tqdm
37
+ Requires-Dist: setuptools<82.0.0
38
+ Requires-Dist: gwdatafind
39
+ Requires-Dist: pegasus-wms.api==5.0.9
40
+ Requires-Dist: pegasus-wms.common==5.0.9
41
+ Requires-Dist: python-ligo-lw>=1.7.0
42
+ Requires-Dist: igwn-segments
43
+ Requires-Dist: lalsuite==7.25.1
44
+ Requires-Dist: lscsoft-glue>=1.59.3
45
+ Requires-Dist: pykerr
23
46
  Provides-Extra: cuda
47
+ Requires-Dist: pycuda>=2015.1; extra == "cuda"
48
+ Requires-Dist: scikit-cuda; extra == "cuda"
24
49
  Provides-Extra: igwn
25
- License-File: LICENSE
50
+ Requires-Dist: ciecplib>=0.7.0; extra == "igwn"
51
+ Dynamic: author
52
+ Dynamic: author-email
53
+ Dynamic: classifier
54
+ Dynamic: description
55
+ Dynamic: description-content-type
56
+ Dynamic: download-url
57
+ Dynamic: home-page
58
+ Dynamic: keywords
59
+ Dynamic: license-file
60
+ Dynamic: provides-extra
61
+ Dynamic: requires-dist
62
+ Dynamic: requires-python
63
+ Dynamic: summary
26
64
 
27
65
  ![GW150914](https://raw.githubusercontent.com/gwastro/pycbc-logo/master/pycbc_logo_name.png)
28
66
 
@@ -1,7 +1,7 @@
1
1
  numpy>=1.16.0
2
2
  cython>=0.29
3
- numpy!=1.19.0,!=2.2.2,>=1.16.0
4
- scipy>=0.16.0
3
+ numpy!=1.19.0,!=2.2.2,<2,>=1.16.0
4
+ scipy<1.17.0,>=0.16.0
5
5
  astropy!=4.0.5,!=4.2.1,>=2.0.3
6
6
  matplotlib>=1.5.1
7
7
  mpld3>=0.3
@@ -11,7 +11,7 @@ jinja2
11
11
  Mako>=1.0.1
12
12
  beautifulsoup4>=4.6.0
13
13
  tqdm
14
- setuptools
14
+ setuptools<82.0.0
15
15
  gwdatafind
16
16
  pegasus-wms.api==5.0.9
17
17
  pegasus-wms.common==5.0.9
@@ -632,7 +632,7 @@ with ctx:
632
632
  # Loop over templates
633
633
  for t_num, template in enumerate(bank):
634
634
  # Loop over segments
635
- for s_num, stilde in enumerate(segments[args.instruments[0]]):
635
+ for s_num in range(len(segments[args.instruments[0]])):
636
636
  stilde = {ifo: segments[ifo][s_num] for ifo in args.instruments}
637
637
  # Checks the 'inj_filter_rejector' options to determine whether
638
638
  # to filter this template/segment if injections are present
@@ -688,6 +688,8 @@ with ctx:
688
688
  # Typically only a tiny fraction will be populated.
689
689
  power_chisq_arrays = dict.fromkeys(args.instruments)
690
690
  power_chisq_dof_arrays = dict.fromkeys(args.instruments)
691
+ # For convenience also store the lengths of the snr_dict values
692
+ wraparound_dict = dict.fromkeys(args.instruments)
691
693
  for ifo in args.instruments:
692
694
  logging.debug(
693
695
  "Filtering template %d/%d, ifo %s", t_num + 1, n_bank, ifo
@@ -719,8 +721,9 @@ with ctx:
719
721
  snr_dict[ifo] = (
720
722
  snr_ts[matched_filter[ifo].segments[s_num].analyze] * norm
721
723
  )
724
+ wraparound_dict[ifo] = len(snr_dict[ifo])
722
725
  assert (
723
- len(snr_dict[ifo]) > 0
726
+ wraparound_dict[ifo] > 0
724
727
  ), f'SNR time series for {ifo} is empty'
725
728
  norm_dict[ifo] = norm
726
729
  corr_dict[ifo] = corr.copy()
@@ -728,10 +731,10 @@ with ctx:
728
731
  snr[ifo] = snrv * norm
729
732
  # Initialize the cache for power chi^2
730
733
  power_chisq_arrays[ifo] = np.full(
731
- len(snr_dict[ifo]), np.nan, dtype=np.float32
734
+ wraparound_dict[ifo], np.nan, dtype=np.float32
732
735
  )
733
736
  power_chisq_dof_arrays[ifo] = np.zeros(
734
- len(snr_dict[ifo]), dtype=np.int32
737
+ wraparound_dict[ifo], dtype=np.int32
735
738
  )
736
739
  del snr_ts, norm, corr, ind, snrv
737
740
 
@@ -750,22 +753,29 @@ with ctx:
750
753
  position_index + 1,
751
754
  len(sky_positions),
752
755
  )
753
- # Adjust the indices of triggers (if there are any)
754
- # and store trigger indices list in a dictionary;
755
- # when there are no triggers, the dictionary is empty.
756
- # Indices are kept only if they do not get time shifted
757
- # out of the time we are looking at, i.e., require
756
+ # Adjust the indices of triggers (if there are any) and
757
+ # store trigger indices list in a dictionary; when there
758
+ # are no triggers, the dictionary is empty. Indices are
759
+ # kept only if they remain within the time being processed
760
+ # after the time delay correction from detector to
761
+ # geocenter due to sky location is applied, i.e., require
762
+ # them to be between 0 and len(snr_dict[ifo]). In general
758
763
  # idx[ifo] - time_delay_idx[slide][position_index][ifo]
759
- # (which applies the necessary time shift by operating on
760
- # indices) to be between 0 and len(snr_dict[ifo]).
764
+ # operates on indices to apply a time shift from detctor
765
+ # to geocenter at a given timeslide. The trimming carried
766
+ # out here to ensure that the starting indices are
767
+ # legitimate is on the zerolag indices, i.e., the keyword
768
+ # slide is set to 0. Later, when looking for coincidences,
769
+ # one must wrap around the appropriate timeslid
770
+ # idx[ifo] - time_delay_idx[slide][position_index][ifo].
761
771
  idx_dict = {
762
772
  ifo: idx[ifo][
763
773
  np.logical_and(
764
774
  idx[ifo]
765
- > time_delay_idx[slide][position_index][ifo],
775
+ > time_delay_idx[0][position_index][ifo],
766
776
  idx[ifo]
767
- < time_delay_idx[slide][position_index][ifo]
768
- + len(snr_dict[ifo]),
777
+ < time_delay_idx[0][position_index][ifo]
778
+ + wraparound_dict[ifo],
769
779
  )
770
780
  ]
771
781
  for ifo in args.instruments
@@ -776,27 +786,30 @@ with ctx:
776
786
  # and applies the single IFO SNR cut asking for triggers to
777
787
  # have SNR >= args.sngl_snr_threshold in at least
778
788
  # args.nifo_sngl_snr_threshold IFOs; recall that idx_dict
779
- # tracks (at the geocent) triggers above threshold in
789
+ # tracks (at the detectors) triggers above threshold in
780
790
  # individual detectors. If only one IFO is available, then
781
791
  # the method returns trigger indices for that IFO. Given
782
792
  # that we are looping over timeslides and sky positions,
783
793
  # the appropriate dictionary of time delays wrt the
784
- # geocenter must be passed to operate at the geocenter.
794
+ # geocenter must be passed to operate at the geocenter,
795
+ # as well as the dictionary to enable the wrap around at
796
+ # each detector prior to searching for coincidences.
785
797
  coinc_idx = coh.get_coinc_indexes(
786
798
  idx_dict, time_delay_idx[slide][position_index],
787
- args.nifo_sngl_snr_threshold
799
+ args.nifo_sngl_snr_threshold, wraparound_dict
788
800
  )
789
801
  logging.debug(
790
802
  "Found %d coincident triggers", len(coinc_idx)
791
803
  )
792
- # Time delay is applied to indices at the geocenter to have
793
- # them at the IFOs (hence the + which undoes the delay).
804
+ # Time delay is applied to (coincident) indices at the
805
+ # geocenter to have them at the IFOs (hence the + which
806
+ # undoes the delay). The wrap around is performed.
794
807
  coinc_idx_det_frame = {
795
808
  ifo: (
796
809
  coinc_idx
797
810
  + time_delay_idx[slide][position_index][ifo]
798
811
  )
799
- % len(snr_dict[ifo])
812
+ % wraparound_dict[ifo]
800
813
  for ifo in args.instruments
801
814
  }
802
815
  # Calculate the quadrature sum of individual detector SNRs,
@@ -979,17 +992,18 @@ with ctx:
979
992
  # Updated coinc_idx_det_frame to account for the
980
993
  # effect of the cuts applied so far (operate on the
981
994
  # time related indices with a +time_delay_idx to
982
- # transform geocenter time to IFO time).
995
+ # transform geocenter time to IFO time). The wrap
996
+ # around is performed.
983
997
  coinc_idx_det_frame = {
984
998
  ifo: (
985
999
  coinc_idx
986
1000
  + time_delay_idx[slide][position_index][ifo]
987
1001
  )
988
- % len(snr_dict[ifo])
1002
+ % wraparound_dict[ifo]
989
1003
  for ifo in args.instruments
990
1004
  }
991
1005
  # Build dictionary with per-IFO complex SNR time series
992
- # of the most recent set of triggers
1006
+ # of the most recent set of triggers.
993
1007
  coherent_ifo_trigs = {
994
1008
  ifo: snr_dict[ifo][coinc_idx_det_frame[ifo]]
995
1009
  for ifo in args.instruments
@@ -1116,8 +1130,11 @@ with ctx:
1116
1130
  network_out_vals['my_network_chisq'] = np.real(
1117
1131
  network_chisq_dict
1118
1132
  )
1133
+ # coinc_idx has the geocenter indices of triggers.
1134
+ # The wrap around happened in get_coinc_indices.
1119
1135
  network_out_vals['time_index'] = (
1120
- coinc_idx + stilde[ifo].cumulative_index
1136
+ coinc_idx
1137
+ + stilde[args.instruments[0]].cumulative_index
1121
1138
  )
1122
1139
  network_out_vals['nifo'] = [nifo] * num_events
1123
1140
  network_out_vals['dec'] = [
@@ -122,17 +122,19 @@ elif len(sciSegs.keys()) < 2 and not single_ifo:
122
122
  msg += "configuration file."
123
123
  logging.error(msg)
124
124
  sys.exit()
125
- else:
126
- onSrc, offSrc, bufferSeg = _workflow.generate_triggered_segment(wflow,
127
- seg_dir,
128
- sciSegs)
125
+
126
+ onSrc, offSrc, bufferSeg = _workflow.generate_triggered_segment(
127
+ wflow, seg_dir, sciSegs
128
+ )
129
129
 
130
130
  sciSegs = segmentlistdict(sciSegs)
131
131
  if onSrc is None:
132
+ logging.info("Making segment plot and exiting.")
133
+ # `make_grb_segments_plot()` wants a single segment for fail_criterion.
134
+ fail_criterion = offSrc[wflow.ifos[0]][0]
132
135
  make_grb_segments_plot(
133
136
  wflow, sciSegs, triggertime, triggername,
134
- seg_dir, fail_criterion=offSrc)
135
- logging.info("Making segment plot and exiting.")
137
+ seg_dir, fail_criterion=fail_criterion)
136
138
  sys.exit()
137
139
 
138
140
  plot_met = make_grb_segments_plot(
@@ -103,7 +103,7 @@ parser.add_argument("--background-output-file",
103
103
  parser.add_argument("--onsource-output-file",
104
104
  help="Exclusion distance output file.")
105
105
  parser.add_argument("--exclusion-dist-output-file",
106
- help="JSON file containing exclusion distances.")
106
+ help="JSON file containing exclusion distances and efficiency curves.")
107
107
  parser.add_argument("-g", "--glitch-check-factor", action="store",
108
108
  type=float, default=1.0, help="When deciding " +
109
109
  "exclusion efficiencies this value is multiplied " +
@@ -591,11 +591,10 @@ if opts.background_output_file:
591
591
  label='No marginalisation')
592
592
  ax.errorbar(dist_plot_vals, (fraction_no_mc),
593
593
  yerr=[yerr_low_no_mc, yerr_high_no_mc], c='green')
594
- marg_eff = fraction_mc
595
- if np.nansum(marg_eff) > 0:
596
- ax.plot(dist_plot_vals, marg_eff, 'r-', label='Marginalised')
594
+ if np.nansum(fraction_mc) > 0:
595
+ ax.plot(dist_plot_vals, fraction_mc, 'r-', label='Marginalised')
597
596
  ax.errorbar(dist_plot_vals,
598
- marg_eff,
597
+ fraction_mc,
599
598
  yerr=[yerr_low_mc, yerr_high_mc],
600
599
  c='red')
601
600
  ax.legend()
@@ -660,6 +659,14 @@ if len(found_after_vetoes['network/template_id']):
660
659
  if opts.exclusion_dist_output_file:
661
660
  excl_dist['inj_set'] = inj_set_name
662
661
  excl_dist['trial_name'] = opts.trial_name
662
+ excl_dist['inj_dist'] = dist_plot_vals
663
+ excl_dist['eff_no_marg'] = list(fraction_no_mc)
664
+ excl_dist['eff_no_marg_err_low'] = list(yerr_low_no_mc)
665
+ excl_dist['eff_no_marg_err_high'] = list(yerr_high_no_mc)
666
+ excl_dist['marg_eff'] = list(fraction_mc)
667
+ excl_dist['marg_eff_err_low'] = list(yerr_low)
668
+ excl_dist['marg_eff_err_high'] = list(yerr_high)
669
+ excl_dist['eff_inc_count_err'] = list(red_efficiency)
663
670
  with open(opts.exclusion_dist_output_file, 'w') as excl_dist_file:
664
671
  json.dump(excl_dist, excl_dist_file)
665
672
 
@@ -673,10 +680,9 @@ if opts.onsource_output_file:
673
680
  label='No marginalisation')
674
681
  ax.errorbar(dist_plot_vals, (fraction_no_mc),
675
682
  yerr=[yerr_low_no_mc, yerr_high_no_mc], c='green')
676
- marg_eff = fraction_mc
677
- if np.nansum(marg_eff) > 0:
678
- ax.plot(dist_plot_vals, marg_eff, 'r-', label='Marginalised')
679
- ax.errorbar(dist_plot_vals, marg_eff, yerr=[yerr_low, yerr_high],
683
+ if np.nansum(fraction_mc) > 0:
684
+ ax.plot(dist_plot_vals, fraction_mc, 'r-', label='Marginalised')
685
+ ax.errorbar(dist_plot_vals, fraction_mc, yerr=[yerr_low, yerr_high],
680
686
  c='red')
681
687
  if np.nansum(red_efficiency) > 0:
682
688
  ax.plot(dist_plot_vals, red_efficiency, 'm-',
@@ -27,6 +27,7 @@ import os
27
27
  import argparse
28
28
  import logging
29
29
 
30
+ from igwn_segments import segmentlist
30
31
  import pycbc.workflow as wf
31
32
  from pycbc.workflow.core import FileList, resolve_url_to_file
32
33
  import pycbc.workflow.minifollowups as mini
@@ -181,14 +182,20 @@ if veto_file:
181
182
  veto_file = os.path.join(start_rundir, args.veto_file)
182
183
  veto_file = wf.resolve_url_to_file(veto_file)
183
184
 
185
+ seg_file_abs_paths = [os.path.join(start_rundir, f) for f in args.seg_files]
186
+
184
187
  # Convert the segments files to a FileList
185
- seg_files = wf.FileList([
186
- wf.resolve_url_to_file(os.path.join(start_rundir, f))
187
- for f in args.seg_files
188
- ])
188
+ seg_files = wf.FileList(
189
+ [wf.resolve_url_to_file(f) for f in seg_file_abs_paths]
190
+ )
191
+
192
+ # The Q-scan jobs need to be told the valid science segments to deal with
193
+ # triggers near the boundaries correctly. We use the offsource segment as a
194
+ # proxy for the valid science segments, and ignore vetoed time inside it.
195
+ valid_segs = segmentlist([ppu._read_seg_files(seg_file_abs_paths)['off']])
189
196
 
190
- # (Loudest) off/on-source events are on time-slid data so the
191
- # try will succeed, as it finds the time shift columns.
197
+ # Determine if we are following up injections or loudest off/on-source triggers.
198
+ # If the time shift dataset exists, then assume we are doing the latter.
192
199
  is_injection_followup = True
193
200
  try:
194
201
  time_shift = fp[ifos[0]+' time shift (s)'][0]
@@ -200,16 +207,17 @@ except KeyError:
200
207
  for num_event in range(num_events):
201
208
  files = FileList([])
202
209
  logging.info('Processing event: %s', num_event+1)
203
- gps_time = fp['GPS time'][num_event]
204
- gps_time = gps_time.astype(float)
205
210
  tags = args.tags + [str(num_event+1)]
206
211
  if wiki_file:
207
212
  row = []
208
213
  for key in fp.keys():
209
214
  row.append(fp[key][num_event])
210
215
  add_wiki_row(wiki_file, row)
211
- # Handle injections (which are on unslid data)
216
+ # Handle injections
217
+ # They are on unslid data so geocenter time is used
212
218
  if is_injection_followup:
219
+ gps_time = fp['GC GPS time (s)'][num_event]
220
+ gps_time = gps_time.astype(float)
213
221
  for snr_type in ['reweighted', 'coherent']:
214
222
  files += make_timeseries_plot(workflow, trig_file,
215
223
  snr_type, gps_time,
@@ -220,13 +228,14 @@ for num_event in range(num_events):
220
228
  for ifo in ifos:
221
229
  files += mini.make_qscan_plot(workflow, ifo, gps_time,
222
230
  args.output_dir,
223
- tags=tags)
224
- # Handle off/on-source loudest triggers follow-up (which may be on slid
225
- # data in the case of the off-source)
231
+ tags=tags,
232
+ data_segments=valid_segs)
233
+ # Handle off/on-source loudest triggers follow-up
234
+ # They are data that may be slid so detector time is used
226
235
  else:
227
236
  for i_ifo, ifo in enumerate(ifos):
228
- time_shift = fp[ifo+' time shift (s)'][num_event]
229
- ifo_time = gps_time + time_shift
237
+ ifo_time = fp[ifo+' GPS time (s)'][num_event]
238
+ ifo_time = ifo_time.astype(float)
230
239
  files += make_timeseries_plot(workflow, trig_file,
231
240
  'single', ifo_time,
232
241
  args.output_dir, ifo=ifo,
@@ -235,7 +244,8 @@ for num_event in range(num_events):
235
244
  tags=tags)
236
245
  files += mini.make_qscan_plot(workflow, ifo, ifo_time,
237
246
  args.output_dir,
238
- tags=tags)
247
+ tags=tags,
248
+ data_segments=valid_segs)
239
249
 
240
250
  layouts += list(layout.grouper(files, 2))
241
251
 
@@ -428,15 +428,19 @@ if lofft_outfile:
428
428
  d.extend([trig_data[ifo+'/snr'][ifo_trig_index[ifo]]
429
429
  for ifo in ifos])
430
430
  d.extend([slide_dict[trig_slide_id][ifo] for ifo in ifos])
431
+ d.extend([trig_data[ifo+'/end_time'][ifo_trig_index[ifo]]
432
+ for ifo in ifos])
431
433
  d.append(bestnr)
432
434
  td.append(d)
433
435
 
434
- # th: table header [pycbc_pygrb_minifollowups looks for 'Slide Num']
435
- th = ['Trial', 'Slide Num', 'p-value', 'GPS time',
436
+ # th: table header
437
+ # Check against pycbc_pygrb_minifollowups prior to changing any of these
438
+ th = ['Trial', 'Slide Num', 'p-value', 'GC GPS time (s)',
436
439
  'Rec. m1', 'Rec. m2', 'Rec. Mc', 'Rec. spin1z', 'Rec. spin2z',
437
440
  'Rec. RA', 'Rec. Dec', 'SNR', 'Chi^2', 'Null SNR']
438
441
  th.extend([ifo+' SNR' for ifo in ifos])
439
442
  th.extend([ifo+' time shift (s)' for ifo in ifos])
443
+ th.extend([ifo+' GPS time (s)' for ifo in ifos])
440
444
  th.append('BestNR')
441
445
 
442
446
  # When len(offsource_trigs) == 0, the loop above leaves td = [] unchanged
@@ -466,11 +470,12 @@ if lofft_outfile:
466
470
  td = [np.asarray(d) for d in td]
467
471
 
468
472
  # Format of table data
469
- format_strings = ['##.##', '##.##', None, '##.#####',
473
+ format_strings = ['##.##', '##.##', None, '##.###',
470
474
  '##.##', '##.##', '##.##', '##.##', '##.##',
471
475
  '##.##', '##.##', '##.##', '##.##', '##.##']
472
- format_strings.extend(['##.##' for ifo in ifos])
473
- format_strings.extend(['##.##' for ifo in ifos])
476
+ format_strings.extend(['##.##' for _ in ifos])
477
+ format_strings.extend(['##.##' for _ in ifos])
478
+ format_strings.extend(['##.###' for _ in ifos])
474
479
  format_strings.extend(['##.##'])
475
480
  html_table = pycbc.results.html_table(td, th,
476
481
  format_strings=format_strings,
@@ -548,13 +553,16 @@ if onsource_file:
548
553
  on_trigs['network/my_network_chisq'][trig_index],
549
554
  on_trigs['network/null_snr'][trig_index]] + \
550
555
  [on_trigs[ifo+'/snr'][ifo_trig_index[ifo]] for ifo in ifos] + \
551
- [loud_on_bestnr]
556
+ [on_trigs[ifo+'/end_time'][ifo_trig_index[ifo]]
557
+ for ifo in ifos] + [loud_on_bestnr]
552
558
  td.append(d)
553
559
 
554
560
  # Table header
555
- th = ['p-value', 'GPS time', 'Rec. m1', 'Rec. m2', 'Rec. Mc',
561
+ # Check against pycbc_pygrb_minifollowups prior to changing any of these
562
+ th = ['p-value', 'GC GPS time (s)', 'Rec. m1', 'Rec. m2', 'Rec. Mc',
556
563
  'Rec. spin1z', 'Rec. spin2z', 'Rec. RA', 'Rec. Dec', 'SNR', 'Chi^2',
557
- 'Null SNR'] + [ifo+' SNR' for ifo in ifos] + ['BestNR']
564
+ 'Null SNR'] + [ifo+' SNR' for ifo in ifos] + \
565
+ [ifo+' GPS time (s)' for ifo in ifos] + ['BestNR']
558
566
 
559
567
  td = list(zip(*td))
560
568
 
@@ -572,14 +580,15 @@ if onsource_file:
572
580
  logging.info("Writing loudest onsource trigger to html file.")
573
581
 
574
582
  # Format of table data
575
- format_strings = [None, '##.#####', '##.##', '##.##', '##.##', '##.##',
583
+ format_strings = [None, '##.###', '##.##', '##.##', '##.##', '##.##',
576
584
  '##.##', '##.##', '##.##', '##.##', '##.##', '##.##']
577
- format_strings.extend(['##.##' for ifo in ifos])
585
+ format_strings.extend(['##.##' for _ in ifos])
586
+ format_strings.extend(['##.###' for _ in ifos])
578
587
  format_strings.extend(['##.##'])
579
588
 
580
589
  # Table data: assemble human readable message when no trigger is recovered
581
590
  if not loud_on_bestnr_trigs:
582
- td = [list("-" * len(format_strings))]
591
+ td = [["-"] for _ in format_strings]
583
592
  td[0][0] = "There are no events"
584
593
  td = [np.asarray(d) for d in td]
585
594
  html_table = pycbc.results.html_table(td, th,
@@ -628,8 +637,11 @@ if found_missed_file is not None:
628
637
 
629
638
  # Write quiet triggers to file
630
639
  sites = [ifo[0] for ifo in ifos]
640
+ # Table header
641
+ # Check against pycbc_pygrb_minifollowups prior to changing any of these
642
+ # Injections are in zero-lag so no timing information at the IFOs is needed
631
643
  th = ['Dist'] + ['Eff. Dist. '+site for site in sites] +\
632
- ['GPS time', 'GPS time - Rec. Time'] +\
644
+ ['GC GPS time (s)', 'GPS time - Rec. Time'] +\
633
645
  ['Inj. m1', 'Inj. m2', 'Inj. Mc', 'Rec. m1', 'Rec. m2', 'Rec. Mc',
634
646
  'Inj. inc', 'Inj. RA', 'Inj. Dec', 'Rec. RA', 'Rec. Dec', 'SNR',
635
647
  'Chi^2', 'Null SNR'] +\
@@ -640,7 +652,7 @@ if found_missed_file is not None:
640
652
  'Rec S1z', 'Rec S2z']
641
653
  # Format of table data
642
654
  format_strings = ['##.##']
643
- format_strings.extend(['##.##' for ifo in ifos])
655
+ format_strings.extend(['##.##' for _ in ifos])
644
656
  format_strings.extend(['##.#####', '##.#####',
645
657
  '##.##', '##.##', '##.##',
646
658
  '##.##', '##.##', '##.##',
@@ -144,12 +144,14 @@ inj_data = ppu.load_data(inj_file, ifos, data_tag='injs',
144
144
  slide_id=0)
145
145
 
146
146
  # Specify HDF file keys for x quantity (time) and y quantity (SNR)
147
+ x_key = 'network/end_time_gc'
148
+ y_key = 'network/' + opts.y_variable + '_snr'
147
149
  if opts.y_variable == 'single':
148
- x_key = opts.ifo + '/end_time'
149
150
  y_key = opts.ifo + '/snr'
150
- else:
151
- x_key = 'network/end_time_gc'
152
- y_key = 'network/' + opts.y_variable + '_snr'
151
+ # When looking at a single slide in a detector use the time at the detector
152
+ # Otherwise use the time at the geocenter to look at all slides at once
153
+ if opts.slide_id != 'all':
154
+ x_key = opts.ifo + '/end_time'
153
155
 
154
156
  # Extract needed trigger properties and store them as dictionaries
155
157
  # Based on trial_dict: if vetoes were applied, trig_* are the veto survivors
@@ -204,6 +206,10 @@ if inj_file:
204
206
  # Generate plots
205
207
  logging.info("Plotting...")
206
208
 
209
+ # Prepare the horizontal axis label
210
+ x_label = "Geocenter" if 'network' in x_key else opts.ifo
211
+ x_label += f" time since {central_time:.3f} (s)"
212
+
207
213
  # Determine what goes on the vertical axis
208
214
  y_labels = {'coherent': "Coherent SNR",
209
215
  'single': f"{ifo} SNR",
@@ -224,5 +230,5 @@ if not opts.x_lims:
224
230
  opts.x_lims = f"{start},{end}"
225
231
  plu.pygrb_plotter([trig_data_time, trig_data_snr],
226
232
  [inj_data_time, inj_data_snr],
227
- f"Time since {central_time:.3f} (s)", y_label,
233
+ x_label, y_label,
228
234
  opts, cmd=' '.join(sys.argv))