lalsuite 7.26.2.dev20260106__cp314-cp314-macosx_13_0_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/.dylibs/Python +0 -0
- lal/.dylibs/libaec.0.dylib +0 -0
- lal/.dylibs/libbrotlicommon.1.2.0.dylib +0 -0
- lal/.dylibs/libbrotlidec.1.2.0.dylib +0 -0
- lal/.dylibs/libcfitsio.10.4.4.1.dylib +0 -0
- lal/.dylibs/libcrypto.3.dylib +0 -0
- lal/.dylibs/libcurl.4.dylib +0 -0
- lal/.dylibs/libfftw3.3.dylib +0 -0
- lal/.dylibs/libfftw3f.3.dylib +0 -0
- lal/.dylibs/libframel.8.48.4.dylib +0 -0
- lal/.dylibs/libgsl.28.dylib +0 -0
- lal/.dylibs/libgslcblas.0.dylib +0 -0
- lal/.dylibs/libhdf5.310.dylib +0 -0
- lal/.dylibs/libhdf5_hl.310.dylib +0 -0
- lal/.dylibs/libiconv.2.dylib +0 -0
- lal/.dylibs/libidn2.0.dylib +0 -0
- lal/.dylibs/libintl.8.dylib +0 -0
- lal/.dylibs/liblal.20.dylib +0 -0
- lal/.dylibs/liblalburst.8.dylib +0 -0
- lal/.dylibs/liblalframe.14.dylib +0 -0
- lal/.dylibs/liblalinference.23.dylib +0 -0
- lal/.dylibs/liblalinspiral.18.dylib +0 -0
- lal/.dylibs/liblalmetaio.11.dylib +0 -0
- lal/.dylibs/liblalpulsar.30.dylib +0 -0
- lal/.dylibs/liblalsimulation.37.dylib +0 -0
- lal/.dylibs/liblalsupport.14.dylib +0 -0
- lal/.dylibs/libmetaio.1.dylib +0 -0
- lal/.dylibs/libnghttp2.14.dylib +0 -0
- lal/.dylibs/libpsl.5.dylib +0 -0
- lal/.dylibs/libssl.3.dylib +0 -0
- lal/.dylibs/libsz.2.dylib +0 -0
- lal/.dylibs/libunistring.5.dylib +0 -0
- lal/.dylibs/libz.1.3.1.dylib +0 -0
- lal/.dylibs/libzstd.1.5.7.dylib +0 -0
- lal/__init__.py +145 -0
- lal/_lal.cpython-314-darwin.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-314-darwin.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-314-darwin.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-314-darwin.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-314-darwin.so +0 -0
- lalinference/_lalinference.cpython-314-darwin.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-314-darwin.so +0 -0
- lalinspiral/_lalinspiral_swig.py +18 -0
- lalinspiral/_thinca.cpython-314-darwin.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-314-darwin.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-314-darwin.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-314-darwin.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.dev20260106.data/scripts/cbcBayesBurstPPAnalysis +305 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesBurstPostProc +1364 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesCombinePTMCMCh5s +100 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesCombinePosteriors +235 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesCompPos +1121 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesDIEvidence +68 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesGraceDBinfo +182 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesMCMC2pos +314 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPPAnalysis +322 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPlotSpinDisk +42 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPosToSimBurst +227 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPosToSimInspiral +307 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPostProc +1345 -0
- lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesThermoInt +107 -0
- lalsuite-7.26.2.dev20260106.data/scripts/imrtgr_imr_consistency_test +796 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lal_cache +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lal_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lal_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lal_path2cache +148 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lal_searchsum2cache +172 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lal_simd_detect +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lal_tconvert +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lal_version +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputePSD +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_CopySFTs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_DistanceVsMass +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_MakeSFTDAG +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_PredictFstat +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_SFTclean +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_StringAddFrame +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_StringSearch +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_Weave +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_animate +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_binj +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_blindinj +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_cache +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_cafe +99 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_calfacs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_cbc_stochasticbank +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_chirplen +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_coh_PTF_inspiral +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_coinj +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_compareFstats +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_compareSFTs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_cosmicstring_pipe +525 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_dumpSFT +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_effdist +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_exc_resp +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fits_header_list +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fits_overview +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fits_table_list +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fr_ninja +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frextr +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frinfo +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frjoin +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frread +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frview +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_gwf2xml +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_heterodyne_pulsar +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_inspawgfile +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_inspfrinj +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_inspinj +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_inspiralDistance +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_knope +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_knope_automation_script +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_knope_collate_results +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_knope_result_page +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_makeblindinj +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_makeblindinj_himass +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ninja +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_path2cache +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_power +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_power_likelihood_pipe +219 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_power_pipe +417 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_pulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_random_bank +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_randombank +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_searchsum2cache +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_spec_avg +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_spec_coherence +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_spininj +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_splitSFTs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_splitbank +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_apply_vetoes +171 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_calc_likelihood +172 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_contour_plotter +141 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_contour_plotter_largeloops +133 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_cs_gamma +110 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_cs_gamma_largeloops +119 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_final +1064 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_meas_likelihood +264 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_plot_binj +543 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_plot_likelihood +380 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_tconvert +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_tmpltbank +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_version +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalapps_xtefitstoframe +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_cluster +156 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_coinc +224 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_cut +425 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_gen_timeslides +254 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_inj_pic +254 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_injfind +170 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_plot_tisi +165 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_calc_likelihood +182 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_final +1369 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_meas_likelihood +206 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_plot_binj +934 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_plot_binjtf +302 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalburst_version +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-cat +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-cksum +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-cut +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-dump +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-fmt +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-paste +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-print +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-split +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-stat +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-stream +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalfr-vis +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalframe_version +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_bench +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_burst +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_burst_pp_pipe +220 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_coherence_test +139 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_compute_roq_weights +404 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_cpnest +58 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_datadump +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_evolve_spins_and_append_samples +202 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_injectedlike +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_merge_posteriors +57 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_mpi_wrapper +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_multi_pipe +144 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_nest +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_nest2pos +286 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_pipe +512 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_pp_pipe +229 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_review_test +362 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinference_version +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinspiral_injfind +206 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinspiral_thinca +240 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalinspiral_version +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalmetaio_version +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputePSD +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_CopyPublicSFTs +216 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_MakeSFTDAG +1142 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_MoveSFTs +208 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_PiecewiseSearch +963 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_PredictFstat +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_SFTclean +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_Weave +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_compareFstats +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_compareSFTs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_dumpSFT +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_fits_header_list +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_fits_overview +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_fits_table_list +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_heterodyne +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_knope +145 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_knope_automation_script +731 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_knope_collate_results +675 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_knope_result_page +2977 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_spec_avg +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_spec_coherence +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_splitSFTs +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_version +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-bh-qnmode +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-bh-ringdown +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-bh-sphwf +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-burst +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-detector-noise +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-detector-strain +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-inject +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-inspiral +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-ns-eos-table +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-ns-mass-radius +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-ns-params +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-sgwb +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsim-unicorn +6 -0
- lalsuite-7.26.2.dev20260106.data/scripts/lalsimulation_version +6 -0
- lalsuite-7.26.2.dev20260106.dist-info/METADATA +90 -0
- lalsuite-7.26.2.dev20260106.dist-info/RECORD +749 -0
- lalsuite-7.26.2.dev20260106.dist-info/WHEEL +6 -0
- lalsuite-7.26.2.dev20260106.dist-info/licenses/COPYING +339 -0
- lalsuite-7.26.2.dev20260106.dist-info/top_level.txt +9 -0
lalburst/cafe.py
ADDED
|
@@ -0,0 +1,579 @@
|
|
|
1
|
+
# Copyright (C) 2006-2010,2012--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
|
+
LIGO Light-Weight XML coincidence analysis front end.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
import math
|
|
33
|
+
import sys
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
from lal import LIGOTimeGPS
|
|
37
|
+
from lal.utils import CacheEntry
|
|
38
|
+
import igwn_segments as segments
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
from . import offsetvector
|
|
42
|
+
from . import packing
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
__author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
|
|
46
|
+
from .git_version import date as __date__
|
|
47
|
+
from .git_version import version as __version__
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
#
|
|
51
|
+
# =============================================================================
|
|
52
|
+
#
|
|
53
|
+
# Input
|
|
54
|
+
#
|
|
55
|
+
# =============================================================================
|
|
56
|
+
#
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def load_cache(filename, verbose = False):
|
|
60
|
+
"""
|
|
61
|
+
Parse a LAL cache file named filename into a list of
|
|
62
|
+
lal.utils.CacheEntry objects. If filename is None then input is
|
|
63
|
+
taken from stdin.
|
|
64
|
+
"""
|
|
65
|
+
if verbose:
|
|
66
|
+
print("reading %s ..." % (filename or "stdin"), file=sys.stderr)
|
|
67
|
+
if filename is not None:
|
|
68
|
+
f = open(filename)
|
|
69
|
+
else:
|
|
70
|
+
f = sys.stdin
|
|
71
|
+
return [CacheEntry(line) for line in f]
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def cache_to_seglistdict(cache):
|
|
75
|
+
"""
|
|
76
|
+
Construct a coalesced segmentlistdict object from a list of
|
|
77
|
+
lal.utils.CacheEntry objects.
|
|
78
|
+
"""
|
|
79
|
+
s = segments.segmentlistdict()
|
|
80
|
+
for c in cache:
|
|
81
|
+
s |= c.segmentlistdict
|
|
82
|
+
return s
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
#
|
|
86
|
+
# =============================================================================
|
|
87
|
+
#
|
|
88
|
+
# Performance Helpers
|
|
89
|
+
#
|
|
90
|
+
# =============================================================================
|
|
91
|
+
#
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def segmentlistdict_normalize(seglistdict, origin):
|
|
95
|
+
"""
|
|
96
|
+
Convert the times in a segmentlist dictionary to floats relative to
|
|
97
|
+
origin. The purpose is to allow segment lists stored as
|
|
98
|
+
LIGOTimeGPS times to be manipulated more quickly without loss of
|
|
99
|
+
precision. The modification is done in place.
|
|
100
|
+
"""
|
|
101
|
+
for seglist in seglistdict.itervalues():
|
|
102
|
+
seglist[:] = (segments.segment(float(seg[0] - origin), float(seg[1] - origin)) for seg in seglist)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def get_coincident_segmentlistdict(seglistdict, offset_vectors):
|
|
106
|
+
"""
|
|
107
|
+
Compute the segments for which data is required in order to perform
|
|
108
|
+
a complete coincidence analysis given the segments for which data
|
|
109
|
+
is available and the list of offset vectors to be applied to the
|
|
110
|
+
data during the coincidence analysis.
|
|
111
|
+
|
|
112
|
+
seglistdict is a segmentlistdict object defining the instruments
|
|
113
|
+
and times for which data is available. offset_vectors is a list of
|
|
114
|
+
offset vectors to be applied to the data --- dictionaries of
|
|
115
|
+
instrument/offset pairs.
|
|
116
|
+
|
|
117
|
+
The offset vectors in offset_vectors are applied to the input
|
|
118
|
+
segments one by one and the interesection of the shifted segments
|
|
119
|
+
is computed. The segments surviving the intersection are unshifted
|
|
120
|
+
to their original positions and stored. The return value is the
|
|
121
|
+
union of the results of this operation.
|
|
122
|
+
|
|
123
|
+
In all cases all pair-wise intersections are computed, that is if
|
|
124
|
+
an offset vector lists three instruments then this function returns
|
|
125
|
+
the times when any two of those isntruments are on, including times
|
|
126
|
+
when all three are on.
|
|
127
|
+
|
|
128
|
+
For example, let us say that "input" is a segmentlistdict object
|
|
129
|
+
containing segment lists for three instruments, "H1", "H2" and
|
|
130
|
+
"L1". And let us say that "slides" is a list of dictionaries, and
|
|
131
|
+
is equal to [{"H1":0, "H2":0, "L1":0}, {"H1":0, "H2":10}]. Then if
|
|
132
|
+
|
|
133
|
+
output = get_coincident_segmentlistdict(input, slides)
|
|
134
|
+
|
|
135
|
+
output will contain, for each of the three instruments, the
|
|
136
|
+
segments (or parts thereof) from the original lists that are
|
|
137
|
+
required in order to perform a triple- and double-coincident
|
|
138
|
+
analyses at zero lag with the three instruments, *and* a
|
|
139
|
+
double-coincident analysis between H1 and H2 with H2 offset by 10
|
|
140
|
+
seconds.
|
|
141
|
+
|
|
142
|
+
The segmentlistdict object returned by this function has its
|
|
143
|
+
offsets set to those of the input segmentlistdict.
|
|
144
|
+
"""
|
|
145
|
+
# don't modify original
|
|
146
|
+
seglistdict = seglistdict.copy()
|
|
147
|
+
all_instruments = set(seglistdict)
|
|
148
|
+
|
|
149
|
+
# save original offsets
|
|
150
|
+
origoffsets = dict(seglistdict.offsets)
|
|
151
|
+
|
|
152
|
+
# compute result
|
|
153
|
+
coincseglists = segments.segmentlistdict()
|
|
154
|
+
for offset_vector in offsetvector.component_offsetvectors(offset_vectors, 2):
|
|
155
|
+
if set(offset_vector).issubset(all_instruments):
|
|
156
|
+
seglistdict.offsets.update(offset_vector)
|
|
157
|
+
intersection = seglistdict.extract_common(offset_vector.keys())
|
|
158
|
+
intersection.offsets.clear()
|
|
159
|
+
coincseglists |= intersection
|
|
160
|
+
|
|
161
|
+
# restore original offsets
|
|
162
|
+
coincseglists.offsets.update(origoffsets)
|
|
163
|
+
|
|
164
|
+
# done
|
|
165
|
+
return coincseglists
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
def segmentlistdict_unnormalize(seglistdict, origin):
|
|
169
|
+
"""
|
|
170
|
+
The opposite of segmentlistdict_normalize(), restores the times in
|
|
171
|
+
a segmentlist dictionary to absolute times. The modification is
|
|
172
|
+
done in place.
|
|
173
|
+
"""
|
|
174
|
+
for seglist in seglistdict.itervalues():
|
|
175
|
+
seglist[:] = (segments.segment(origin + seg[0], origin + seg[1]) for seg in seglist)
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
#
|
|
179
|
+
# =============================================================================
|
|
180
|
+
#
|
|
181
|
+
# Output Cache Packing
|
|
182
|
+
#
|
|
183
|
+
# =============================================================================
|
|
184
|
+
#
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
class LALCacheBin(packing.Bin):
|
|
188
|
+
"""
|
|
189
|
+
Subclass of the packing.Bin class representing a LAL file cache.
|
|
190
|
+
The files contained in the bin are available in the .objects
|
|
191
|
+
attribute, which is a list of lal.utils.CacheEntry objects. The
|
|
192
|
+
.size attribute holds a igwn_segments.segmentlistdict object giving
|
|
193
|
+
the times spanned by the files in the bin. The .extent attribute
|
|
194
|
+
holds the result of running .extent_all() on the .size attribute.
|
|
195
|
+
"""
|
|
196
|
+
def __init__(self):
|
|
197
|
+
packing.Bin.__init__(self)
|
|
198
|
+
self.size = segments.segmentlistdict()
|
|
199
|
+
self.extent = None
|
|
200
|
+
|
|
201
|
+
def add(self, cache_entry):
|
|
202
|
+
packing.Bin.add(self, cache_entry, cache_entry.segmentlistdict)
|
|
203
|
+
self.extent = self.size.extent_all()
|
|
204
|
+
return self
|
|
205
|
+
|
|
206
|
+
def __iadd__(self, *args):
|
|
207
|
+
packing.Bin.__iadd__(self, *args)
|
|
208
|
+
self.extent = self.size.extent_all()
|
|
209
|
+
return self
|
|
210
|
+
|
|
211
|
+
def __lt__(self, other):
|
|
212
|
+
return self.extent < other.extent
|
|
213
|
+
|
|
214
|
+
def __le__(self, other):
|
|
215
|
+
return self.extent <= other.extent
|
|
216
|
+
|
|
217
|
+
def __eq__(self, other):
|
|
218
|
+
return self.extent == other.extent
|
|
219
|
+
|
|
220
|
+
def __ne__(self, other):
|
|
221
|
+
return self.extent != other.extent
|
|
222
|
+
|
|
223
|
+
def __ge__(self, other):
|
|
224
|
+
return self.extent >= other.extent
|
|
225
|
+
|
|
226
|
+
def __gt__(self, other):
|
|
227
|
+
return self.extent > other.extent
|
|
228
|
+
|
|
229
|
+
def __str__(self):
|
|
230
|
+
return "\n".join(map(str, self.objects))
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
class CafePacker(packing.Packer):
|
|
234
|
+
"""
|
|
235
|
+
Packing algorithm implementing the ligolw_cafe file list packing
|
|
236
|
+
algorithm.
|
|
237
|
+
"""
|
|
238
|
+
def set_offset_vectors(self, offset_vectors):
|
|
239
|
+
"""
|
|
240
|
+
Set the list of offset vectors to be considered when
|
|
241
|
+
deciding the bins in which each file belongs. Must be
|
|
242
|
+
called before packing any files. The input is a list of
|
|
243
|
+
dictionaries, each mapping instruments to offsets.
|
|
244
|
+
"""
|
|
245
|
+
#
|
|
246
|
+
# sort the offset vectors to reduce the number of
|
|
247
|
+
# arithmetic operations performed while applying them
|
|
248
|
+
#
|
|
249
|
+
|
|
250
|
+
self.offset_vectors = list(offset_vectors)
|
|
251
|
+
self.offset_vectors.sort(key = lambda offset_vector: sorted(offset_vector.items()))
|
|
252
|
+
|
|
253
|
+
#
|
|
254
|
+
# determine the largest gap that can conceivably be closed
|
|
255
|
+
# by the time slides
|
|
256
|
+
#
|
|
257
|
+
|
|
258
|
+
min_offset = min(min(offset_vector.values()) for offset_vector in offset_vectors)
|
|
259
|
+
max_offset = max(max(offset_vector.values()) for offset_vector in offset_vectors)
|
|
260
|
+
self.max_gap = max_offset - min_offset
|
|
261
|
+
assert self.max_gap >= 0
|
|
262
|
+
|
|
263
|
+
def pack(self, cache_entry):
|
|
264
|
+
"""
|
|
265
|
+
Find all bins in which this lal.utils.CacheEntry instance
|
|
266
|
+
belongs, merge them, and add this cache entry to the
|
|
267
|
+
result. Create a new bin for this cache entry if it does
|
|
268
|
+
not belong in any of the existing bins.
|
|
269
|
+
|
|
270
|
+
The cache entry "belongs" in a bin if after each of the
|
|
271
|
+
preset offset vectors (see the .set_offset_vectors()
|
|
272
|
+
method) is applied to both the contents of a bin and the
|
|
273
|
+
cache entry, any of the segment lists of the bin and cache
|
|
274
|
+
entry are found to intersect. When checking for
|
|
275
|
+
intersection, only the segment lists whose instrument names
|
|
276
|
+
are listed in the offset vector are compared.
|
|
277
|
+
"""
|
|
278
|
+
#
|
|
279
|
+
# add the cache entry to a new bin by itself
|
|
280
|
+
#
|
|
281
|
+
|
|
282
|
+
new = LALCacheBin()
|
|
283
|
+
new.add(cache_entry)
|
|
284
|
+
|
|
285
|
+
#
|
|
286
|
+
# assemble a list of bins in which the cache entry belongs.
|
|
287
|
+
# iterate over existing bins backwards so that we record
|
|
288
|
+
# the indeces of matching bins in descending order. bail
|
|
289
|
+
# out when we find a bin that precedes the new one
|
|
290
|
+
#
|
|
291
|
+
|
|
292
|
+
matching_bins = []
|
|
293
|
+
for n in range(len(self.bins) - 1, -1, -1):
|
|
294
|
+
bin = self.bins[n]
|
|
295
|
+
if bin.extent[1] < new.extent[0] - self.max_gap:
|
|
296
|
+
break
|
|
297
|
+
for offset_vector in self.offset_vectors:
|
|
298
|
+
new.size.offsets.update(offset_vector)
|
|
299
|
+
bin.size.offsets.update(offset_vector)
|
|
300
|
+
if bin.size.is_coincident(new.size, keys = offset_vector.keys()):
|
|
301
|
+
matching_bins.append(n)
|
|
302
|
+
break
|
|
303
|
+
bin.size.offsets.clear()
|
|
304
|
+
new.size.offsets.clear()
|
|
305
|
+
|
|
306
|
+
#
|
|
307
|
+
# add new cache entry to bins
|
|
308
|
+
#
|
|
309
|
+
|
|
310
|
+
if not matching_bins:
|
|
311
|
+
#
|
|
312
|
+
# no existing bins match, add a new one
|
|
313
|
+
#
|
|
314
|
+
|
|
315
|
+
self.bins.append(new)
|
|
316
|
+
else:
|
|
317
|
+
#
|
|
318
|
+
# put cache entry into earliest bin that was found
|
|
319
|
+
# to match. if cache entry belongs in more than
|
|
320
|
+
# one bin, merge them. note that the matching bin
|
|
321
|
+
# indexes are given in descending order so the last
|
|
322
|
+
# is the earliest bin, and after that popping them
|
|
323
|
+
# in order does not affet the indexes of the
|
|
324
|
+
# remaining, matching, bins.
|
|
325
|
+
#
|
|
326
|
+
|
|
327
|
+
dest = self.bins[matching_bins.pop(-1)]
|
|
328
|
+
dest += new
|
|
329
|
+
for n in matching_bins:
|
|
330
|
+
dest += self.bins.pop(n)
|
|
331
|
+
|
|
332
|
+
#
|
|
333
|
+
# time-order the bins so the bail-out above works next time
|
|
334
|
+
# this method is called
|
|
335
|
+
#
|
|
336
|
+
|
|
337
|
+
self.bins.sort()
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
def split_bins(cafepacker, extentlimit, verbose = False):
|
|
341
|
+
"""
|
|
342
|
+
Split bins in CafePacker so that each bin has an extent no longer
|
|
343
|
+
than extentlimit.
|
|
344
|
+
"""
|
|
345
|
+
|
|
346
|
+
#
|
|
347
|
+
# loop over all bins in cafepacker.bins. loop is backwards because
|
|
348
|
+
# list grows in size as bins are split
|
|
349
|
+
#
|
|
350
|
+
|
|
351
|
+
for idx in range(len(cafepacker.bins) - 1, -1, -1):
|
|
352
|
+
#
|
|
353
|
+
# retrieve bin
|
|
354
|
+
#
|
|
355
|
+
|
|
356
|
+
origbin = cafepacker.bins[idx]
|
|
357
|
+
|
|
358
|
+
#
|
|
359
|
+
# how many pieces? if bin doesn't need splitting move to
|
|
360
|
+
# next
|
|
361
|
+
#
|
|
362
|
+
|
|
363
|
+
n = int(math.ceil(float(abs(origbin.extent)) / extentlimit))
|
|
364
|
+
if n <= 1:
|
|
365
|
+
continue
|
|
366
|
+
|
|
367
|
+
#
|
|
368
|
+
# calculate the times of the splits, and then build
|
|
369
|
+
# segmentlistdicts for clipping.
|
|
370
|
+
#
|
|
371
|
+
|
|
372
|
+
extents = [origbin.extent[0]] + [LIGOTimeGPS(origbin.extent[0] + i * float(abs(origbin.extent)) / n) for i in range(1, n)] + [origbin.extent[1]]
|
|
373
|
+
if verbose:
|
|
374
|
+
print("\tsplitting cache spanning %s at %s" % (str(origbin.extent), ", ".join(str(extent) for extent in extents[1:-1])), file=sys.stderr)
|
|
375
|
+
extents = [segments.segment(*bounds) for bounds in zip(extents[:-1], extents[1:])]
|
|
376
|
+
|
|
377
|
+
#
|
|
378
|
+
# build new bins, pack objects from origbin into new bins
|
|
379
|
+
#
|
|
380
|
+
|
|
381
|
+
newbins = []
|
|
382
|
+
for extent in extents:
|
|
383
|
+
#
|
|
384
|
+
# append new bin
|
|
385
|
+
#
|
|
386
|
+
|
|
387
|
+
newbins.append(LALCacheBin())
|
|
388
|
+
|
|
389
|
+
#
|
|
390
|
+
# test each cache entry in original bin
|
|
391
|
+
#
|
|
392
|
+
|
|
393
|
+
extent_plus_max_gap = extent.protract(cafepacker.max_gap)
|
|
394
|
+
for cache_entry in origbin.objects:
|
|
395
|
+
#
|
|
396
|
+
# quick check of gap
|
|
397
|
+
#
|
|
398
|
+
|
|
399
|
+
if cache_entry.segment.disjoint(extent_plus_max_gap):
|
|
400
|
+
continue
|
|
401
|
+
|
|
402
|
+
#
|
|
403
|
+
# apply each offset vector
|
|
404
|
+
#
|
|
405
|
+
|
|
406
|
+
cache_entry_segs = cache_entry.segmentlistdict
|
|
407
|
+
for offset_vector in cafepacker.offset_vectors:
|
|
408
|
+
cache_entry_segs.offsets.update(offset_vector)
|
|
409
|
+
|
|
410
|
+
#
|
|
411
|
+
# test against bin
|
|
412
|
+
#
|
|
413
|
+
|
|
414
|
+
if cache_entry_segs.intersects_segment(extent):
|
|
415
|
+
#
|
|
416
|
+
# object is coicident with
|
|
417
|
+
# bin
|
|
418
|
+
#
|
|
419
|
+
|
|
420
|
+
newbins[-1].add(cache_entry)
|
|
421
|
+
break
|
|
422
|
+
|
|
423
|
+
#
|
|
424
|
+
# override the bin's extent
|
|
425
|
+
#
|
|
426
|
+
|
|
427
|
+
newbins[-1].extent = extent
|
|
428
|
+
|
|
429
|
+
#
|
|
430
|
+
# replace original bin with split bins.
|
|
431
|
+
#
|
|
432
|
+
|
|
433
|
+
cafepacker.bins[idx:idx+1] = newbins
|
|
434
|
+
|
|
435
|
+
#
|
|
436
|
+
# done
|
|
437
|
+
#
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
#
|
|
441
|
+
# =============================================================================
|
|
442
|
+
#
|
|
443
|
+
# Output
|
|
444
|
+
#
|
|
445
|
+
# =============================================================================
|
|
446
|
+
#
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
def write_caches(base, bins, instruments = None, verbose = False):
|
|
450
|
+
filenames = []
|
|
451
|
+
if len(bins):
|
|
452
|
+
pattern = "%%s%%0%dd.cache" % int(math.log10(len(bins)) + 1)
|
|
453
|
+
for n, bin in enumerate(bins):
|
|
454
|
+
filename = pattern % (base, n)
|
|
455
|
+
filenames.append(filename)
|
|
456
|
+
if verbose:
|
|
457
|
+
print("writing %s ..." % filename, file=sys.stderr)
|
|
458
|
+
f = open(filename, "w")
|
|
459
|
+
for cacheentry in bin.objects:
|
|
460
|
+
if instruments is None or (instruments & set(cacheentry.segmentlistdict)):
|
|
461
|
+
print(str(cacheentry), file=f)
|
|
462
|
+
return filenames
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
def write_single_instrument_caches(base, bins, instruments, verbose = False):
|
|
466
|
+
for instrument in instruments:
|
|
467
|
+
write_caches("%s%s_" % (base, instrument), bins, set([instrument]), verbose)
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
#
|
|
471
|
+
# =============================================================================
|
|
472
|
+
#
|
|
473
|
+
# Library API
|
|
474
|
+
#
|
|
475
|
+
# =============================================================================
|
|
476
|
+
#
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
def ligolw_cafe(cache, offset_vectors, verbose = False, extentlimit = None):
|
|
480
|
+
"""
|
|
481
|
+
Transform a LAL cache into a list of caches each of whose contents
|
|
482
|
+
can be subjected to a coincidence analysis independently of the
|
|
483
|
+
contents of the other caches, assuming the coincidence analyses
|
|
484
|
+
will involve the application of the given offset vectors.
|
|
485
|
+
|
|
486
|
+
cache is a sequence (e.g., list, tuple, etc.) of
|
|
487
|
+
lal.utils.CacheEntry objects. offset_vectors is a sequence of
|
|
488
|
+
instrument/offset dictionaries describing the offset vectors to
|
|
489
|
+
consider. Set verbose to True for verbosity.
|
|
490
|
+
|
|
491
|
+
The output is a two-element tuple. The first element is a
|
|
492
|
+
igwn_segments.segmentlistdict object describing the times for which
|
|
493
|
+
coincident data is available (derived from the segment metadata of
|
|
494
|
+
the input cache). The second element is a list of LALCacheBin
|
|
495
|
+
objects, providing the file groups.
|
|
496
|
+
"""
|
|
497
|
+
#
|
|
498
|
+
# Construct a segment list dictionary from the cache
|
|
499
|
+
#
|
|
500
|
+
|
|
501
|
+
if verbose:
|
|
502
|
+
print("computing segment list ...", file=sys.stderr)
|
|
503
|
+
seglists = cache_to_seglistdict(cache)
|
|
504
|
+
|
|
505
|
+
#
|
|
506
|
+
# For each instrument compute the times for which it will (could)
|
|
507
|
+
# contribute to a coincidence analysis.
|
|
508
|
+
#
|
|
509
|
+
|
|
510
|
+
epoch = min([min(seg[0] for seg in seglist) for seglist in seglists.values() if seglist] or [None])
|
|
511
|
+
segmentlistdict_normalize(seglists, epoch)
|
|
512
|
+
seglists = get_coincident_segmentlistdict(seglists, offset_vectors)
|
|
513
|
+
segmentlistdict_unnormalize(seglists, epoch)
|
|
514
|
+
|
|
515
|
+
#
|
|
516
|
+
# Remove files that will not participate in a coincidence. Take
|
|
517
|
+
# care not to modify the calling code's data. Note that because we
|
|
518
|
+
# have established that this segment list describes exactly the
|
|
519
|
+
# times spanned by the input files that are coincident under at
|
|
520
|
+
# least one time slide, a file participates in a multi-instrument
|
|
521
|
+
# coincidence if and only if it intersects these times.
|
|
522
|
+
#
|
|
523
|
+
|
|
524
|
+
if verbose:
|
|
525
|
+
print("filtering input cache ...", file=sys.stderr)
|
|
526
|
+
cache = [c for c in cache if seglists.intersects_all(c.segmentlistdict)]
|
|
527
|
+
|
|
528
|
+
#
|
|
529
|
+
# Optimization: adding files to bins in time order keeps the number
|
|
530
|
+
# of bins from growing larger than needed.
|
|
531
|
+
#
|
|
532
|
+
|
|
533
|
+
if verbose:
|
|
534
|
+
print("sorting input cache ...", file=sys.stderr)
|
|
535
|
+
cache.sort(key = lambda x: x.segment)
|
|
536
|
+
|
|
537
|
+
#
|
|
538
|
+
# Pack cache entries into output caches. Having reduced the file
|
|
539
|
+
# list to just those that participate in coincidences, it only
|
|
540
|
+
# remains to determine which other files each must be grouped with.
|
|
541
|
+
#
|
|
542
|
+
|
|
543
|
+
outputcaches = []
|
|
544
|
+
packer = CafePacker(outputcaches)
|
|
545
|
+
packer.set_offset_vectors(offset_vectors)
|
|
546
|
+
if verbose:
|
|
547
|
+
print("packing files (considering %s offset vectors) ..." % len(offset_vectors), file=sys.stderr)
|
|
548
|
+
for n, cacheentry in enumerate(cache):
|
|
549
|
+
if verbose and not n % 13:
|
|
550
|
+
print("\t%.1f%%\t(%d files, %d caches)\r" % (100.0 * n / len(cache), n + 1, len(outputcaches)), end=' ', file=sys.stderr)
|
|
551
|
+
packer.pack(cacheentry)
|
|
552
|
+
if verbose:
|
|
553
|
+
print("\t100.0%%\t(%d files, %d caches)" % (len(cache), len(outputcaches)), file=sys.stderr)
|
|
554
|
+
|
|
555
|
+
#
|
|
556
|
+
# Split caches with extent more than extentlimit
|
|
557
|
+
#
|
|
558
|
+
|
|
559
|
+
if extentlimit is not None:
|
|
560
|
+
if verbose:
|
|
561
|
+
print("splitting caches with extent greater than %g s ..." % extentlimit, file=sys.stderr)
|
|
562
|
+
split_bins(packer, extentlimit, verbose = verbose)
|
|
563
|
+
if verbose:
|
|
564
|
+
print("\t\t(%d files, %d caches)" % (len(cache), len(outputcaches)), file=sys.stderr)
|
|
565
|
+
|
|
566
|
+
#
|
|
567
|
+
# Sort output caches
|
|
568
|
+
#
|
|
569
|
+
|
|
570
|
+
if verbose:
|
|
571
|
+
print("sorting output caches ...", file=sys.stderr)
|
|
572
|
+
for cache in outputcaches:
|
|
573
|
+
cache.objects.sort()
|
|
574
|
+
|
|
575
|
+
#
|
|
576
|
+
# Done.
|
|
577
|
+
#
|
|
578
|
+
|
|
579
|
+
return seglists, outputcaches
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Copyright (C) 2007--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
|
+
import sys
|
|
28
|
+
from tqdm import tqdm
|
|
29
|
+
import traceback
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
from igwn_ligolw import lsctables
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
__author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
|
|
36
|
+
from .git_version import date as __date__
|
|
37
|
+
from .git_version import version as __version__
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
#
|
|
41
|
+
# =============================================================================
|
|
42
|
+
#
|
|
43
|
+
# Library Interface
|
|
44
|
+
#
|
|
45
|
+
# =============================================================================
|
|
46
|
+
#
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
#
|
|
50
|
+
# Core routine
|
|
51
|
+
#
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def assign_likelihood_ratios(connection, coinc_def_id, offset_vectors, vetoseglists, events_func, veto_func, ln_likelihood_ratio_func, verbose = False):
|
|
55
|
+
"""
|
|
56
|
+
Assigns likelihood ratio values to coincidences.
|
|
57
|
+
"""
|
|
58
|
+
#
|
|
59
|
+
# Create a cursor object for events_func() to reuse
|
|
60
|
+
#
|
|
61
|
+
|
|
62
|
+
cursor = connection.cursor()
|
|
63
|
+
|
|
64
|
+
#
|
|
65
|
+
# Construct the in-SQL likelihood ratio function. Rely on Python's
|
|
66
|
+
# closure mechanism to retain all local variables at the time of
|
|
67
|
+
# this function's creation for use inside the function.
|
|
68
|
+
#
|
|
69
|
+
|
|
70
|
+
def ln_likelihood_ratio(coinc_event_id, time_slide_id):
|
|
71
|
+
try:
|
|
72
|
+
return ln_likelihood_ratio_func([event for event in events_func(cursor, coinc_event_id) if veto_func(event, vetoseglists)], offset_vectors[time_slide_id])
|
|
73
|
+
except:
|
|
74
|
+
traceback.print_exc()
|
|
75
|
+
raise
|
|
76
|
+
|
|
77
|
+
connection.create_function("ln_likelihood_ratio", 2, ln_likelihood_ratio)
|
|
78
|
+
|
|
79
|
+
#
|
|
80
|
+
# Iterate over all coincs, assigning likelihood ratios.
|
|
81
|
+
#
|
|
82
|
+
|
|
83
|
+
if verbose:
|
|
84
|
+
print("computing likelihood ratios ...", file=sys.stderr)
|
|
85
|
+
|
|
86
|
+
connection.cursor().execute("""
|
|
87
|
+
UPDATE
|
|
88
|
+
coinc_event
|
|
89
|
+
SET
|
|
90
|
+
likelihood = ln_likelihood_ratio(coinc_event_id, time_slide_id)
|
|
91
|
+
WHERE
|
|
92
|
+
coinc_def_id == ?
|
|
93
|
+
""", (coinc_def_id,))
|
|
94
|
+
|
|
95
|
+
#
|
|
96
|
+
# Done
|
|
97
|
+
#
|
|
98
|
+
|
|
99
|
+
connection.commit()
|
|
100
|
+
cursor.close()
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def assign_likelihood_ratios_xml(xmldoc, coinc_def_id, offset_vectors, vetoseglists, events_func, veto_func, ln_likelihood_ratio_func, verbose = False):
|
|
104
|
+
"""
|
|
105
|
+
Assigns likelihood ratio values to coincidences (XML version).
|
|
106
|
+
"""
|
|
107
|
+
#
|
|
108
|
+
# Iterate over all coincs, assigning likelihood ratios.
|
|
109
|
+
#
|
|
110
|
+
|
|
111
|
+
for coinc_event in tqdm(lsctables.CoincTable.get_table(xmldoc), desc = "computing ln L", disable = not verbose):
|
|
112
|
+
if coinc_event.coinc_def_id != coinc_def_id:
|
|
113
|
+
continue
|
|
114
|
+
coinc_event.likelihood = ln_likelihood_ratio_func([event for event in events_func(None, coinc_event.coinc_event_id) if veto_func(event, vetoseglists)], offset_vectors[coinc_event.time_slide_id])
|
|
115
|
+
|
|
116
|
+
#
|
|
117
|
+
# Done
|
|
118
|
+
#
|
|
119
|
+
|
|
120
|
+
return
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
#
|
|
124
|
+
# Burst-specific interface
|
|
125
|
+
#
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def sngl_burst_events_func(cursor, coinc_event_id, row_from_cols):
|
|
129
|
+
return map(row_from_cols, cursor.execute("""
|
|
130
|
+
SELECT
|
|
131
|
+
sngl_burst.*
|
|
132
|
+
FROM
|
|
133
|
+
sngl_burst
|
|
134
|
+
JOIN coinc_event_map ON (
|
|
135
|
+
coinc_event_map.table_name == 'sngl_burst'
|
|
136
|
+
AND coinc_event_map.event_id == sngl_burst.event_id
|
|
137
|
+
)
|
|
138
|
+
WHERE
|
|
139
|
+
coinc_event_map.coinc_event_id == ?
|
|
140
|
+
""", (coinc_event_id,)))
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
def sngl_burst_veto_func(event, vetoseglists):
|
|
144
|
+
# return True if event should be *retained*
|
|
145
|
+
return event.ifo not in vetoseglists or event.peak not in vetoseglists[event.ifo]
|