lalsuite 7.26.2.dev20251218__cp314-cp314t-manylinux_2_28_x86_64.whl
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.
- lal/__init__.py +145 -0
- lal/_lal.cpython-314t-x86_64-linux-gnu.so +0 -0
- lal/_lal_swig.py +12 -0
- lal/antenna.py +1200 -0
- lal/git_version.py +64 -0
- lal/gpstime.py +233 -0
- lal/iterutils.py +408 -0
- lal/pipeline.py +3139 -0
- lal/rate.py +2455 -0
- lal/series.py +244 -0
- lal/utils/__init__.py +29 -0
- lal/utils/cache.py +379 -0
- lal/utils/series.py +277 -0
- lalapps/__init__.py +26 -0
- lalapps/bin/lal_cache +0 -0
- lalapps/bin/lal_fftw_wisdom +0 -0
- lalapps/bin/lal_fftwf_wisdom +0 -0
- lalapps/bin/lal_simd_detect +0 -0
- lalapps/bin/lal_tconvert +0 -0
- lalapps/bin/lal_version +0 -0
- lalapps/bin/lalapps_ComputeAntennaPattern +16 -0
- lalapps/bin/lalapps_ComputeFstatBenchmark +16 -0
- lalapps/bin/lalapps_ComputeFstatLatticeCount +16 -0
- lalapps/bin/lalapps_ComputeFstatMCUpperLimit +16 -0
- lalapps/bin/lalapps_ComputeFstatistic_v2 +16 -0
- lalapps/bin/lalapps_ComputePSD +16 -0
- lalapps/bin/lalapps_CopySFTs +16 -0
- lalapps/bin/lalapps_DistanceVsMass +0 -0
- lalapps/bin/lalapps_DriveHoughMulti +16 -0
- lalapps/bin/lalapps_FstatMetric_v2 +16 -0
- lalapps/bin/lalapps_HierarchSearchGCT +16 -0
- lalapps/bin/lalapps_HierarchicalSearch +16 -0
- lalapps/bin/lalapps_MakeSFTDAG +16 -0
- lalapps/bin/lalapps_MakeSFTs +16 -0
- lalapps/bin/lalapps_Makefakedata_v4 +16 -0
- lalapps/bin/lalapps_Makefakedata_v5 +16 -0
- lalapps/bin/lalapps_PredictFstat +16 -0
- lalapps/bin/lalapps_PrintDetectorState +16 -0
- lalapps/bin/lalapps_SFTclean +16 -0
- lalapps/bin/lalapps_SFTvalidate +16 -0
- lalapps/bin/lalapps_StringAddFrame +0 -0
- lalapps/bin/lalapps_StringSearch +0 -0
- lalapps/bin/lalapps_Weave +16 -0
- lalapps/bin/lalapps_WeaveCompare +16 -0
- lalapps/bin/lalapps_WeaveConcat +16 -0
- lalapps/bin/lalapps_WeaveSetup +16 -0
- lalapps/bin/lalapps_WriteSFTsfromSFDBs +16 -0
- lalapps/bin/lalapps_animate +0 -0
- lalapps/bin/lalapps_binj +0 -0
- lalapps/bin/lalapps_blindinj +0 -0
- lalapps/bin/lalapps_cache +16 -0
- lalapps/bin/lalapps_calfacs +0 -0
- lalapps/bin/lalapps_cbc_stochasticbank +0 -0
- lalapps/bin/lalapps_chirplen +0 -0
- lalapps/bin/lalapps_coh_PTF_inspiral +0 -0
- lalapps/bin/lalapps_coinj +0 -0
- lalapps/bin/lalapps_combine_crosscorr_toplists +16 -0
- lalapps/bin/lalapps_compareFstats +16 -0
- lalapps/bin/lalapps_compareSFTs +16 -0
- lalapps/bin/lalapps_create_time_correction_ephemeris +16 -0
- lalapps/bin/lalapps_dumpSFT +16 -0
- lalapps/bin/lalapps_effdist +0 -0
- lalapps/bin/lalapps_exc_resp +0 -0
- lalapps/bin/lalapps_fftw_wisdom +16 -0
- lalapps/bin/lalapps_fftwf_wisdom +16 -0
- lalapps/bin/lalapps_fits_header_getval +16 -0
- lalapps/bin/lalapps_fits_header_list +16 -0
- lalapps/bin/lalapps_fits_overview +16 -0
- lalapps/bin/lalapps_fits_table_list +16 -0
- lalapps/bin/lalapps_fr_ninja +0 -0
- lalapps/bin/lalapps_frextr +0 -0
- lalapps/bin/lalapps_frinfo +0 -0
- lalapps/bin/lalapps_frjoin +0 -0
- lalapps/bin/lalapps_frread +0 -0
- lalapps/bin/lalapps_frview +0 -0
- lalapps/bin/lalapps_gwf2xml +0 -0
- lalapps/bin/lalapps_heterodyne_pulsar +16 -0
- lalapps/bin/lalapps_inspawgfile +0 -0
- lalapps/bin/lalapps_inspfrinj +0 -0
- lalapps/bin/lalapps_inspinj +0 -0
- lalapps/bin/lalapps_inspiralDistance +0 -0
- lalapps/bin/lalapps_knope +16 -0
- lalapps/bin/lalapps_knope_automation_script +16 -0
- lalapps/bin/lalapps_knope_collate_results +16 -0
- lalapps/bin/lalapps_knope_result_page +16 -0
- lalapps/bin/lalapps_makeblindinj +85 -0
- lalapps/bin/lalapps_makeblindinj_himass +67 -0
- lalapps/bin/lalapps_ninja +0 -0
- lalapps/bin/lalapps_path2cache +16 -0
- lalapps/bin/lalapps_power +0 -0
- lalapps/bin/lalapps_pulsar_crosscorr_v2 +16 -0
- lalapps/bin/lalapps_pulsar_frequency_evolution +16 -0
- lalapps/bin/lalapps_pulsar_parameter_estimation_nested +16 -0
- lalapps/bin/lalapps_random_bank +0 -0
- lalapps/bin/lalapps_randombank +0 -0
- lalapps/bin/lalapps_run_pulsar_crosscorr_v2 +16 -0
- lalapps/bin/lalapps_searchsum2cache +16 -0
- lalapps/bin/lalapps_spec_avg +16 -0
- lalapps/bin/lalapps_spec_avg_long +16 -0
- lalapps/bin/lalapps_spec_coherence +16 -0
- lalapps/bin/lalapps_spininj +0 -0
- lalapps/bin/lalapps_splitSFTs +16 -0
- lalapps/bin/lalapps_splitbank +0 -0
- lalapps/bin/lalapps_ssbtodetector +16 -0
- lalapps/bin/lalapps_synthesizeBstatMC +16 -0
- lalapps/bin/lalapps_synthesizeLVStats +16 -0
- lalapps/bin/lalapps_synthesizeTransientStats +16 -0
- lalapps/bin/lalapps_tconvert +16 -0
- lalapps/bin/lalapps_tmpltbank +0 -0
- lalapps/bin/lalapps_version +0 -0
- lalapps/bin/lalapps_xtefitstoframe +0 -0
- lalapps/bin/lalburst_version +0 -0
- lalapps/bin/lalfr-cat +0 -0
- lalapps/bin/lalfr-cksum +0 -0
- lalapps/bin/lalfr-cut +0 -0
- lalapps/bin/lalfr-dump +0 -0
- lalapps/bin/lalfr-fmt +0 -0
- lalapps/bin/lalfr-paste +0 -0
- lalapps/bin/lalfr-print +0 -0
- lalapps/bin/lalfr-split +0 -0
- lalapps/bin/lalfr-stat +0 -0
- lalapps/bin/lalfr-stream +0 -0
- lalapps/bin/lalfr-vis +0 -0
- lalapps/bin/lalframe_version +0 -0
- lalapps/bin/lalinference_bench +0 -0
- lalapps/bin/lalinference_burst +0 -0
- lalapps/bin/lalinference_datadump +0 -0
- lalapps/bin/lalinference_injectedlike +0 -0
- lalapps/bin/lalinference_mpi_wrapper +59 -0
- lalapps/bin/lalinference_nest +0 -0
- lalapps/bin/lalinference_version +0 -0
- lalapps/bin/lalinspiral_version +0 -0
- lalapps/bin/lalmetaio_version +0 -0
- lalapps/bin/lalpulsar_ComputeAntennaPattern +0 -0
- lalapps/bin/lalpulsar_ComputeFstatBenchmark +0 -0
- lalapps/bin/lalpulsar_ComputeFstatLatticeCount +0 -0
- lalapps/bin/lalpulsar_ComputeFstatMCUpperLimit +0 -0
- lalapps/bin/lalpulsar_ComputeFstatistic_v2 +0 -0
- lalapps/bin/lalpulsar_ComputePSD +0 -0
- lalapps/bin/lalpulsar_DriveHoughMulti +0 -0
- lalapps/bin/lalpulsar_FstatMetric_v2 +0 -0
- lalapps/bin/lalpulsar_HierarchSearchGCT +0 -0
- lalapps/bin/lalpulsar_HierarchicalSearch +0 -0
- lalapps/bin/lalpulsar_MakeSFTs +0 -0
- lalapps/bin/lalpulsar_Makefakedata_v4 +0 -0
- lalapps/bin/lalpulsar_Makefakedata_v5 +0 -0
- lalapps/bin/lalpulsar_PredictFstat +0 -0
- lalapps/bin/lalpulsar_PrintDetectorState +0 -0
- lalapps/bin/lalpulsar_SFTclean +0 -0
- lalapps/bin/lalpulsar_SFTvalidate +0 -0
- lalapps/bin/lalpulsar_Weave +0 -0
- lalapps/bin/lalpulsar_WeaveCompare +0 -0
- lalapps/bin/lalpulsar_WeaveConcat +0 -0
- lalapps/bin/lalpulsar_WeaveSetup +0 -0
- lalapps/bin/lalpulsar_WriteSFTsfromSFDBs +0 -0
- lalapps/bin/lalpulsar_compareFstats +0 -0
- lalapps/bin/lalpulsar_compareSFTs +0 -0
- lalapps/bin/lalpulsar_create_time_correction_ephemeris +0 -0
- lalapps/bin/lalpulsar_crosscorr_v2 +0 -0
- lalapps/bin/lalpulsar_dumpSFT +0 -0
- lalapps/bin/lalpulsar_fits_header_getval +0 -0
- lalapps/bin/lalpulsar_fits_header_list +0 -0
- lalapps/bin/lalpulsar_fits_overview +0 -0
- lalapps/bin/lalpulsar_fits_table_list +0 -0
- lalapps/bin/lalpulsar_frequency_evolution +0 -0
- lalapps/bin/lalpulsar_heterodyne +0 -0
- lalapps/bin/lalpulsar_parameter_estimation_nested +0 -0
- lalapps/bin/lalpulsar_spec_avg +0 -0
- lalapps/bin/lalpulsar_spec_avg_long +0 -0
- lalapps/bin/lalpulsar_spec_coherence +0 -0
- lalapps/bin/lalpulsar_splitSFTs +0 -0
- lalapps/bin/lalpulsar_ssbtodetector +0 -0
- lalapps/bin/lalpulsar_synthesizeBstatMC +0 -0
- lalapps/bin/lalpulsar_synthesizeLVStats +0 -0
- lalapps/bin/lalpulsar_synthesizeTransientStats +0 -0
- lalapps/bin/lalpulsar_version +0 -0
- lalapps/bin/lalsim-bh-qnmode +0 -0
- lalapps/bin/lalsim-bh-ringdown +0 -0
- lalapps/bin/lalsim-bh-sphwf +0 -0
- lalapps/bin/lalsim-burst +0 -0
- lalapps/bin/lalsim-detector-noise +0 -0
- lalapps/bin/lalsim-detector-strain +0 -0
- lalapps/bin/lalsim-inject +0 -0
- lalapps/bin/lalsim-inspiral +0 -0
- lalapps/bin/lalsim-ns-eos-table +0 -0
- lalapps/bin/lalsim-ns-mass-radius +0 -0
- lalapps/bin/lalsim-ns-params +0 -0
- lalapps/bin/lalsim-sgwb +0 -0
- lalapps/bin/lalsim-unicorn +0 -0
- lalapps/bin/lalsimulation_version +0 -0
- lalapps/cosmicstring.py +691 -0
- lalapps/data/BNSMasses.dat +65022 -0
- lalapps/data/CorrelationMatrix.csv +15 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF1_META.dat +1882 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF2_META.dat +1939 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF3_META.dat +1784 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF4_META.dat +2074 -0
- lalapps/data/LALSimNeutronStarEOS_ALF1.dat +435 -0
- lalapps/data/LALSimNeutronStarEOS_ALF2.dat +453 -0
- lalapps/data/LALSimNeutronStarEOS_ALF3.dat +441 -0
- lalapps/data/LALSimNeutronStarEOS_ALF4.dat +441 -0
- lalapps/data/LALSimNeutronStarEOS_AP1.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP2.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP3.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP4.dat +210 -0
- lalapps/data/LALSimNeutronStarEOS_APR.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_APR4_EPP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_BBB2.dat +84 -0
- lalapps/data/LALSimNeutronStarEOS_BGN1H1.dat +123 -0
- lalapps/data/LALSimNeutronStarEOS_BHF_BBB2.dat +499 -0
- lalapps/data/LALSimNeutronStarEOS_BL_CHIRAL_META.dat +1534 -0
- lalapps/data/LALSimNeutronStarEOS_BPAL12.dat +61 -0
- lalapps/data/LALSimNeutronStarEOS_BSK19.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_BSK20.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_BSK21.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_ENG.dat +108 -0
- lalapps/data/LALSimNeutronStarEOS_FPS.dat +129 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_BSK14_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL59_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL69_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_F0_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H1_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H3_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H4_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H5_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_LN55_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_SLY5_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GNH3.dat +71 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DD2_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DDME2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2H_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_NL3WRL55_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GS1.dat +136 -0
- lalapps/data/LALSimNeutronStarEOS_GS2.dat +100 -0
- lalapps/data/LALSimNeutronStarEOS_H1.dat +114 -0
- lalapps/data/LALSimNeutronStarEOS_H2.dat +114 -0
- lalapps/data/LALSimNeutronStarEOS_H3.dat +98 -0
- lalapps/data/LALSimNeutronStarEOS_H4.dat +664 -0
- lalapps/data/LALSimNeutronStarEOS_H5.dat +703 -0
- lalapps/data/LALSimNeutronStarEOS_H6.dat +509 -0
- lalapps/data/LALSimNeutronStarEOS_H7.dat +703 -0
- lalapps/data/LALSimNeutronStarEOS_HQC18.dat +388 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V1.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V1_BSK24.dat +1388 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V_BSK24.dat +1398 -0
- lalapps/data/LALSimNeutronStarEOS_MPA1.dat +102 -0
- lalapps/data/LALSimNeutronStarEOS_MS1.dat +122 -0
- lalapps/data/LALSimNeutronStarEOS_MS1B.dat +126 -0
- lalapps/data/LALSimNeutronStarEOS_MS1B_PP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_MS1_PP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_MS2.dat +48 -0
- lalapps/data/LALSimNeutronStarEOS_PAL6.dat +148 -0
- lalapps/data/LALSimNeutronStarEOS_PCL2.dat +134 -0
- lalapps/data/LALSimNeutronStarEOS_PCP_BSK24_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_PS.dat +165 -0
- lalapps/data/LALSimNeutronStarEOS_QMC700.dat +117 -0
- lalapps/data/LALSimNeutronStarEOS_RG_SLY4_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_RS.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_RS_BSK24.dat +1356 -0
- lalapps/data/LALSimNeutronStarEOS_SK255.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SK255_BSK24.dat +1066 -0
- lalapps/data/LALSimNeutronStarEOS_SK272.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKA.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKA_BSK24.dat +1433 -0
- lalapps/data/LALSimNeutronStarEOS_SKB.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKB_BSK24.dat +1373 -0
- lalapps/data/LALSimNeutronStarEOS_SKI2.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI2_BSK24.dat +1348 -0
- lalapps/data/LALSimNeutronStarEOS_SKI3.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI3_BSK24.dat +1355 -0
- lalapps/data/LALSimNeutronStarEOS_SKI4.dat +497 -0
- lalapps/data/LALSimNeutronStarEOS_SKI4_BSK24.dat +1348 -0
- lalapps/data/LALSimNeutronStarEOS_SKI5.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI6.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI6_BSK24.dat +1358 -0
- lalapps/data/LALSimNeutronStarEOS_SKMP.dat +498 -0
- lalapps/data/LALSimNeutronStarEOS_SKOP.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKOP_BSK24.dat +1373 -0
- lalapps/data/LALSimNeutronStarEOS_SLY.dat +99 -0
- lalapps/data/LALSimNeutronStarEOS_SLY2.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SLY230A.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SLY230A_BSK24.dat +1116 -0
- lalapps/data/LALSimNeutronStarEOS_SLY2_BSK24.dat +1106 -0
- lalapps/data/LALSimNeutronStarEOS_SLY4.dat +100 -0
- lalapps/data/LALSimNeutronStarEOS_SLY9.dat +498 -0
- lalapps/data/LALSimNeutronStarEOS_SLY9_BSK24.dat +1083 -0
- lalapps/data/LALSimNeutronStarEOS_SQM1.dat +176 -0
- lalapps/data/LALSimNeutronStarEOS_SQM2.dat +180 -0
- lalapps/data/LALSimNeutronStarEOS_SQM3.dat +176 -0
- lalapps/data/LALSimNeutronStarEOS_WFF1.dat +109 -0
- lalapps/data/LALSimNeutronStarEOS_WFF2.dat +109 -0
- lalapps/data/LALSimNeutronStarEOS_WFF3.dat +107 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDLZ1_BSK24.dat +1227 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDME2_BSK24.dat +1272 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDMEX_BSK24.dat +1280 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_GM1_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_MTVTC_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_NL3_BSK24.dat +1230 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_PKDD_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TM1_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TW99_BSK24.dat +1288 -0
- lalapps/data/LIGO-P1200087-v18-AdV_BNS_OPTIMIZED.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_DESIGN.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_EARLY_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_EARLY_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_LATE_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_LATE_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_MID_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_MID_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_BNS_OPTIMIZED.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_DESIGN.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_MID_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_MID_LOW.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE_Pessimistic.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE_Wideband.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-ET_D.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-BHBH_20deg.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-High_Freq.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-NO_SRM.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-NSNS_Opt.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-ZERO_DET_high_P.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-ZERO_DET_low_P.txt +3000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Design.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Early.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Late.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Mid.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Opening.txt +4000 -0
- lalapps/data/LIGO-T1800042-v5-aLIGO_APLUS.txt +3000 -0
- lalapps/data/LIGO-T1800044-v5-aLIGO_DESIGN.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O3low.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O4.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O4intermediate.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_128Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_25Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_80Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_140Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_175Mpc.txt +2792 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_O3low.txt +2792 -0
- lalapps/data/bimodalMeans.csv +3 -0
- lalapps/data/config_tiger_example.ini +150 -0
- lalapps/data/fiducialBBH.xml +67 -0
- lalapps/data/fiducialBNS.xml +67 -0
- lalapps/data/inspsrcs100Mpc.errors +38735 -0
- lalapps/data/lalinference_pipe_example.ini +573 -0
- lalapps/data/lib_pipe_example.ini +303 -0
- lalapps/data/power_pipe.ini +129 -0
- lalapps/data/unimodalMeans.csv +2 -0
- lalapps/git_version.py +64 -0
- lalburst/SimBurstUtils.py +324 -0
- lalburst/SnglBurstUtils.py +367 -0
- lalburst/__init__.py +7 -0
- lalburst/_lalburst.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalburst/_lalburst_swig.py +16 -0
- lalburst/binjfind.py +824 -0
- lalburst/bucluster.py +409 -0
- lalburst/burca.py +315 -0
- lalburst/burca_tailor.py +349 -0
- lalburst/cafe.py +579 -0
- lalburst/calc_likelihood.py +145 -0
- lalburst/cs_gamma.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalburst/date.py +118 -0
- lalburst/git_version.py +64 -0
- lalburst/offsetvector.py +278 -0
- lalburst/packing.py +170 -0
- lalburst/power.py +1457 -0
- lalburst/snglcluster.py +136 -0
- lalburst/snglcoinc.py +2637 -0
- lalburst/stringutils.py +607 -0
- lalburst/timeslides.py +236 -0
- lalframe/__init__.py +7 -0
- lalframe/_lalframe.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalframe/_lalframe_swig.py +14 -0
- lalframe/frread.py +324 -0
- lalframe/git_version.py +64 -0
- lalframe/utils/__init__.py +25 -0
- lalframe/utils/frtools.py +61 -0
- lalinference/__init__.py +7 -0
- lalinference/_bayespputils.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalinference/_lalinference.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalinference/_lalinference_swig.py +19 -0
- lalinference/bayespputils.py +7479 -0
- lalinference/bayestar/__init__.py +2 -0
- lalinference/bayestar/deprecation.py +72 -0
- lalinference/git_version.py +64 -0
- lalinference/imrtgr/__init__.py +0 -0
- lalinference/imrtgr/imrtgrutils.py +168 -0
- lalinference/imrtgr/nrutils.py +1366 -0
- lalinference/imrtgr/pneqns.py +250 -0
- lalinference/io/__init__.py +31 -0
- lalinference/io/hdf5.py +365 -0
- lalinference/lalinference_pipe_utils.py +3617 -0
- lalinference/nest2pos.py +151 -0
- lalinference/plot/__init__.py +34 -0
- lalinference/plot/spindisk.py +104 -0
- lalinference/tiger/__init__.py +0 -0
- lalinference/tiger/make_injtimes.py +634 -0
- lalinference/tiger/omegascans_dag.py +691 -0
- lalinference/tiger/postproc.py +1338 -0
- lalinference/wrapper.py +231 -0
- lalinspiral/__init__.py +7 -0
- lalinspiral/_lalinspiral.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalinspiral/_lalinspiral_swig.py +18 -0
- lalinspiral/_thinca.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalinspiral/git_version.py +64 -0
- lalinspiral/inspinjfind.py +485 -0
- lalinspiral/thinca.py +509 -0
- lalmetaio/__init__.py +7 -0
- lalmetaio/_lalmetaio.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalmetaio/_lalmetaio_swig.py +14 -0
- lalmetaio/git_version.py +64 -0
- lalpulsar/NstarTools.py +259 -0
- lalpulsar/PulsarParametersWrapper.py +938 -0
- lalpulsar/__init__.py +7 -0
- lalpulsar/_lalpulsar.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalpulsar/_lalpulsar_swig.py +17 -0
- lalpulsar/git_version.py +64 -0
- lalpulsar/knope_utils.py +6497 -0
- lalpulsar/lineFileParser.py +264 -0
- lalpulsar/metric_utils.py +78 -0
- lalpulsar/piecewise_model/__init__.py +7 -0
- lalpulsar/piecewise_model/basis_functions.py +156 -0
- lalpulsar/piecewise_model/class_definitions.py +323 -0
- lalpulsar/piecewise_model/errors.py +37 -0
- lalpulsar/piecewise_model/estimating_knots.py +833 -0
- lalpulsar/piecewise_model/gte_and_other_methods.py +189 -0
- lalpulsar/piecewise_model/mols_for_gte.py +269 -0
- lalpulsar/piecewise_model/pw_fstat.py +813 -0
- lalpulsar/piecewise_model/pw_model_simulations.py +156 -0
- lalpulsar/piecewise_model/sampling_methods.py +186 -0
- lalpulsar/piecewise_model/semicoherent_metric_methods.py +375 -0
- lalpulsar/piecewise_model/tbank_estimates.py +293 -0
- lalpulsar/public_sft_directory.py +82 -0
- lalpulsar/pulsarhtmlutils.py +1395 -0
- lalpulsar/pulsarpputils.py +3638 -0
- lalpulsar/simulateCW.py +602 -0
- lalpulsar/simulateHeterodynedCW.py +591 -0
- lalsimulation/__init__.py +7 -0
- lalsimulation/_lalsimulation.cpython-314t-x86_64-linux-gnu.so +0 -0
- lalsimulation/_lalsimulation_swig.py +14 -0
- lalsimulation/git_version.py +64 -0
- lalsimulation/gwsignal/__init__.py +9 -0
- lalsimulation/gwsignal/core/__init__.py +2 -0
- lalsimulation/gwsignal/core/conditioning_subroutines.py +196 -0
- lalsimulation/gwsignal/core/errors.py +136 -0
- lalsimulation/gwsignal/core/gw.py +206 -0
- lalsimulation/gwsignal/core/parameter_conventions.py +122 -0
- lalsimulation/gwsignal/core/utils.py +329 -0
- lalsimulation/gwsignal/core/waveform.py +725 -0
- lalsimulation/gwsignal/core/waveform_conditioning.py +455 -0
- lalsimulation/gwsignal/models/__init__.py +29 -0
- lalsimulation/gwsignal/models/pyseobnr_model.py +452 -0
- lalsimulation/nrfits/NRSur3dq8Remnant.py +92 -0
- lalsimulation/nrfits/NRSur7dq4Remnant.py +469 -0
- lalsimulation/nrfits/__init__.py +1 -0
- lalsimulation/nrfits/eval_fits.py +364 -0
- lalsimulation/nrfits/nrfits.py +78 -0
- lalsimulation/nrfits/pn_spin_evolution_wrapper.py +92 -0
- lalsimulation/nrfits/quaternion_utils.py +74 -0
- lalsimulation/tilts_at_infinity/__init__.py +2 -0
- lalsimulation/tilts_at_infinity/calc_tilts_prec_avg_regularized.py +1424 -0
- lalsimulation/tilts_at_infinity/hybrid_spin_evolution.py +461 -0
- lalsimulation/tilts_at_infinity/tilts_at_infinity_utils.py +167 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesBurstPPAnalysis +305 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesBurstPostProc +1364 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesCombinePTMCMCh5s +100 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesCombinePosteriors +235 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesCompPos +1121 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesDIEvidence +68 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesGraceDBinfo +182 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesMCMC2pos +314 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPPAnalysis +322 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPlotSpinDisk +42 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPosToSimBurst +227 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPosToSimInspiral +307 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesPostProc +1345 -0
- lalsuite-7.26.2.dev20251218.data/scripts/cbcBayesThermoInt +107 -0
- lalsuite-7.26.2.dev20251218.data/scripts/imrtgr_imr_consistency_test +796 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_cache +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_path2cache +148 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_searchsum2cache +172 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_simd_detect +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_tconvert +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lal_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_CopySFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_DistanceVsMass +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_MakeSFTDAG +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_SFTclean +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_StringAddFrame +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_StringSearch +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_Weave +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_animate +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_binj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_blindinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_cache +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_cafe +99 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_calfacs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_cbc_stochasticbank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_chirplen +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_coh_PTF_inspiral +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_coinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_compareFstats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_cosmicstring_pipe +525 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_effdist +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_exc_resp +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fits_overview +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_fr_ninja +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frextr +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frinfo +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frjoin +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frread +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_frview +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_gwf2xml +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_heterodyne_pulsar +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_inspawgfile +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_inspfrinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_inspinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_inspiralDistance +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_knope +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_knope_automation_script +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_knope_collate_results +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_knope_result_page +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_makeblindinj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_makeblindinj_himass +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ninja +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_path2cache +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_power +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_power_likelihood_pipe +219 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_power_pipe +417 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_pulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_random_bank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_randombank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_searchsum2cache +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_spec_avg +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_spininj +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_splitbank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_apply_vetoes +171 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_calc_likelihood +172 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_contour_plotter +141 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_contour_plotter_largeloops +133 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_cs_gamma +110 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_cs_gamma_largeloops +119 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_final +1064 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_meas_likelihood +264 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_plot_binj +543 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_string_plot_likelihood +380 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_tconvert +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_tmpltbank +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalapps_xtefitstoframe +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_cluster +156 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_coinc +224 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_cut +425 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_gen_timeslides +254 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_inj_pic +254 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_injfind +170 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_plot_tisi +165 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_calc_likelihood +182 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_final +1369 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_meas_likelihood +206 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_plot_binj +934 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_power_plot_binjtf +302 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalburst_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-cat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-cksum +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-cut +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-dump +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-fmt +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-paste +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-print +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-split +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-stat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-stream +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalfr-vis +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalframe_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_bench +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_burst +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_burst_pp_pipe +220 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_coherence_test +139 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_compute_roq_weights +404 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_cpnest +58 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_datadump +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_evolve_spins_and_append_samples +202 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_injectedlike +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_merge_posteriors +57 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_mpi_wrapper +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_multi_pipe +144 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_nest +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_nest2pos +286 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_pipe +512 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_pp_pipe +229 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_review_test +362 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinference_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinspiral_injfind +206 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinspiral_thinca +240 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalinspiral_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalmetaio_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_CopyPublicSFTs +216 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_MakeSFTDAG +1142 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_MoveSFTs +208 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_PiecewiseSearch +963 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_SFTclean +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_Weave +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_compareFstats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_fits_overview +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_heterodyne +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_knope +145 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_knope_automation_script +731 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_knope_collate_results +675 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_knope_result_page +2977 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_spec_avg +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalpulsar_version +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-bh-qnmode +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-bh-ringdown +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-bh-sphwf +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-burst +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-detector-noise +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-detector-strain +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-inject +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-inspiral +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-ns-eos-table +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-ns-mass-radius +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-ns-params +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-sgwb +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsim-unicorn +6 -0
- lalsuite-7.26.2.dev20251218.data/scripts/lalsimulation_version +6 -0
- lalsuite-7.26.2.dev20251218.dist-info/METADATA +90 -0
- lalsuite-7.26.2.dev20251218.dist-info/RECORD +733 -0
- lalsuite-7.26.2.dev20251218.dist-info/WHEEL +5 -0
- lalsuite-7.26.2.dev20251218.dist-info/licenses/COPYING +339 -0
- lalsuite-7.26.2.dev20251218.dist-info/top_level.txt +9 -0
- lalsuite.libs/libcfitsio-729ee1b7.so.10.0.0 +0 -0
- lalsuite.libs/libfftw3-6b983104.so.3.5.5 +0 -0
- lalsuite.libs/libfftw3f-b4465a35.so.3.5.5 +0 -0
- lalsuite.libs/libframel-8cf74372.so.8.48.4 +0 -0
- lalsuite.libs/libgsl-e30be130.so.28.0.0 +0 -0
- lalsuite.libs/libgslcblas-460f042a.so.0.0.0 +0 -0
- lalsuite.libs/libhdf5-d02936e2.so.310.5.1 +0 -0
- lalsuite.libs/libhdf5_hl-0e40b553.so.310.0.6 +0 -0
- lalsuite.libs/liblal-bd4575d4.so.20.5.0 +0 -0
- lalsuite.libs/liblalburst-183caa97.so.8.0.0 +0 -0
- lalsuite.libs/liblalframe-b2539a8a.so.14.0.3 +0 -0
- lalsuite.libs/liblalinference-b273091a.so.23.1.7 +0 -0
- lalsuite.libs/liblalinspiral-37f93c6c.so.18.0.2 +0 -0
- lalsuite.libs/liblalmetaio-f04c856f.so.11.0.1 +0 -0
- lalsuite.libs/liblalpulsar-950e7dfd.so.30.1.1 +0 -0
- lalsuite.libs/liblalsimulation-abda47f7.so.37.2.0 +0 -0
- lalsuite.libs/liblalsupport-ad162801.so.14.4.0 +0 -0
- lalsuite.libs/libmetaio-abda72ec.so.1.1.0 +0 -0
lalburst/binjfind.py
ADDED
|
@@ -0,0 +1,824 @@
|
|
|
1
|
+
# Copyright (C) 2006-2021 Kipp Cannon
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify it
|
|
4
|
+
# under the terms of the GNU General Public License as published by the
|
|
5
|
+
# Free Software Foundation; either version 2 of the License, or (at your
|
|
6
|
+
# option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful, but
|
|
9
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
11
|
+
# Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
#
|
|
19
|
+
# =============================================================================
|
|
20
|
+
#
|
|
21
|
+
# Preamble
|
|
22
|
+
#
|
|
23
|
+
# =============================================================================
|
|
24
|
+
#
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
"""
|
|
28
|
+
Burst injection identification library. Contains code providing the
|
|
29
|
+
capacity to search a list of sngl_burst burst candidates for events
|
|
30
|
+
matching entries in a sim_burst list of software injections, recording the
|
|
31
|
+
matches as burst <--> injection coincidences using the standard coincidence
|
|
32
|
+
infrastructure. Also, any pre-recorded burst <--> burst coincidences are
|
|
33
|
+
checked for cases where all the burst events in a coincidence match an
|
|
34
|
+
injection, and these are recorded as coinc <--> injection coincidences,
|
|
35
|
+
again using the standard coincidence infrastructure.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
import bisect
|
|
40
|
+
import sys
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
from igwn_ligolw import lsctables
|
|
44
|
+
from igwn_ligolw.utils import coincs as ligolw_coincs
|
|
45
|
+
from igwn_ligolw.utils import process as ligolw_process
|
|
46
|
+
from igwn_ligolw.utils import search_summary as ligolw_search_summary
|
|
47
|
+
from igwn_ligolw.utils import time_slide as ligolw_time_slide
|
|
48
|
+
import lal
|
|
49
|
+
import igwn_segments as segments
|
|
50
|
+
from . import burca
|
|
51
|
+
from . import SimBurstUtils
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
__author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
|
|
55
|
+
from .git_version import date as __date__
|
|
56
|
+
from .git_version import version as __version__
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
#
|
|
60
|
+
# =============================================================================
|
|
61
|
+
#
|
|
62
|
+
# Speed Hacks
|
|
63
|
+
#
|
|
64
|
+
# =============================================================================
|
|
65
|
+
#
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
#
|
|
69
|
+
# Construct a subclass of the sngl_burst row class with the methods that
|
|
70
|
+
# are needed
|
|
71
|
+
#
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class SnglBurst(lsctables.SnglBurst):
|
|
75
|
+
__slots__ = ()
|
|
76
|
+
|
|
77
|
+
#
|
|
78
|
+
# compare self's end time to the LIGOTimeGPS instance other.
|
|
79
|
+
# allows bisection searches by GPS time to find ranges of triggers
|
|
80
|
+
# quickly
|
|
81
|
+
#
|
|
82
|
+
|
|
83
|
+
def __lt__(self, other):
|
|
84
|
+
return self.end < other
|
|
85
|
+
|
|
86
|
+
def __le__(self, other):
|
|
87
|
+
return self.end <= other
|
|
88
|
+
|
|
89
|
+
def __eq__(self, other):
|
|
90
|
+
return self.end == other
|
|
91
|
+
|
|
92
|
+
def __ne__(self, other):
|
|
93
|
+
return self.end != other
|
|
94
|
+
|
|
95
|
+
def __ge__(self, other):
|
|
96
|
+
return self.end >= other
|
|
97
|
+
|
|
98
|
+
def __gt__(self, other):
|
|
99
|
+
return self.end > other
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
lsctables.SnglBurstTable.RowType = lsctables.SnglBurst = SnglBurst
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
#
|
|
106
|
+
# place-holder class for sim_inspiral table's row class so that
|
|
107
|
+
# time_slide_id attributes can be assigned to it (this would normally be
|
|
108
|
+
# prevented by the __slots__ mechanism). FIXME: delete when the
|
|
109
|
+
# sim_inspiral table has a time_slide_id column
|
|
110
|
+
#
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
class SimInspiral(lsctables.SimInspiral):
|
|
114
|
+
pass
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
lsctables.SimInspiralTable.RowType = lsctables.SimInspiral = SimInspiral
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
#
|
|
121
|
+
# =============================================================================
|
|
122
|
+
#
|
|
123
|
+
# Document Interface
|
|
124
|
+
#
|
|
125
|
+
# =============================================================================
|
|
126
|
+
#
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
ExcessPowerSBBCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 1, description = "sim_burst<-->sngl_burst coincidences")
|
|
130
|
+
ExcessPowerSIBCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 4, description = "sim_inspiral<-->sngl_burst coincidences")
|
|
131
|
+
ExcessPowerSBCCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 2, description = "sim_burst<-->coinc_event coincidences (exact)")
|
|
132
|
+
ExcessPowerSBCNearCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 3, description = "sim_burst<-->coinc_event coincidences (nearby)")
|
|
133
|
+
ExcessPowerSICCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 5, description = "sim_inspiral<-->coinc_event coincidences (exact)")
|
|
134
|
+
ExcessPowerSICNearCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 6, description = "sim_inspiral<-->coinc_event coincidences (nearby)")
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
StringCuspSBBCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 1, description = "sim_burst<-->sngl_burst coincidences")
|
|
138
|
+
StringCuspSIBCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 4, description = "sim_inspiral<-->sngl_burst coincidences")
|
|
139
|
+
StringCuspSBCCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 2, description = "sim_burst<-->coinc_event coincidences (exact)")
|
|
140
|
+
StringCuspSBCNearCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 3, description = "sim_burst<-->coinc_event coincidences (nearby)")
|
|
141
|
+
StringCuspSICCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 5, description = "sim_inspiral<-->coinc_event coincidences (exact)")
|
|
142
|
+
StringCuspSICNearCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 6, description = "sim_inspiral<-->coinc_event coincidences (nearby)")
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
OmegaBBCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 0, description = "sngl_burst<-->sngl_burst coincidences")
|
|
146
|
+
OmegaSBBCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 1, description = "sim_burst<-->sngl_burst coincidences")
|
|
147
|
+
OmegaSIBCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 4, description = "sim_inspiral<-->sngl_burst coincidences")
|
|
148
|
+
OmegaSBCCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 2, description = "sim_burst<-->coinc_event coincidences (exact)")
|
|
149
|
+
OmegaSBCNearCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 3, description = "sim_burst<-->coinc_event coincidences (nearby)")
|
|
150
|
+
OmegaSICCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 5, description = "sim_inspiral<-->coinc_event coincidences (exact)")
|
|
151
|
+
OmegaSICNearCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 6, description = "sim_inspiral<-->coinc_event coincidences (nearby)")
|
|
152
|
+
|
|
153
|
+
CWBBBCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 0, description = "sngl_burst<-->sngl_burst coincidences")
|
|
154
|
+
CWBSBBCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 1, description = "sim_burst<-->sngl_burst coincidences")
|
|
155
|
+
CWBSIBCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 4, description = "sim_inspiral<-->sngl_burst coincidences")
|
|
156
|
+
CWBSBCCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 2, description = "sim_burst<-->coinc_event coincidences (exact)")
|
|
157
|
+
CWBSBCNearCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 3, description = "sim_burst<-->coinc_event coincidences (nearby)")
|
|
158
|
+
CWBSICCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 5, description = "sim_inspiral<-->coinc_event coincidences (exact)")
|
|
159
|
+
CWBSICNearCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 6, description = "sim_inspiral<-->coinc_event coincidences (nearby)")
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
class DocContents(object):
|
|
163
|
+
"""
|
|
164
|
+
A wrapper interface to the XML document.
|
|
165
|
+
"""
|
|
166
|
+
def __init__(self, xmldoc, b_b_def, sb_b_def, si_b_def, sb_c_e_def, sb_c_n_def, si_c_e_def, si_c_n_def, process, livetime_program):
|
|
167
|
+
#
|
|
168
|
+
# store the process row
|
|
169
|
+
#
|
|
170
|
+
|
|
171
|
+
self.process = process
|
|
172
|
+
|
|
173
|
+
#
|
|
174
|
+
# locate the sngl_burst, time_slide and injection tables
|
|
175
|
+
#
|
|
176
|
+
|
|
177
|
+
self.snglbursttable = lsctables.SnglBurstTable.get_table(xmldoc)
|
|
178
|
+
try:
|
|
179
|
+
self.simbursttable = lsctables.SimBurstTable.get_table(xmldoc)
|
|
180
|
+
except ValueError:
|
|
181
|
+
self.simbursttable = None
|
|
182
|
+
try:
|
|
183
|
+
self.siminspiraltable = lsctables.SimInspiralTable.get_table(xmldoc)
|
|
184
|
+
except ValueError:
|
|
185
|
+
self.siminspiraltable = None
|
|
186
|
+
try:
|
|
187
|
+
timeslidetable = lsctables.TimeSlideTable.get_table(xmldoc)
|
|
188
|
+
except ValueError:
|
|
189
|
+
timeslidetable = None
|
|
190
|
+
if timeslidetable is not None:
|
|
191
|
+
self.offsetvectors = timeslidetable.as_dict()
|
|
192
|
+
else:
|
|
193
|
+
self.offsetvectors = {}
|
|
194
|
+
|
|
195
|
+
#
|
|
196
|
+
# store the longest duration of a burst event
|
|
197
|
+
#
|
|
198
|
+
|
|
199
|
+
if self.snglbursttable:
|
|
200
|
+
self.longestduration = max(self.snglbursttable.getColumnByName("duration"))
|
|
201
|
+
else:
|
|
202
|
+
self.longestduration = 0.0
|
|
203
|
+
|
|
204
|
+
#
|
|
205
|
+
# get a segmentlistdict indicating the times when the jobs
|
|
206
|
+
# that produced burst events could have produced output
|
|
207
|
+
#
|
|
208
|
+
|
|
209
|
+
self.seglists = ligolw_search_summary.segmentlistdict_fromsearchsummary(xmldoc, livetime_program).coalesce()
|
|
210
|
+
|
|
211
|
+
#
|
|
212
|
+
# FIXME: in the future, the sim_inspiral table should
|
|
213
|
+
# indicate time slide at which the injection was done, like
|
|
214
|
+
# the sim_burst table does. for now, fake it by giving
|
|
215
|
+
# each one a time_slide_id attribute. this is the only
|
|
216
|
+
# reason why a place-holder class is required for the
|
|
217
|
+
# SimInspiral row type; that class can be deleted when
|
|
218
|
+
# this is no longer needed
|
|
219
|
+
#
|
|
220
|
+
|
|
221
|
+
if self.siminspiraltable is not None:
|
|
222
|
+
time_slide_id = ligolw_time_slide.get_time_slide_id(xmldoc, {}.fromkeys(self.seglists, 0.0), create_new = process, superset_ok = True, nonunique_ok = False)
|
|
223
|
+
for sim in self.siminspiraltable:
|
|
224
|
+
sim.time_slide_id = time_slide_id
|
|
225
|
+
|
|
226
|
+
#
|
|
227
|
+
# get coinc_definer rows for sim_* <--> sngl_burst coincs
|
|
228
|
+
# for whichever sim_* tables are present; this creates a
|
|
229
|
+
# coinc_definer table if the document doesn't have one
|
|
230
|
+
#
|
|
231
|
+
|
|
232
|
+
if self.simbursttable is not None:
|
|
233
|
+
self.sb_b_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, sb_b_def.search, sb_b_def.search_coinc_type, create_new = True, description = sb_b_def.description)
|
|
234
|
+
else:
|
|
235
|
+
self.sb_b_coinc_def_id = None
|
|
236
|
+
if self.siminspiraltable is not None:
|
|
237
|
+
self.si_b_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, si_b_def.search, si_b_def.search_coinc_type, create_new = True, description = si_b_def.description)
|
|
238
|
+
else:
|
|
239
|
+
self.si_b_coinc_def_id = None
|
|
240
|
+
|
|
241
|
+
#
|
|
242
|
+
# get coinc_def_id's for sngl_burst <--> sngl_burst, and
|
|
243
|
+
# both kinds of sim_* <--> coinc_event coincs. set all to
|
|
244
|
+
# None if this document does not contain any sngl_burst
|
|
245
|
+
# <--> sngl_burst coincs.
|
|
246
|
+
#
|
|
247
|
+
|
|
248
|
+
try:
|
|
249
|
+
b_b_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, b_b_def.search, b_b_def.search_coinc_type, create_new = False)
|
|
250
|
+
except KeyError:
|
|
251
|
+
b_b_coinc_def_id = None
|
|
252
|
+
self.sb_c_e_coinc_def_id = None
|
|
253
|
+
self.sb_c_n_coinc_def_id = None
|
|
254
|
+
self.si_c_e_coinc_def_id = None
|
|
255
|
+
self.si_c_n_coinc_def_id = None
|
|
256
|
+
else:
|
|
257
|
+
if self.simbursttable is not None:
|
|
258
|
+
self.sb_c_e_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, sb_c_e_def.search, sb_c_e_def.search_coinc_type, create_new = True, description = sb_c_e_def.description)
|
|
259
|
+
self.sb_c_n_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, sb_c_n_def.search, sb_c_n_def.search_coinc_type, create_new = True, description = sb_c_n_def.description)
|
|
260
|
+
else:
|
|
261
|
+
self.sb_c_e_coinc_def_id = None
|
|
262
|
+
self.sb_c_n_coinc_def_id = None
|
|
263
|
+
if self.siminspiraltable is not None:
|
|
264
|
+
self.si_c_e_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, si_c_e_def.search, si_c_e_def.search_coinc_type, create_new = True, description = si_c_e_def.description)
|
|
265
|
+
self.si_c_n_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, si_c_n_def.search, si_c_n_def.search_coinc_type, create_new = True, description = si_c_n_def.description)
|
|
266
|
+
else:
|
|
267
|
+
self.si_c_e_coinc_def_id = None
|
|
268
|
+
self.si_c_n_coinc_def_id = None
|
|
269
|
+
|
|
270
|
+
#
|
|
271
|
+
# get coinc table, create one if needed
|
|
272
|
+
#
|
|
273
|
+
|
|
274
|
+
try:
|
|
275
|
+
self.coinctable = lsctables.CoincTable.get_table(xmldoc)
|
|
276
|
+
except ValueError:
|
|
277
|
+
self.coinctable = lsctables.CoincTable.new()
|
|
278
|
+
xmldoc.childNodes[0].appendChild(self.coinctable)
|
|
279
|
+
self.coinctable.sync_next_id()
|
|
280
|
+
|
|
281
|
+
#
|
|
282
|
+
# get coinc_map table, create one if needed
|
|
283
|
+
#
|
|
284
|
+
|
|
285
|
+
try:
|
|
286
|
+
self.coincmaptable = lsctables.CoincMapTable.get_table(xmldoc)
|
|
287
|
+
except ValueError:
|
|
288
|
+
self.coincmaptable = lsctables.CoincMapTable.new()
|
|
289
|
+
xmldoc.childNodes[0].appendChild(self.coincmaptable)
|
|
290
|
+
|
|
291
|
+
#
|
|
292
|
+
# index the document
|
|
293
|
+
#
|
|
294
|
+
|
|
295
|
+
# index sngl_burst table
|
|
296
|
+
index = dict((row.event_id, row) for row in self.snglbursttable)
|
|
297
|
+
# find IDs of burst<-->burst coincs
|
|
298
|
+
self.coincs = dict((row.coinc_event_id, []) for row in self.coinctable if row.coinc_def_id == b_b_coinc_def_id)
|
|
299
|
+
# construct event list for each burst<-->burst coinc
|
|
300
|
+
for row in self.coincmaptable:
|
|
301
|
+
try:
|
|
302
|
+
self.coincs[row.coinc_event_id].append(index[row.event_id])
|
|
303
|
+
except KeyError:
|
|
304
|
+
pass
|
|
305
|
+
del index
|
|
306
|
+
# sort the event list for each coin by peak time and
|
|
307
|
+
# convert to tuples for speed
|
|
308
|
+
for coinc_event_id, events in self.coincs.items():
|
|
309
|
+
events.sort(key = lambda event: event.peak)
|
|
310
|
+
self.coincs[coinc_event_id] = tuple(events)
|
|
311
|
+
# convert dictionary to a list of (coinc_event_id, events)
|
|
312
|
+
# tuples and create a coinc_event_id to offset vector
|
|
313
|
+
# look-up table
|
|
314
|
+
self.coincs = self.coincs.items()
|
|
315
|
+
self.coincoffsets = dict((row.coinc_event_id, self.offsetvectors[row.time_slide_id]) for row in self.coinctable if row.coinc_def_id == b_b_coinc_def_id)
|
|
316
|
+
|
|
317
|
+
#
|
|
318
|
+
# represent the sngl_burst table as a dictionary indexed by
|
|
319
|
+
# instrument whose values are the event lists for those
|
|
320
|
+
# instruments sorted by peak time. sort the coincs list by
|
|
321
|
+
# the peak time of the first (earliest) event in each coinc
|
|
322
|
+
# (recall that the event tuple for each coinc has been
|
|
323
|
+
# time-ordered)
|
|
324
|
+
#
|
|
325
|
+
|
|
326
|
+
self.snglbursttable = dict((instrument, sorted((event for event in self.snglbursttable if event.ifo == instrument), key = lambda event: event.peak)) for instrument in set(self.snglbursttable.getColumnByName("ifo")))
|
|
327
|
+
self.coincs.sort(key = lambda coinc_id_events: coinc_id_events[1][0].peak)
|
|
328
|
+
|
|
329
|
+
def bursts_near_peaktime(self, t, window, offsetvector):
|
|
330
|
+
"""
|
|
331
|
+
Return a list of the burst events whose peak times (with
|
|
332
|
+
offsetvector added) are within window seconds of t. This
|
|
333
|
+
is not used to define any coincidences, only to provide a
|
|
334
|
+
short list of burst events for use in more costly
|
|
335
|
+
comparison tests.
|
|
336
|
+
"""
|
|
337
|
+
# instead of adding the offsets to each burst trigger, the
|
|
338
|
+
# offsets are subtracted from the times against which the
|
|
339
|
+
# bursts are compared
|
|
340
|
+
return sum((events[bisect.bisect_left(events, t - offsetvector[instrument] - window):bisect.bisect_right(events, t - offsetvector[instrument] + window)] for instrument, events in self.snglbursttable.items()), [])
|
|
341
|
+
|
|
342
|
+
def coincs_near_peaktime(self, t, window, offsetvector):
|
|
343
|
+
"""
|
|
344
|
+
Return a list of the (coinc_event_id, event list) tuples in
|
|
345
|
+
which at least one burst event's peak time is within window
|
|
346
|
+
seconds of t. This is not used to define any coincidences,
|
|
347
|
+
only to provide a short list of coinc events for use in
|
|
348
|
+
more costly comparison tests.
|
|
349
|
+
"""
|
|
350
|
+
#
|
|
351
|
+
# burst events within window of t
|
|
352
|
+
#
|
|
353
|
+
|
|
354
|
+
near_events = set(self.bursts_near_peaktime(t, window, offsetvector))
|
|
355
|
+
|
|
356
|
+
#
|
|
357
|
+
# coincs that involve at least one of those burst events
|
|
358
|
+
# and were found following the application of an offset
|
|
359
|
+
# vector consistent with the injection offset vector
|
|
360
|
+
#
|
|
361
|
+
|
|
362
|
+
return [(coinc_event_id, events) for coinc_event_id, events in self.coincs if set(events) & near_events and offsetvector.contains(self.coincoffsets[coinc_event_id])]
|
|
363
|
+
|
|
364
|
+
def new_coinc(self, coinc_def_id, time_slide_id):
|
|
365
|
+
"""
|
|
366
|
+
Construct a new coinc_event row attached to the given
|
|
367
|
+
process, and belonging to the set of coincidences defined
|
|
368
|
+
by the given coinc_def_id.
|
|
369
|
+
"""
|
|
370
|
+
coinc = self.coinctable.RowType()
|
|
371
|
+
coinc.process_id = self.process.process_id
|
|
372
|
+
coinc.coinc_def_id = coinc_def_id
|
|
373
|
+
coinc.coinc_event_id = self.coinctable.get_next_id()
|
|
374
|
+
coinc.time_slide_id = time_slide_id
|
|
375
|
+
coinc.set_instruments(None)
|
|
376
|
+
coinc.nevents = 0
|
|
377
|
+
coinc.likelihood = None
|
|
378
|
+
self.coinctable.append(coinc)
|
|
379
|
+
return coinc
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
#
|
|
383
|
+
# =============================================================================
|
|
384
|
+
#
|
|
385
|
+
# Add Process Information
|
|
386
|
+
#
|
|
387
|
+
# =============================================================================
|
|
388
|
+
#
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
process_program_name = "lalburst_injfind"
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
def append_process(xmldoc, match_algorithm, comment):
|
|
395
|
+
"""
|
|
396
|
+
Convenience wrapper for adding process metadata to the document.
|
|
397
|
+
"""
|
|
398
|
+
return ligolw_process.register_to_xmldoc(
|
|
399
|
+
xmldoc,
|
|
400
|
+
program = process_program_name,
|
|
401
|
+
paramdict = {
|
|
402
|
+
"match_algorithm": match_algorithm
|
|
403
|
+
},
|
|
404
|
+
version = __version__,
|
|
405
|
+
cvs_repository = "lscsoft",
|
|
406
|
+
cvs_entry_time = __date__,
|
|
407
|
+
comment = comment
|
|
408
|
+
)
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
#
|
|
412
|
+
# =============================================================================
|
|
413
|
+
#
|
|
414
|
+
# Injection <--> Burst Event Comparison Tests
|
|
415
|
+
#
|
|
416
|
+
# =============================================================================
|
|
417
|
+
#
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
def StringCuspSnglCompare(sim, burst, offsetvector):
|
|
421
|
+
"""
|
|
422
|
+
Return False (injection matches event) if an autocorrelation-width
|
|
423
|
+
window centred on the injection is continuous with the time
|
|
424
|
+
interval of the burst.
|
|
425
|
+
"""
|
|
426
|
+
tinj = sim.time_at_instrument(burst.ifo, offsetvector)
|
|
427
|
+
window = SimBurstUtils.stringcusp_autocorrelation_width / 2
|
|
428
|
+
# uncomment last part of expression to impose an amplitude cut
|
|
429
|
+
return segments.segment(tinj - window, tinj + window).disjoint(burst.period) #or abs(sim.amplitude / SimBurstUtils.string_amplitude_in_instrument(sim, burst.ifo, offsetvector)) > 3
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
def ExcessPowerSnglCompare(sim, burst, offsetvector):
|
|
433
|
+
"""
|
|
434
|
+
Return False (injection matches event) if the peak time and centre
|
|
435
|
+
frequency of sim lie within the time-frequency tile of burst.
|
|
436
|
+
"""
|
|
437
|
+
return (sim.time_at_instrument(burst.ifo, offsetvector) not in burst.period) or (sim.frequency not in burst.band)
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
def OmegaSnglCompare(sim, burst, offsetvector, delta_t = 10.0):
|
|
441
|
+
"""
|
|
442
|
+
Return False (injection matches event) if the time of the sim and
|
|
443
|
+
the peak time of the burst event differ by less than or equal to
|
|
444
|
+
delta_t seconds.
|
|
445
|
+
"""
|
|
446
|
+
return abs(float(sim.time_at_instrument(burst.ifo, offsetvector) - burst.peak)) > delta_t
|
|
447
|
+
|
|
448
|
+
def CWBSnglCompare(sim, burst, offsetvector, delta_t = 10.0):
|
|
449
|
+
"""
|
|
450
|
+
Return False (injection matches event) if the time of the sim and
|
|
451
|
+
the peak time of the burst event differ by less than or equal to
|
|
452
|
+
delta_t seconds.
|
|
453
|
+
"""
|
|
454
|
+
return abs(float(sim.time_at_instrument(burst.ifo, offsetvector) - burst.peak)) > delta_t
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
def StringCuspNearCoincCompare(sim, burst, offsetvector):
|
|
458
|
+
"""
|
|
459
|
+
Return False (injection matches coinc) if the peak time of the sim
|
|
460
|
+
is "near" the burst event.
|
|
461
|
+
"""
|
|
462
|
+
tinj = sim.time_at_instrument(burst.ifo, offsetvector)
|
|
463
|
+
window = SimBurstUtils.stringcusp_autocorrelation_width / 2 + SimBurstUtils.burst_is_near_injection_window
|
|
464
|
+
return segments.segment(tinj - window, tinj + window).disjoint(burst.period)
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
def ExcessPowerNearCoincCompare(sim, burst, offsetvector):
|
|
468
|
+
"""
|
|
469
|
+
Return False (injection matches coinc) if the peak time of the sim
|
|
470
|
+
is "near" the burst event.
|
|
471
|
+
"""
|
|
472
|
+
tinj = sim.time_at_instrument(burst.ifo, offsetvector)
|
|
473
|
+
window = SimBurstUtils.burst_is_near_injection_window
|
|
474
|
+
return segments.segment(tinj - window, tinj + window).disjoint(burst.period)
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
def OmegaNearCoincCompare(sim, burst, offsetvector):
|
|
478
|
+
"""
|
|
479
|
+
Return False (injection matches coinc) if the peak time of the sim
|
|
480
|
+
is "near" the burst event.
|
|
481
|
+
"""
|
|
482
|
+
return OmegaSnglCompare(sim, burst, offsetvector, delta_t = 20.0 + burst.duration / 2)
|
|
483
|
+
|
|
484
|
+
def CWBNearCoincCompare(sim, burst, offsetvector):
|
|
485
|
+
"""
|
|
486
|
+
Return False (injection matches coinc) if the peak time of the sim
|
|
487
|
+
is "near" the burst event.
|
|
488
|
+
"""
|
|
489
|
+
return OmegaSnglCompare(sim, burst, offsetvector, delta_t = 20.0 + burst.duration / 2)
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
#
|
|
493
|
+
# =============================================================================
|
|
494
|
+
#
|
|
495
|
+
# Build sim_* <--> sngl_burst Coincidences
|
|
496
|
+
#
|
|
497
|
+
# =============================================================================
|
|
498
|
+
#
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
def find_sngl_burst_matches(contents, sim, comparefunc, sieve_window):
|
|
502
|
+
"""
|
|
503
|
+
Scan the burst table for triggers matching sim. sieve_window is
|
|
504
|
+
used in a bisection search to quickly identify burst events within
|
|
505
|
+
that many seconds of the injection's peak time at the geocentre;
|
|
506
|
+
it should be larger than the greatest time difference that can
|
|
507
|
+
separate a burst event's peak time from an injection's peak time at
|
|
508
|
+
the geocentre and the two still be considered a match.
|
|
509
|
+
"""
|
|
510
|
+
offsetvector = contents.offsetvectors[sim.time_slide_id]
|
|
511
|
+
return [burst for burst in contents.bursts_near_peaktime(sim.time_geocent, sieve_window, offsetvector) if not comparefunc(sim, burst, offsetvector)]
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
def add_sim_burst_coinc(contents, sim, events, coinc_def_id):
|
|
515
|
+
"""
|
|
516
|
+
Create a coinc_event in the coinc table, and add arcs in the
|
|
517
|
+
coinc_event_map table linking the sim_burst row and the list of
|
|
518
|
+
sngl_burst rows to the new coinc_event row.
|
|
519
|
+
"""
|
|
520
|
+
# the coinc always carries the same time_slide_id as the injection
|
|
521
|
+
coinc = contents.new_coinc(coinc_def_id, sim.time_slide_id)
|
|
522
|
+
coinc.set_instruments(set(event.ifo for event in events))
|
|
523
|
+
coinc.nevents = len(events)
|
|
524
|
+
|
|
525
|
+
coincmap = contents.coincmaptable.RowType()
|
|
526
|
+
coincmap.coinc_event_id = coinc.coinc_event_id
|
|
527
|
+
coincmap.table_name = sim.simulation_id.table_name
|
|
528
|
+
coincmap.event_id = sim.simulation_id
|
|
529
|
+
contents.coincmaptable.append(coincmap)
|
|
530
|
+
|
|
531
|
+
for event in events:
|
|
532
|
+
coincmap = contents.coincmaptable.RowType()
|
|
533
|
+
coincmap.coinc_event_id = coinc.coinc_event_id
|
|
534
|
+
coincmap.table_name = event.event_id.table_name
|
|
535
|
+
coincmap.event_id = event.event_id
|
|
536
|
+
contents.coincmaptable.append(coincmap)
|
|
537
|
+
|
|
538
|
+
return coinc
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
#
|
|
542
|
+
# =============================================================================
|
|
543
|
+
#
|
|
544
|
+
# Build sim_burst <--> coinc Coincidences
|
|
545
|
+
#
|
|
546
|
+
# =============================================================================
|
|
547
|
+
#
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
def find_exact_coinc_matches(coincs, sim, comparefunc, seglists, offsetvector):
|
|
551
|
+
"""
|
|
552
|
+
Return a set of the coinc_event_ids of the burst<-->burst coincs in
|
|
553
|
+
which all burst events match sim and to which all instruments on at
|
|
554
|
+
the time of the sim contributed events.
|
|
555
|
+
"""
|
|
556
|
+
# note: this doesn't check that the coinc and the sim share
|
|
557
|
+
# compatible offset vectors, it is assumed this condition was
|
|
558
|
+
# applied in the .coincs_near_peaktime() method that was used to
|
|
559
|
+
# assemble the list of candidate coincs
|
|
560
|
+
|
|
561
|
+
# comparefunc() returns False --> event matches sim
|
|
562
|
+
# any() --> at least one compare returns True == not all events match
|
|
563
|
+
# not any() --> all events match sim
|
|
564
|
+
on_instruments = SimBurstUtils.on_instruments(sim, seglists, offsetvector)
|
|
565
|
+
return set(coinc_event_id for coinc_event_id, events in coincs if on_instruments.issubset(set(event.ifo for event in events)) and not any(comparefunc(sim, event, offsetvector) for event in events))
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
def find_near_coinc_matches(coincs, sim, comparefunc, offsetvector):
|
|
569
|
+
"""
|
|
570
|
+
Return a set of the coinc_event_ids of the burst<-->burst coincs in
|
|
571
|
+
which at least one burst event matches sim.
|
|
572
|
+
"""
|
|
573
|
+
# note: this doesn't check that the coinc and the sim share
|
|
574
|
+
# compatible offset vectors, it is assumed this condition was
|
|
575
|
+
# applied in the .coincs_near_peaktime() method that was used to
|
|
576
|
+
# assemble the list of candidate coincs
|
|
577
|
+
|
|
578
|
+
# comparefunc() returns False --> event matches sim
|
|
579
|
+
# all() --> all compares return True == no events match
|
|
580
|
+
# not all() --> at least one event matches sim
|
|
581
|
+
return set(coinc_event_id for coinc_event_id, events in coincs if not all(comparefunc(sim, event, offsetvector) for event in events))
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
def add_sim_coinc_coinc(contents, sim, coinc_event_ids, coinc_def_id):
|
|
585
|
+
"""
|
|
586
|
+
Create a coinc_event in the coinc table, and add arcs in the
|
|
587
|
+
coinc_event_map table linking the sim_burst row and the list of
|
|
588
|
+
coinc_event rows to the new coinc_event row.
|
|
589
|
+
"""
|
|
590
|
+
# the coinc always carries the same time_slide_id as the injection
|
|
591
|
+
coinc = contents.new_coinc(coinc_def_id, sim.time_slide_id)
|
|
592
|
+
coinc.nevents = len(coinc_event_ids)
|
|
593
|
+
|
|
594
|
+
coincmap = contents.coincmaptable.RowType()
|
|
595
|
+
coincmap.coinc_event_id = coinc.coinc_event_id
|
|
596
|
+
coincmap.table_name = sim.simulation_id.table_name
|
|
597
|
+
coincmap.event_id = sim.simulation_id
|
|
598
|
+
contents.coincmaptable.append(coincmap)
|
|
599
|
+
|
|
600
|
+
for coinc_event_id in coinc_event_ids:
|
|
601
|
+
coincmap = contents.coincmaptable.RowType()
|
|
602
|
+
coincmap.coinc_event_id = coinc.coinc_event_id
|
|
603
|
+
coincmap.table_name = coinc_event_id.table_name
|
|
604
|
+
coincmap.event_id = coinc_event_id
|
|
605
|
+
contents.coincmaptable.append(coincmap)
|
|
606
|
+
|
|
607
|
+
return coinc
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
#
|
|
611
|
+
# =============================================================================
|
|
612
|
+
#
|
|
613
|
+
# Library API
|
|
614
|
+
#
|
|
615
|
+
# =============================================================================
|
|
616
|
+
#
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
def binjfind(xmldoc, process, search, snglcomparefunc, nearcoinccomparefunc, verbose = False):
|
|
620
|
+
#
|
|
621
|
+
# Analyze the document's contents.
|
|
622
|
+
#
|
|
623
|
+
|
|
624
|
+
if verbose:
|
|
625
|
+
print("indexing ...", file=sys.stderr)
|
|
626
|
+
|
|
627
|
+
b_b_def = {
|
|
628
|
+
"StringCusp": burca.StringCuspBBCoincDef,
|
|
629
|
+
"excesspower": burca.ExcessPowerBBCoincDef,
|
|
630
|
+
"waveburst": CWBBBCoincDef,
|
|
631
|
+
"omega": OmegaBBCoincDef
|
|
632
|
+
}[search]
|
|
633
|
+
sb_b_def = {
|
|
634
|
+
"StringCusp": StringCuspSBBCoincDef,
|
|
635
|
+
"excesspower": ExcessPowerSBBCoincDef,
|
|
636
|
+
"waveburst": CWBSBBCoincDef,
|
|
637
|
+
"omega": OmegaSBBCoincDef
|
|
638
|
+
}[search]
|
|
639
|
+
si_b_def = {
|
|
640
|
+
"StringCusp": StringCuspSIBCoincDef,
|
|
641
|
+
"excesspower": ExcessPowerSIBCoincDef,
|
|
642
|
+
"waveburst": CWBSIBCoincDef,
|
|
643
|
+
"omega": OmegaSIBCoincDef
|
|
644
|
+
}[search]
|
|
645
|
+
sb_c_e_def = {
|
|
646
|
+
"StringCusp": StringCuspSBCCoincDef,
|
|
647
|
+
"excesspower": ExcessPowerSBCCoincDef,
|
|
648
|
+
"waveburst": CWBSBCCoincDef,
|
|
649
|
+
"omega": OmegaSBCCoincDef
|
|
650
|
+
}[search]
|
|
651
|
+
sb_c_n_def = {
|
|
652
|
+
"StringCusp": StringCuspSBCNearCoincDef,
|
|
653
|
+
"excesspower": ExcessPowerSBCNearCoincDef,
|
|
654
|
+
"waveburst": CWBSBCNearCoincDef,
|
|
655
|
+
"omega": OmegaSBCNearCoincDef
|
|
656
|
+
}[search]
|
|
657
|
+
si_c_e_def = {
|
|
658
|
+
"StringCusp": StringCuspSICCoincDef,
|
|
659
|
+
"excesspower": ExcessPowerSICCoincDef,
|
|
660
|
+
"waveburst": CWBSICCoincDef,
|
|
661
|
+
"omega": OmegaSICCoincDef
|
|
662
|
+
}[search]
|
|
663
|
+
si_c_n_def = {
|
|
664
|
+
"StringCusp": StringCuspSICNearCoincDef,
|
|
665
|
+
"excesspower": ExcessPowerSICNearCoincDef,
|
|
666
|
+
"waveburst": CWBSICNearCoincDef,
|
|
667
|
+
"omega": OmegaSICNearCoincDef
|
|
668
|
+
}[search]
|
|
669
|
+
|
|
670
|
+
contents = DocContents(
|
|
671
|
+
xmldoc = xmldoc,
|
|
672
|
+
b_b_def = b_b_def,
|
|
673
|
+
sb_b_def = sb_b_def,
|
|
674
|
+
si_b_def = si_b_def,
|
|
675
|
+
sb_c_e_def = sb_c_e_def,
|
|
676
|
+
sb_c_n_def = sb_c_n_def,
|
|
677
|
+
si_c_e_def = si_c_e_def,
|
|
678
|
+
si_c_n_def = si_c_n_def,
|
|
679
|
+
process = process,
|
|
680
|
+
livetime_program = {
|
|
681
|
+
"StringCusp": "StringSearch",
|
|
682
|
+
"excesspower": "lalapps_power",
|
|
683
|
+
"omega": None, # FIXME: this causes all segments in the search_summary table to be retrieved
|
|
684
|
+
"waveburst": None # FIXME: this causes all segments in the search_summary table to be retrieved
|
|
685
|
+
}[search]
|
|
686
|
+
)
|
|
687
|
+
|
|
688
|
+
#
|
|
689
|
+
# set the window for the sieve in bursts_near_peaktime(). this
|
|
690
|
+
# window is the amount of time such that if an injection's peak
|
|
691
|
+
# time and a burst event's peak time differ by more than this it is
|
|
692
|
+
# *impossible* for them to match one another.
|
|
693
|
+
#
|
|
694
|
+
|
|
695
|
+
# the radius of Earth in light seconds == the most an injection's
|
|
696
|
+
# peak time column can differ from the time it peaks in an
|
|
697
|
+
# instrument. 1.25 = add 25% for good luck (we're not being
|
|
698
|
+
# careful with asphericity here, so a bit of padding is needed
|
|
699
|
+
# anyway, just make sure it's enough).
|
|
700
|
+
burst_peak_time_window = lal.REARTH_SI / lal.C_SI * 1.25
|
|
701
|
+
|
|
702
|
+
# add the duration of the longest burst event (the most a burst
|
|
703
|
+
# event's peak time could differ from either the start or stop time
|
|
704
|
+
# of the event)
|
|
705
|
+
burst_peak_time_window += contents.longestduration
|
|
706
|
+
|
|
707
|
+
# add a search-specific padding
|
|
708
|
+
#
|
|
709
|
+
# for the string search this is 1/2 the typical width of a whitened
|
|
710
|
+
# template's autocorrelation function (because this is added to a
|
|
711
|
+
# time window somewhere)
|
|
712
|
+
#
|
|
713
|
+
# for omega, the number should be larger than the largest delta_t
|
|
714
|
+
# passed to OmegaSnglCompare() not including the duration of the
|
|
715
|
+
# burst event (already taken into account above)
|
|
716
|
+
burst_peak_time_window += {
|
|
717
|
+
"StringCusp": SimBurstUtils.stringcusp_autocorrelation_width / 2,
|
|
718
|
+
"excesspower": 0.0,
|
|
719
|
+
"omega": 30.0,
|
|
720
|
+
"waveburst": 30.0
|
|
721
|
+
}[search]
|
|
722
|
+
|
|
723
|
+
#
|
|
724
|
+
# set the window for identifying coincs near a peak time
|
|
725
|
+
# FIXME: this is kinda specific to the excess power search.
|
|
726
|
+
#
|
|
727
|
+
|
|
728
|
+
coinc_peak_time_window = burst_peak_time_window + SimBurstUtils.burst_is_near_injection_window
|
|
729
|
+
|
|
730
|
+
#
|
|
731
|
+
# Search for sim_burst <--> * coincidences
|
|
732
|
+
#
|
|
733
|
+
|
|
734
|
+
if contents.simbursttable is not None:
|
|
735
|
+
N = len(contents.simbursttable)
|
|
736
|
+
|
|
737
|
+
#
|
|
738
|
+
# Find sim_burst <--> sngl_burst coincidences.
|
|
739
|
+
#
|
|
740
|
+
|
|
741
|
+
if verbose:
|
|
742
|
+
print("constructing %s:" % sb_b_def.description, file=sys.stderr)
|
|
743
|
+
for n, sim in enumerate(contents.simbursttable):
|
|
744
|
+
if verbose:
|
|
745
|
+
print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
|
|
746
|
+
events = find_sngl_burst_matches(contents, sim, snglcomparefunc, burst_peak_time_window)
|
|
747
|
+
if events:
|
|
748
|
+
add_sim_burst_coinc(contents, sim, events, contents.sb_b_coinc_def_id)
|
|
749
|
+
if verbose:
|
|
750
|
+
print("\t100.0%", file=sys.stderr)
|
|
751
|
+
|
|
752
|
+
#
|
|
753
|
+
# Find sim_burst <--> coinc_event coincidences.
|
|
754
|
+
#
|
|
755
|
+
|
|
756
|
+
if verbose:
|
|
757
|
+
print("constructing %s and %s:" % (sb_c_e_def.description, sb_c_n_def.description), file=sys.stderr)
|
|
758
|
+
for n, sim in enumerate(contents.simbursttable):
|
|
759
|
+
if verbose:
|
|
760
|
+
print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
|
|
761
|
+
offsetvector = contents.offsetvectors[sim.time_slide_id]
|
|
762
|
+
coincs = contents.coincs_near_peaktime(sim.time_geocent, coinc_peak_time_window, offsetvector)
|
|
763
|
+
exact_coinc_event_ids = find_exact_coinc_matches(coincs, sim, snglcomparefunc, contents.seglists, offsetvector)
|
|
764
|
+
near_coinc_event_ids = find_near_coinc_matches(coincs, sim, nearcoinccomparefunc, offsetvector)
|
|
765
|
+
assert exact_coinc_event_ids.issubset(near_coinc_event_ids)
|
|
766
|
+
if exact_coinc_event_ids:
|
|
767
|
+
add_sim_coinc_coinc(contents, sim, exact_coinc_event_ids, contents.sb_c_e_coinc_def_id)
|
|
768
|
+
if near_coinc_event_ids:
|
|
769
|
+
add_sim_coinc_coinc(contents, sim, near_coinc_event_ids, contents.sb_c_n_coinc_def_id)
|
|
770
|
+
if verbose:
|
|
771
|
+
print("\t100.0%", file=sys.stderr)
|
|
772
|
+
elif verbose:
|
|
773
|
+
print("no %s table in document, skipping" % lsctables.SimBurstTable.tableName, file=sys.stderr)
|
|
774
|
+
|
|
775
|
+
#
|
|
776
|
+
# Search for sim_inspiral <--> * coincidences
|
|
777
|
+
#
|
|
778
|
+
|
|
779
|
+
if contents.siminspiraltable is not None:
|
|
780
|
+
N = len(contents.siminspiraltable)
|
|
781
|
+
|
|
782
|
+
#
|
|
783
|
+
# Find sim_inspiral <--> sngl_burst coincidences.
|
|
784
|
+
#
|
|
785
|
+
|
|
786
|
+
if verbose:
|
|
787
|
+
print("constructing %s:" % si_b_def.description, file=sys.stderr)
|
|
788
|
+
for n, sim in enumerate(contents.siminspiraltable):
|
|
789
|
+
if verbose:
|
|
790
|
+
print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
|
|
791
|
+
events = find_sngl_burst_matches(contents, sim, snglcomparefunc, burst_peak_time_window)
|
|
792
|
+
if events:
|
|
793
|
+
add_sim_burst_coinc(contents, sim, events, contents.si_b_coinc_def_id)
|
|
794
|
+
if verbose:
|
|
795
|
+
print("\t100.0%", file=sys.stderr)
|
|
796
|
+
|
|
797
|
+
#
|
|
798
|
+
# Find sim_inspiral <--> coinc_event coincidences.
|
|
799
|
+
#
|
|
800
|
+
|
|
801
|
+
if verbose:
|
|
802
|
+
print("constructing %s and %s:" % (si_c_e_def.description, si_c_n_def.description), file=sys.stderr)
|
|
803
|
+
for n, sim in enumerate(contents.siminspiraltable):
|
|
804
|
+
if verbose:
|
|
805
|
+
print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
|
|
806
|
+
offsetvector = contents.offsetvectors[sim.time_slide_id]
|
|
807
|
+
coincs = contents.coincs_near_peaktime(sim.time_geocent, coinc_peak_time_window, offsetvector)
|
|
808
|
+
exact_coinc_event_ids = find_exact_coinc_matches(coincs, sim, snglcomparefunc, contents.seglists, offsetvector)
|
|
809
|
+
near_coinc_event_ids = find_near_coinc_matches(coincs, sim, nearcoinccomparefunc, offsetvector)
|
|
810
|
+
assert exact_coinc_event_ids.issubset(near_coinc_event_ids)
|
|
811
|
+
if exact_coinc_event_ids:
|
|
812
|
+
add_sim_coinc_coinc(contents, sim, exact_coinc_event_ids, contents.si_c_e_coinc_def_id)
|
|
813
|
+
if near_coinc_event_ids:
|
|
814
|
+
add_sim_coinc_coinc(contents, sim, near_coinc_event_ids, contents.si_c_n_coinc_def_id)
|
|
815
|
+
if verbose:
|
|
816
|
+
print("\t100.0%", file=sys.stderr)
|
|
817
|
+
elif verbose:
|
|
818
|
+
print("no %s table in document, skipping" % lsctables.SimInspiralTable.tableName, file=sys.stderr)
|
|
819
|
+
|
|
820
|
+
#
|
|
821
|
+
# Done.
|
|
822
|
+
#
|
|
823
|
+
|
|
824
|
+
return xmldoc
|