PyCBC 2.1.3__tar.gz → 2.1.4__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.
- {PyCBC-2.1.3 → PyCBC-2.1.4}/PKG-INFO +2 -2
- {PyCBC-2.1.3 → PyCBC-2.1.4}/PyCBC.egg-info/PKG-INFO +2 -2
- {PyCBC-2.1.3 → PyCBC-2.1.4}/PyCBC.egg-info/SOURCES.txt +2 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/live/pycbc_live_combine_single_fits +69 -52
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/live/pycbc_live_plot_combined_single_fits +20 -25
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/live/pycbc_live_plot_single_trigger_fits +65 -49
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/live/pycbc_live_single_trigger_fits +92 -61
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_live +51 -3
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_make_skymap +6 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_optimize_snr +51 -237
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/live/run.sh +15 -1
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/coinc.py +8 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/io/live.py +0 -2
- PyCBC-2.1.4/pycbc/live/__init__.py +5 -0
- PyCBC-2.1.4/pycbc/live/snr_optimizer.py +404 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/psd/variation.py +204 -16
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/scheme.py +14 -11
- PyCBC-2.1.4/pycbc/version.py +24 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/setup.py +1 -1
- PyCBC-2.1.3/pycbc/version.py +0 -24
- {PyCBC-2.1.3 → PyCBC-2.1.4}/LICENSE +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/MANIFEST.in +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/PyCBC.egg-info/dependency_links.txt +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/PyCBC.egg-info/requires.txt +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/PyCBC.egg-info/top_level.txt +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/README.md +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_add_statmap +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_apply_rerank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_average_psd +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_bin_trigger_rates_dq +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_calculate_dq +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_calculate_dqflag +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_calculate_psd +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_coinc_findtrigs +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_coinc_hdfinjfind +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_coinc_mergetrigs +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_coinc_statmap +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_coinc_statmap_inj +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_combine_coincident_events +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_combine_statmap +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_cut_merge_triggers_to_tmpltbank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_distribute_background_bins +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_dtphase +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_exclude_zerolag +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_fit_sngls_binned +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_fit_sngls_by_template +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_fit_sngls_over_multiparam +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_fit_sngls_over_param +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_fit_sngls_split_binned +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_followup_file +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_foreground_censor +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_get_loudest_params +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_merge_psds +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_plot_kde_vals +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_reduce_template_bank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_rerank_dq +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_rerank_passthrough +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_sngls_findtrigs +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_sngls_pastro +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_sngls_statmap +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_sngls_statmap_inj +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_strip_injections +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_template_kde_calc +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/all_sky_search/pycbc_template_recovery_hist +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/bank/pycbc_aligned_bank_cat +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/bank/pycbc_aligned_stoch_bank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/bank/pycbc_bank_verification +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/bank/pycbc_brute_bank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/bank/pycbc_coinc_bank2hdf +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/bank/pycbc_geom_aligned_2dstack +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/bank/pycbc_geom_aligned_bank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/bank/pycbc_geom_nonspinbank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/bank/pycbc_tmpltbank_to_chi_params +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/hwinj/pycbc_generate_hwinj +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/hwinj/pycbc_generate_hwinj_from_xml +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/hwinj/pycbc_insert_frame_hwinj +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/hwinj/pycbc_plot_hwinj +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_create_fits +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_extract_samples +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_model_stats +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_monitor +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_acceptance_rate +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_acf +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_acl +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_dynesty_run +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_dynesty_traceplot +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_gelman_rubin +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_geweke +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_inj_recovery +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_mcmc_history +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_movie +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_posterior +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_pp +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_prior +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_samples +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_skymap +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_plot_thermodynamic_integrand +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_pp_table_summary +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_start_from_samples +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_inference_table_summary +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/pycbc_validate_test_posterior +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/inference/run_pycbc_inference +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/minifollowups/pycbc_foreground_minifollowup +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/minifollowups/pycbc_injection_minifollowup +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/minifollowups/pycbc_page_coincinfo +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/minifollowups/pycbc_page_injinfo +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/minifollowups/pycbc_page_snglinfo +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/minifollowups/pycbc_plot_chigram +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/minifollowups/pycbc_plot_trigger_timeseries +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/minifollowups/pycbc_single_template_plot +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/minifollowups/pycbc_sngl_minifollowup +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_banksim_plot_eff_fitting_factor +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_banksim_plot_fitting_factors +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_banksim_table_point_injs +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_create_html_snippet +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_faithsim_plots +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_ifar_catalog +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_mass_area_plot +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_mchirp_plots +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_banktriggerrate +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_coinc_snrchi +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_foreground +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_foundmissed +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_ifar +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_injtable +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_recovery +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_segments +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_segplot +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_segtable +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_sensitivity +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_snrchi +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_snrifar +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_snrratehist +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_page_vetotable +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_background_coincs +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_bank_bins +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_dq_likelihood_vs_time +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_dq_percentiles +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_gate_triggers +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_gating +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_hist +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_multiifo_dtphase +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_psd_file +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_psd_timefreq +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_qscan +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_range +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_range_vs_mtot +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_singles_timefreq +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_singles_vs_params +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_throughput +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_trigrate +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_vt_ratio +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/plotting/pycbc_plot_waveform +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/population/pycbc_multiifo_pastro +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/population/pycbc_population_plots +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/population/pycbc_population_rates +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_banksim +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_banksim_combine_banks +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_banksim_match_combine +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_banksim_skymax +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_coinc_time +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_compress_bank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_condition_strain +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_copy_output_map +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_create_injections +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_data_store +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_faithsim +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_faithsim_collect_results +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_fit_sngl_trigs +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_get_ffinal +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_hdf5_splitbank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_hdf_splitinj +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_inj_cut +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_inspinj2hdf +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_inspiral +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_inspiral_skymax +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_live_nagios_monitor +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_losc_segment_query +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_make_banksim +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_make_faithsim +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_make_html_page +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_merge_inj_hdf +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_multi_inspiral +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_optimal_snr +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_process_sngls +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_randomize_inj_dist_by_optsnr +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_single_template +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_source_probability_offline +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_split_inspinj +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_splitbank +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_stageout_failed_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_submit_dax +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pycbc_upload_xml_to_gracedb +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_grb_inj_combiner +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_grb_inj_finder +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_grb_trig_cluster +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_grb_trig_combiner +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_make_offline_grb_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_efficiency +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_grb_info_table +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_minifollowups +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_page_tables +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_plot_chisq_veto +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_plot_coh_ifosnr +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_plot_injs_results +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_plot_null_stats +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_plot_skygrid +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_plot_snr_timeseries +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_plot_stats_distribution +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/pygrb/pycbc_pygrb_pp_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflow_comparisons/offline_search/pycbc_combine_injection_comparisons +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflow_comparisons/offline_search/pycbc_injection_set_comparison +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflow_comparisons/offline_search/pycbc_plot_injections_found_both_workflows +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflow_comparisons/offline_search/pycbc_plot_injections_missed_one_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflow_comparisons/offline_search/pycbc_plot_vt_ratio_vs_ifar +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflows/pycbc_make_bank_verifier_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflows/pycbc_make_coinc_search_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflows/pycbc_make_faithsim_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflows/pycbc_make_inference_inj_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflows/pycbc_make_inference_plots_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflows/pycbc_make_inference_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflows/pycbc_make_psd_estimation_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflows/pycbc_make_sbank_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/bin/workflows/pycbc_make_uberbank_workflow +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/banksim/injection0.xml +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/banksim/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/cal/foton_filter_esd_saturation/pycbc_check_esd_saturation.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/cal/foton_filter_esd_saturation/pycbc_check_pcal_saturation.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/cal/foton_filter_esd_saturation/run_pcal_saturation_example.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/catalog/data.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/catalog/stat.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/catalog/what.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/dataquality/hwinj.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/dataquality/on.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/detector/ant.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/detector/delay.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/detector/loc.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/detector/travel.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/distributions/list_distributions.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/distributions/mass_examples.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/distributions/mchirp_q_from_uniform_m1m2_example.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/distributions/sampling_from_config_example.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/distributions/spin_examples.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/distributions/spin_spatial_distr_example.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/faith/injection0.xml +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/faith/pegasus_workflow_create.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/faith/pegasus_workflow_submit.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/faith/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/filter/chisq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/filter/fir.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/filter/pass.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/filter/snr.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/gw150914/audio.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/gw150914/gw150914_h1_snr.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/gw150914/gw150914_shape.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/analytic-normal2d/make_movie.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/analytic-normal2d/plot.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/analytic-normal2d/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/bbh-injection/make_injection.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/bbh-injection/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/bbh-injection/run_test.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/gw150914/plot.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/gw150914/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/gw150914/run_test.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/hierarchical/make_injections.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/hierarchical/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/hierarchical/run_test.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/lisa_smbhb/advanced_plot.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/lisa_smbhb/get.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/lisa_smbhb/plot.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/lisa_smbhb/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/list_parameters.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/margtime/get.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/margtime/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/margtime/run_inj.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/multisignal/get.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/multisignal/make_injections.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/multisignal/rel.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/multisignal/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/multisignal/single.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/relative/get.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/relative/plot.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/relative/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/samplers/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/single/get.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/single/plot.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/single/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/single/run_instant.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inference/single/run_marg.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inspiral/check_GW150914_detection.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inspiral/clean.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/inspiral/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/live/check_results.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/live/generate_injections.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/live/make_singles_fits_file.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/make_skymap/GW150914.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/make_skymap/GW170817.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/make_skymap/simulated_data.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/multi_inspiral/check_faceon_faceaway_trigs.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/multi_inspiral/check_gw170817_trigs.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/multi_inspiral/clean.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/multi_inspiral/faceon_faceaway.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/multi_inspiral/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/noise/frequency.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/noise/timeseries.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/overlap.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/psd/analytic.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/psd/estimate.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/psd/read.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/search/bank.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/search/check_job.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/search/gen.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/search/get.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/search/master.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/search/stats.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/search/submit.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/bank_workflow_test/gen.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/cleanOutput.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/make_cache.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testAligned.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testAligned2.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testAligned3.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testNonspin.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testNonspin2.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testNonspin3.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testStoch.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testStoch2.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testStoch3.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/tmpltbank/testStoch4.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/waveform/add_waveform.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/waveform/match_waveform.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/waveform/plot_detwaveform.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/waveform/plot_fd_td.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/waveform/plot_freq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/waveform/plot_phase.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/waveform/plot_waveform.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/waveform/what_waveform.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/data_checker/daily_test.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/data_checker/get_data_example.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/data_checker/run_daily_test.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/data_checker/run_get_data_example.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/dayhopecheck/dayhopecheck.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/dayhopecheck/run_dayhopecheck.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/generic/multilevel_subworkflow_data/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/generic/multilevel_subworkflow_data/simple.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/generic/simple_subworkflow_data/run.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/generic/simple_subworkflow_data/simple.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/inference/bbh_inj-dynesty/create_inj_workflow.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/inference/gw150914_gw170814-dynesty/create_workflow.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/inference/gw150914_gw170814-emcee_pt/create_workflow.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/inference/small_test/gen.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/pygrb/ER7/run_er7_pygrb_offline.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/pygrb/ER8/run_er8_pygrb_offline.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/pygrb/ER8/run_er8_pygrb_online.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/examples/workflow/pygrb/S6/run_s6_pygrb.sh +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/_version.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/_version_helper.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/bin_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/boundaries.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/catalog/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/catalog/catalog.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/conversions.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/coordinates.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/cosmology.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/detector.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/angular.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/arbitrary.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/bounded.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/constraints.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/external.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/fixedsamples.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/gaussian.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/joint.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/mass.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/power_law.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/qnm.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/sky_location.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/spins.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/uniform.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/uniform_log.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/distributions/utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/dq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/coherent.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/coinc_rate.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/cuts.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/eventmgr.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/eventmgr_cython.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/ranking.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/significance.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/simd_threshold_ccode.cpp +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/simd_threshold_cython.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/single.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/stat.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/threshold_cpu.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/threshold_cuda.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/trigger_fits.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/triggers.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/events/veto.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/backend_cpu.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/backend_cuda.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/backend_mkl.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/backend_support.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/class_api.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/core.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/cuda_pyfft.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/cufft.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/fft_callback.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/fftw.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/fftw_pruned.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/fftw_pruned_cython.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/func_api.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/mkl.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/npfft.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/fft/parser_support.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/autocorrelation.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/fotonfilter.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/matchedfilter.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/matchedfilter_cpu.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/matchedfilter_cuda.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/matchedfilter_numpy.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/qtransform.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/resample.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/simd_correlate.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/simd_correlate_ccode.cpp +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/simd_correlate_cython.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/filter/zpk.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/frame/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/frame/frame.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/frame/losc.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/frame/store.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/burn_in.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/entropy.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/evidence.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/gelman_rubin.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/geweke.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/base_hdf.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/base_mcmc.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/base_multitemper.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/base_nested_sampler.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/base_sampler.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/cpnest.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/dynesty.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/emcee.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/emcee_pt.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/epsie.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/multinest.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/posterior.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/ptemcee.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/txt.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/io/ultranest.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/jump/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/jump/angular.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/jump/bounded_normal.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/jump/discrete.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/jump/normal.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/analytic.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/base.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/base_data.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/brute_marg.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/data_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/gated_gaussian_noise.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/gaussian_noise.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/hierarchical.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/marginalized_gaussian_noise.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/relbin.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/relbin_cpu.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/single_template.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/models/tools.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/option_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/base.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/base_cube.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/base_mcmc.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/base_multitemper.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/cpnest.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/dummy.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/dynesty.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/emcee.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/emcee_pt.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/epsie.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/multinest.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/ptemcee.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inference/sampler/ultranest.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inject/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inject/inject.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/inject/injfilterrejector.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/io/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/io/hdf.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/io/ligolw.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/io/record.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/libutils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/mchirp_area.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/neutron_stars/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/neutron_stars/eos_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/neutron_stars/ns_data/equil_2H.dat +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/neutron_stars/pg_isso_solver.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/noise/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/noise/gaussian.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/noise/reproduceable.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/opt.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/pnutils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/pool.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/population/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/population/fgmc_functions.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/population/fgmc_laguerre.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/population/fgmc_plots.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/population/live_pastro.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/population/live_pastro_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/population/population_models.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/population/rates_functions.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/population/scale_injections.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/psd/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/psd/analytical.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/psd/analytical_space.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/psd/estimate.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/psd/read.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/rate.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/color.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/dq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/followup.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/layout.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/legacy_grb.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/metadata.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/mpld3_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/plot.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/psd.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/pygrb_plotting_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/pygrb_postprocessing_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/render.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/scatter_histograms.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/css/bootstrap/3.3.2/bootstrap.min.css +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/css/bootstrap.min.css +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/css/fancybox/2.1.5/jquery.fancybox.css +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/css/pycbc/orange.css +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/css/pycbc/red.css +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Light.css +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Light.eot +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Light.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Light.ttf +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Light.woff +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Semibold.css +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Semibold.eot +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Semibold.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Semibold.ttf +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/fonts/Lato-Semibold.woff +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/js/bootstrap/3.3.2/bootstrap.min.js +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/js/bootstrap.min.js +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/js/fancybox/2.1.5/fancybox-orange.js +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/js/fancybox/2.1.5/jquery.fancybox.js +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/js/fancybox/2.1.5/jquery.fancybox.pack.js +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/js/jquery/1.10.2/jquery-1.10.2.min.js +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/js/jquery/1.10.2/jquery.mousewheel-3.0.6.pack.js +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/static/js/jquery.min.js +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/str_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/table_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/templates/files/file_default.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/templates/files/file_glitchgram.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/templates/files/file_img.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/templates/files/file_pre.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/templates/files/file_tmplt.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/templates/orange.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/templates/red.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/templates/wells/sitemap.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/templates/wells/two_column.html +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/results/versioning.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/sensitivity.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/strain/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/strain/calibration.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/strain/gate.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/strain/lines.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/strain/recalibrate.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/strain/strain.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/bank_conversions.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/bank_output_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/brute_force_methods.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/calc_moments.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/coord_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/lambda_mapping.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/lattice_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/option_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/tmpltbank/partitioned_bank.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/transforms.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/types/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/types/aligned.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/types/array.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/types/array_cpu.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/types/array_cuda.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/types/config.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/types/frequencyseries.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/types/optparse.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/types/timeseries.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/vetoes/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/vetoes/autochisq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/vetoes/bank_chisq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/vetoes/chisq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/vetoes/chisq_cpu.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/vetoes/chisq_cuda.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/vetoes/sgchisq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/SpinTaylorF2.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/bank.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/compress.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/decompress_cpu.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/decompress_cpu_ccode.cpp +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/decompress_cpu_cython.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/decompress_cuda.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/generator.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/multiband.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/nltides.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/parameters.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/plugin.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/premerger.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/pycbc_phenomC_tmplt.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/ringdown.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/sinegauss.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/spa_tmplt.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/spa_tmplt_cpu.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/spa_tmplt_cuda.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/supernovae.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/utils_cpu.pyx +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/utils_cuda.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/waveform.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/waveform/waveform_modes.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/__init__.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/coincidence.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/configparser_test.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/configuration.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/core.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/datafind.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/dq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/grb_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/inference_followups.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/injection.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/jobsetup.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/matched_filter.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/minifollowups.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/pegasus_files/pegasus-properties.conf +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/pegasus_sites.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/pegasus_workflow.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/plotting.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/psd.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/psdfiles.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/segment.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/splittable.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pycbc/workflow/tmpltbank.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pyproject.toml +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/pytest.ini +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/setup.cfg +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/bankvetotest.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/fft_base.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/lalsim.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_array.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_array_lal.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_autochisq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_calibration.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_chisq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_coinc_stat.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_conversions.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_correlate.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_cuts.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_detector.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_distributions.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_dq.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_fft_mkl_threaded.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_fft_unthreaded.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_fftw_openmp.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_fftw_pthreads.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_frame.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_frequencyseries.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_infmodel.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_injection.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_io_live.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_live_coinc_compare.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_matchedfilter.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_noise.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_pnutils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_psd.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_resample.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_schemes.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_significance_module.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_skymax.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_spatmplt.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_threshold.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_timeseries.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_tmpltbank.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_transforms.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_waveform.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/test_waveform_utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/test/utils.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/benchmarking/absolute_times.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/einsteinathome/check_GW150914_detection.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/static/hooks/hook-pycbc.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/static/runtime-scipy.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/static/runtime-tkinter.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/timing/arr_perf.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/timing/banksim/banksim.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/timing/correlate_perf.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/timing/fft_perf.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/timing/match_perf.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tools/timing/wav_perf.py +0 -0
- {PyCBC-2.1.3 → PyCBC-2.1.4}/tox.ini +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyCBC
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.4
|
|
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.1.
|
|
9
|
+
Download-URL: https://github.com/gwastro/pycbc/tarball/v2.1.4
|
|
10
10
|
Description: 
|
|
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.1.
|
|
3
|
+
Version: 2.1.4
|
|
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.1.
|
|
9
|
+
Download-URL: https://github.com/gwastro/pycbc/tarball/v2.1.4
|
|
10
10
|
Description: 
|
|
11
11
|
|
|
12
12
|
[PyCBC](http://pycbc.org) is a software package used to explore astrophysical sources of gravitational waves.
|
|
@@ -503,6 +503,8 @@ pycbc/io/hdf.py
|
|
|
503
503
|
pycbc/io/ligolw.py
|
|
504
504
|
pycbc/io/live.py
|
|
505
505
|
pycbc/io/record.py
|
|
506
|
+
pycbc/live/__init__.py
|
|
507
|
+
pycbc/live/snr_optimizer.py
|
|
506
508
|
pycbc/neutron_stars/__init__.py
|
|
507
509
|
pycbc/neutron_stars/eos_utils.py
|
|
508
510
|
pycbc/neutron_stars/pg_isso_solver.py
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
"""Combine PyCBC Live single-detector trigger fitting parameters from several
|
|
16
16
|
different files."""
|
|
17
17
|
|
|
18
|
-
import
|
|
18
|
+
import argparse
|
|
19
19
|
import logging
|
|
20
|
+
import numpy as np
|
|
21
|
+
import h5py
|
|
20
22
|
import pycbc
|
|
21
23
|
|
|
22
24
|
|
|
@@ -45,66 +47,80 @@ if args.conservative_percentile < 50 or \
|
|
|
45
47
|
"otherwise it is either not a percentile, or not "
|
|
46
48
|
"conservative.")
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
logging.info("%d input files", len(args.trfits_files))
|
|
51
|
+
|
|
52
|
+
# We only want to combine fit results if they were done with the same
|
|
53
|
+
# configuration. So start by finding the most recent fit file and reading its
|
|
54
|
+
# configuration parameters.
|
|
51
55
|
|
|
52
|
-
|
|
53
|
-
# Store some attributes so we can check that all files are
|
|
54
|
-
# comparable
|
|
56
|
+
logging.info("Determining the most recent configuration parameters")
|
|
55
57
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
latest_date = None
|
|
59
|
+
for f in args.trfits_files:
|
|
60
|
+
with h5py.File(f, 'r') as fit_f:
|
|
61
|
+
if latest_date is None or fit_f.attrs['analysis_date'] > latest_date:
|
|
62
|
+
latest_date = fit_f.attrs['analysis_date']
|
|
63
|
+
bl = fit_f['bins_lower'][:]
|
|
64
|
+
bu = fit_f['bins_upper'][:]
|
|
65
|
+
sngl_rank = fit_f.attrs['sngl_ranking']
|
|
66
|
+
fit_thresh = fit_f.attrs['fit_threshold']
|
|
67
|
+
fit_func = fit_f.attrs['fit_function']
|
|
59
68
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
fit_func = fit_f0.attrs['fit_function']
|
|
69
|
+
# Now go back through the fit files and read the actual information. Skip the
|
|
70
|
+
# files that have fit parameters inconsistent with what we found earlier.
|
|
63
71
|
|
|
64
|
-
|
|
72
|
+
logging.info("Reading individual fit results")
|
|
65
73
|
|
|
74
|
+
live_times = {ifo: [] for ifo in args.ifos}
|
|
66
75
|
trigger_file_starts = []
|
|
67
76
|
trigger_file_ends = []
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
logging.info("Checking through %d files", n_files)
|
|
77
|
+
counts_all = {ifo: [] for ifo in args.ifos}
|
|
78
|
+
alphas_all = {ifo: [] for ifo in args.ifos}
|
|
71
79
|
|
|
72
80
|
for f in args.trfits_files:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
for ifo in args.ifos:
|
|
87
|
-
if ifo not in fits_f:
|
|
81
|
+
with h5py.File(f, 'r') as fits_f:
|
|
82
|
+
# Check that the file uses the same setup as file 0, to make sure
|
|
83
|
+
# all coefficients are comparable
|
|
84
|
+
same_conf = (fits_f.attrs['sngl_ranking'] == sngl_rank
|
|
85
|
+
and fits_f.attrs['fit_threshold'] == fit_thresh
|
|
86
|
+
and fits_f.attrs['fit_function'] == fit_func
|
|
87
|
+
and all(fits_f['bins_lower'][:] == bl)
|
|
88
|
+
and all(fits_f['bins_upper'][:] == bu))
|
|
89
|
+
if not same_conf:
|
|
90
|
+
logging.warn(
|
|
91
|
+
"Found a change in the fit configuration, skipping %s",
|
|
92
|
+
f
|
|
93
|
+
)
|
|
88
94
|
continue
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
95
|
+
|
|
96
|
+
# We now determine the (approximate) start/end times of the
|
|
97
|
+
# trigger_fits file via the time of the first/last triggers in it.
|
|
98
|
+
# Ideally this would be recorded exactly in the file.
|
|
99
|
+
gps_last = 0
|
|
100
|
+
gps_first = np.inf
|
|
101
|
+
for ifo in args.ifos:
|
|
102
|
+
if ifo not in fits_f:
|
|
103
|
+
continue
|
|
104
|
+
trig_times = fits_f[ifo]['triggers']['end_time'][:]
|
|
105
|
+
gps_last = max(gps_last, trig_times.max())
|
|
106
|
+
gps_first = min(gps_first, trig_times.min())
|
|
107
|
+
trigger_file_starts.append(gps_first)
|
|
108
|
+
trigger_file_ends.append(gps_last)
|
|
109
|
+
|
|
110
|
+
# Read the fitting parameters
|
|
111
|
+
for ifo in args.ifos:
|
|
112
|
+
if ifo not in fits_f:
|
|
113
|
+
live_times[ifo].append(0)
|
|
114
|
+
counts_all[ifo].append(-1 * np.ones_like(bl))
|
|
115
|
+
alphas_all[ifo].append(-1 * np.ones_like(bl))
|
|
116
|
+
else:
|
|
117
|
+
ffi = fits_f[ifo]
|
|
118
|
+
live_times[ifo].append(ffi.attrs['live_time'])
|
|
119
|
+
counts_all[ifo].append(ffi['counts'][:])
|
|
120
|
+
alphas_all[ifo].append(ffi['fit_coeff'][:])
|
|
121
|
+
if any(np.isnan(ffi['fit_coeff'][:])):
|
|
122
|
+
logging.warn("nan in %s, %s", f, ifo)
|
|
123
|
+
logging.warn(ffi['fit_coeff'][:])
|
|
108
124
|
|
|
109
125
|
# Set up the date array, this is stored as an offset from the first trigger time of
|
|
110
126
|
# the first file to the last trigger of the file
|
|
@@ -115,7 +131,7 @@ ad_order = np.argsort(trigger_file_starts)
|
|
|
115
131
|
start_time_n = trigger_file_starts[ad_order[0]]
|
|
116
132
|
ad = trigger_file_ends[ad_order] - start_time_n
|
|
117
133
|
|
|
118
|
-
#
|
|
134
|
+
# Swap the time and bin dimensions for counts and alphas
|
|
119
135
|
counts_bin = {ifo: [c for c in zip(*counts_all[ifo])] for ifo in args.ifos}
|
|
120
136
|
alphas_bin = {ifo: [a for a in zip(*alphas_all[ifo])] for ifo in args.ifos}
|
|
121
137
|
|
|
@@ -125,6 +141,7 @@ cons_alphas_out = {ifo: np.zeros(len(alphas_bin[ifo])) for ifo in args.ifos}
|
|
|
125
141
|
cons_counts_out = {ifo: np.inf * np.ones(len(alphas_bin[ifo])) for ifo in args.ifos}
|
|
126
142
|
|
|
127
143
|
logging.info("Writing results")
|
|
144
|
+
|
|
128
145
|
fout = h5py.File(args.output, 'w')
|
|
129
146
|
fout.attrs['fit_threshold'] = fit_thresh
|
|
130
147
|
fout.attrs['conservative_percentile'] = args.conservative_percentile
|
|
@@ -12,18 +12,23 @@
|
|
|
12
12
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
13
13
|
# Public License for more details.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
"""Plot the time evolution of fit parameters of PyCBC Live triggers.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
import argparse
|
|
19
|
+
import logging
|
|
20
|
+
import numpy as np
|
|
21
|
+
import h5py
|
|
16
22
|
import matplotlib
|
|
17
23
|
matplotlib.use('agg')
|
|
18
24
|
from matplotlib import pyplot as plt
|
|
19
|
-
|
|
25
|
+
|
|
20
26
|
from lal import gpstime
|
|
21
|
-
import pycbc
|
|
22
27
|
|
|
28
|
+
import pycbc
|
|
23
29
|
|
|
24
30
|
|
|
25
|
-
parser = argparse.ArgumentParser(
|
|
26
|
-
description="Combine fitting parameters from several different files")
|
|
31
|
+
parser = argparse.ArgumentParser(description=__doc__)
|
|
27
32
|
parser.add_argument("--verbose", action="store_true",
|
|
28
33
|
help="Print extra debugging information", default=False)
|
|
29
34
|
parser.add_argument("--combined-fits-file", required=True,
|
|
@@ -45,7 +50,7 @@ parser.add_argument("--colormap", default="rainbow_r", choices=plt.colormaps(),
|
|
|
45
50
|
parser.add_argument("--log-colormap", action='store_true',
|
|
46
51
|
help="Use log spacing for choosing colormap values "
|
|
47
52
|
"based on duration bins.")
|
|
48
|
-
args=parser.parse_args()
|
|
53
|
+
args = parser.parse_args()
|
|
49
54
|
|
|
50
55
|
if '{ifo}' not in args.output_plot_name_format or \
|
|
51
56
|
'{type}' not in args.output_plot_name_format:
|
|
@@ -94,21 +99,6 @@ with h5py.File(args.combined_fits_file, 'r') as cff:
|
|
|
94
99
|
bin_starts = bins_edges[:-1]
|
|
95
100
|
bin_ends = bins_edges[1:]
|
|
96
101
|
|
|
97
|
-
bin_max = max(bin_ends)
|
|
98
|
-
bin_min = min(bin_starts)
|
|
99
|
-
|
|
100
|
-
def bin_proportion(upper, lower, log_spacing=False):
|
|
101
|
-
if log_spacing:
|
|
102
|
-
ll = np.log(lower)
|
|
103
|
-
ul = np.log(lower)
|
|
104
|
-
centl = (ll + ul) / 2.
|
|
105
|
-
minl = np.log(bin_min)
|
|
106
|
-
maxl = np.log(bin_max)
|
|
107
|
-
return (centl - minl) / (maxl - minl)
|
|
108
|
-
|
|
109
|
-
else:
|
|
110
|
-
return ((lower + upper) / 2. - bin_min) / (bin_max - bin_min)
|
|
111
|
-
|
|
112
102
|
# Set up the x ticks - note that these are rounded to the nearest
|
|
113
103
|
# midnight, so may not line up exactly with the data
|
|
114
104
|
min_start = min([separate_starts[ifo].min() for ifo in ifos])
|
|
@@ -157,8 +147,7 @@ for ifo in ifos:
|
|
|
157
147
|
mr = mean_count[ifo][i] / live_total[ifo]
|
|
158
148
|
cr = cons_count[ifo][i] / live_total[ifo]
|
|
159
149
|
|
|
160
|
-
bin_prop =
|
|
161
|
-
log_spacing=args.log_colormap)
|
|
150
|
+
bin_prop = i / len(bin_starts)
|
|
162
151
|
bin_colour = plt.get_cmap(args.colormap)(bin_prop)
|
|
163
152
|
bin_label = f"duration {bl:.2f}-{bu:.2f}"
|
|
164
153
|
alpha_lines += ax_alpha.plot(separate_starts[ifo], alphas, c=bin_colour,
|
|
@@ -199,6 +188,12 @@ for ifo in ifos:
|
|
|
199
188
|
ax.grid(zorder=-30)
|
|
200
189
|
|
|
201
190
|
fig_count.tight_layout()
|
|
202
|
-
fig_count.savefig(
|
|
191
|
+
fig_count.savefig(
|
|
192
|
+
args.output_plot_name_format.format(ifo=ifo, type='counts')
|
|
193
|
+
)
|
|
203
194
|
fig_alpha.tight_layout()
|
|
204
|
-
fig_alpha.savefig(
|
|
195
|
+
fig_alpha.savefig(
|
|
196
|
+
args.output_plot_name_format.format(ifo=ifo, type='fit_coeffs')
|
|
197
|
+
)
|
|
198
|
+
|
|
199
|
+
logging.info("Done")
|
|
@@ -12,17 +12,24 @@
|
|
|
12
12
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
13
13
|
# Public License for more details.
|
|
14
14
|
|
|
15
|
+
"""Plot histograms of PyCBC Live triggers split over various parameters, and
|
|
16
|
+
the corresponding fits.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
import argparse
|
|
20
|
+
import logging
|
|
15
21
|
import numpy as np
|
|
16
|
-
import
|
|
17
|
-
from pycbc import bin_utils
|
|
18
|
-
from pycbc.events import trigger_fits as trstats
|
|
22
|
+
import h5py
|
|
19
23
|
import matplotlib
|
|
20
24
|
matplotlib.use('agg')
|
|
21
25
|
from matplotlib import pyplot as plt
|
|
22
|
-
import argparse, logging, h5py
|
|
23
26
|
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
import pycbc
|
|
28
|
+
from pycbc.bin_utils import IrregularBins
|
|
29
|
+
from pycbc.events.trigger_fits import cum_fit as eval_cum_fit
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
parser = argparse.ArgumentParser(description=__doc__)
|
|
26
33
|
parser.add_argument("--verbose", action="store_true",
|
|
27
34
|
help="Print extra debugging information", default=False)
|
|
28
35
|
parser.add_argument("--trigger-fits-file", required=True,
|
|
@@ -39,11 +46,14 @@ parser.add_argument("--colormap", default="rainbow_r", choices=plt.colormaps(),
|
|
|
39
46
|
parser.add_argument("--log-colormap", action='store_true',
|
|
40
47
|
help="Use log spacing for choosing colormap values "
|
|
41
48
|
"based on duration bins.")
|
|
49
|
+
parser.add_argument("--x-lim-lower", type=float,
|
|
50
|
+
help="Add a lower limit to the x-axis of the plot")
|
|
42
51
|
parser.add_argument("--x-lim-upper", type=float,
|
|
43
52
|
help="Add an upper limit to the x-axis of the plot")
|
|
53
|
+
parser.add_argument("--y-lim-lower", type=float,
|
|
54
|
+
help="Add a lower limit to the y-axis of the plot")
|
|
44
55
|
parser.add_argument("--y-lim-upper", type=float,
|
|
45
56
|
help="Add an upper limit to the y-axis of the plot")
|
|
46
|
-
#parser.add_argument("--", default="", help="")
|
|
47
57
|
|
|
48
58
|
#Add some input sanitisation
|
|
49
59
|
args = parser.parse_args()
|
|
@@ -58,6 +68,7 @@ logging.info("Getting trigger fits file information")
|
|
|
58
68
|
with h5py.File(args.trigger_fits_file, 'r') as trfit_f:
|
|
59
69
|
# Get the ifos to plot from the file
|
|
60
70
|
# Check that all the ifos we want to plot are in the file
|
|
71
|
+
all_ifos = trfit_f.attrs['ifos'].split(',')
|
|
61
72
|
ifos = [k for k in trfit_f.keys() if not k.startswith('bins')]
|
|
62
73
|
|
|
63
74
|
# Grab some info from the attributes
|
|
@@ -79,54 +90,54 @@ with h5py.File(args.trigger_fits_file, 'r') as trfit_f:
|
|
|
79
90
|
bu = trfit_f['bins_upper'][:]
|
|
80
91
|
bl = trfit_f['bins_lower'][:]
|
|
81
92
|
|
|
82
|
-
bin_max = max(bu)
|
|
83
|
-
bin_min = min(bl)
|
|
84
|
-
|
|
85
|
-
def bin_proportion(upper, lower, log_spacing=False):
|
|
86
|
-
if log_spacing:
|
|
87
|
-
ll = np.log(lower)
|
|
88
|
-
ul = np.log(lower)
|
|
89
|
-
centl = (ll + ul) / 2.
|
|
90
|
-
minl = np.log(bin_min)
|
|
91
|
-
maxl = np.log(bin_max)
|
|
92
|
-
return (centl - minl) / (maxl - minl)
|
|
93
|
-
|
|
94
|
-
else:
|
|
95
|
-
return ((lower + upper) / 2. - bin_min) / (bin_max - bin_min)
|
|
96
|
-
|
|
97
|
-
|
|
98
93
|
duration_bin_edges = list(bl) + [bu[-1]]
|
|
99
|
-
|
|
100
|
-
tbins = bin_utils.IrregularBins(duration_bin_edges)
|
|
94
|
+
tbins = IrregularBins(duration_bin_edges)
|
|
101
95
|
|
|
102
96
|
logger = logging.getLogger()
|
|
103
97
|
init_level = logger.level
|
|
104
98
|
|
|
105
99
|
logging.info("Plotting fits")
|
|
106
100
|
|
|
107
|
-
for ifo in
|
|
108
|
-
|
|
109
|
-
|
|
101
|
+
for ifo in all_ifos:
|
|
102
|
+
fig, ax = plt.subplots(1)
|
|
103
|
+
oput_plot = args.output_plot_name_format.format(ifo=ifo)
|
|
104
|
+
|
|
105
|
+
if ifo not in ifos or not len(stats[ifo]):
|
|
106
|
+
# Plot a blank plot with a message to show it worked, but there
|
|
107
|
+
# weren't any triggers
|
|
108
|
+
plt.tick_params(labelcolor='none', top=False, bottom=False, left=False,
|
|
109
|
+
right=False)
|
|
110
|
+
ax.text(
|
|
111
|
+
0.5, 0.5,
|
|
112
|
+
"No triggers above threshold in this detector",
|
|
113
|
+
horizontalalignment='center',
|
|
114
|
+
verticalalignment='center',
|
|
115
|
+
)
|
|
116
|
+
logging.info(f"Saving {oput_plot}")
|
|
117
|
+
# Save initial logging level
|
|
118
|
+
logger.setLevel(logging.WARNING)
|
|
119
|
+
fig.savefig(oput_plot)
|
|
120
|
+
logger.setLevel(init_level)
|
|
121
|
+
|
|
122
|
+
continue
|
|
110
123
|
|
|
111
124
|
# Keep track of some maxima for use in setting the plot limits
|
|
112
125
|
maxstat = stats[ifo].max()
|
|
113
126
|
max_rate = 0
|
|
114
127
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
plotbins = np.linspace(fit_threshold, 1.05 * maxstat)
|
|
128
|
+
plotbins = np.linspace(fit_threshold, 1.05 * maxstat, 400)
|
|
118
129
|
|
|
119
130
|
logging.info("Putting events into bins")
|
|
120
131
|
event_bin = np.array([tbins[d] for d in durations[ifo]])
|
|
121
132
|
|
|
122
|
-
for bin_num, lower_upper in enumerate(zip(
|
|
123
|
-
duration_bin_edges[1:])):
|
|
133
|
+
for bin_num, lower_upper in enumerate(zip(tbins.lower(), tbins.upper())):
|
|
124
134
|
lower, upper = lower_upper
|
|
125
135
|
binlabel = f"{lower:.3g} - {upper:.3g}"
|
|
126
136
|
|
|
127
137
|
inbin = event_bin == bin_num
|
|
128
138
|
# Skip if there are no triggers in this bin in this IFO
|
|
129
|
-
if not any(inbin):
|
|
139
|
+
if not any(inbin):
|
|
140
|
+
continue
|
|
130
141
|
binned_sngl_stats = stats[ifo][event_bin == bin_num]
|
|
131
142
|
|
|
132
143
|
# Histogram the triggers
|
|
@@ -136,34 +147,39 @@ for ifo in ifos:
|
|
|
136
147
|
|
|
137
148
|
max_rate = max(max_rate, cum_rate[0])
|
|
138
149
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
150
|
+
ecf = eval_cum_fit(
|
|
151
|
+
fit_function,
|
|
152
|
+
plotbins,
|
|
153
|
+
alphas[ifo][bin_num],
|
|
154
|
+
fit_threshold
|
|
155
|
+
)
|
|
156
|
+
cum_fit = counts[ifo][bin_num] / live_time[ifo] * ecf
|
|
142
157
|
|
|
143
|
-
|
|
144
|
-
# of all bins
|
|
145
|
-
bin_prop = bin_proportion(upper, lower,
|
|
146
|
-
log_spacing=args.log_colormap)
|
|
158
|
+
bin_prop = bin_num / len(tbins)
|
|
147
159
|
bin_colour = plt.get_cmap(args.colormap)(bin_prop)
|
|
148
160
|
ax.plot(edges[:-1], cum_rate, linewidth=2,
|
|
149
161
|
color=bin_colour, label=binlabel, alpha=0.6)
|
|
150
162
|
ax.plot(plotbins, cum_fit, "--", color=bin_colour,
|
|
151
163
|
label=r"$\alpha = $%.2f" % alphas[ifo][bin_num])
|
|
152
|
-
oput_plot = args.output_plot_name_format.format(ifo=ifo)
|
|
153
164
|
ax.semilogy()
|
|
154
165
|
ax.grid()
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
166
|
+
ax.set_xlim(
|
|
167
|
+
fit_threshold if args.x_lim_lower is None else args.x_lim_lower,
|
|
168
|
+
1.05 * maxstat if args.x_lim_upper is None else args.x_lim_upper
|
|
169
|
+
)
|
|
170
|
+
ax.set_ylim(
|
|
171
|
+
0.5 / live_time[ifo] if args.y_lim_lower is None else args.y_lim_lower,
|
|
172
|
+
1.5 * max_rate if args.y_lim_upper is None else args.y_lim_upper
|
|
173
|
+
)
|
|
159
174
|
ax.set_xlabel(sngl_ranking)
|
|
160
175
|
ax.set_ylabel("Number of louder triggers per live time")
|
|
161
176
|
title = f"{ifo} {analysis_date} trigger fits"
|
|
162
177
|
ax.set_title(title)
|
|
163
|
-
ax.legend(loc='
|
|
178
|
+
ax.legend(loc='center left', bbox_to_anchor=(1.01, 0.5))
|
|
164
179
|
logging.info(f"Saving {oput_plot}")
|
|
165
180
|
# Save initial logging level
|
|
166
181
|
logger.setLevel(logging.WARNING)
|
|
167
|
-
fig.savefig(oput_plot)
|
|
182
|
+
fig.savefig(oput_plot, bbox_inches="tight")
|
|
168
183
|
logger.setLevel(init_level)
|
|
169
|
-
|
|
184
|
+
|
|
185
|
+
logging.info("Done")
|