lalsuite 7.26.2.dev20251206__cp312-cp312-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-312-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-312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
- lalinference/_lalinference.cpython-312-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-312-x86_64-linux-gnu.so +0 -0
- lalinspiral/_lalinspiral_swig.py +18 -0
- lalinspiral/_thinca.cpython-312-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-312-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-312-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-312-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.dev20251206.data/scripts/cbcBayesBurstPPAnalysis +305 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesBurstPostProc +1364 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesCombinePTMCMCh5s +100 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesCombinePosteriors +235 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesCompPos +1121 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesDIEvidence +68 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesGraceDBinfo +182 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesMCMC2pos +314 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPPAnalysis +322 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPlotSpinDisk +42 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPosToSimBurst +227 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPosToSimInspiral +307 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesPostProc +1345 -0
- lalsuite-7.26.2.dev20251206.data/scripts/cbcBayesThermoInt +107 -0
- lalsuite-7.26.2.dev20251206.data/scripts/imrtgr_imr_consistency_test +796 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_path2cache +148 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_searchsum2cache +172 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_simd_detect +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_tconvert +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lal_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_CopySFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_DistanceVsMass +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_MakeSFTDAG +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_SFTclean +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_StringAddFrame +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_StringSearch +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_Weave +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_animate +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_binj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_blindinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cafe +99 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_calfacs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cbc_stochasticbank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_chirplen +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_coh_PTF_inspiral +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_coinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_compareFstats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_cosmicstring_pipe +525 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_effdist +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_exc_resp +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_overview +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_fr_ninja +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frextr +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frinfo +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frjoin +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frread +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_frview +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_gwf2xml +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_heterodyne_pulsar +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspawgfile +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspfrinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_inspiralDistance +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope_automation_script +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope_collate_results +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_knope_result_page +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_makeblindinj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_makeblindinj_himass +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ninja +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_path2cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_power +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_power_likelihood_pipe +219 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_power_pipe +417 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_pulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_random_bank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_randombank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_searchsum2cache +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spec_avg +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_spininj +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_splitbank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_apply_vetoes +171 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_calc_likelihood +172 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_contour_plotter +141 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_contour_plotter_largeloops +133 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_cs_gamma +110 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_cs_gamma_largeloops +119 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_final +1064 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_meas_likelihood +264 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_plot_binj +543 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_string_plot_likelihood +380 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_tconvert +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_tmpltbank +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalapps_xtefitstoframe +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_cluster +156 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_coinc +224 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_cut +425 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_gen_timeslides +254 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_inj_pic +254 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_injfind +170 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_plot_tisi +165 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_calc_likelihood +182 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_final +1369 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_meas_likelihood +206 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_plot_binj +934 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_power_plot_binjtf +302 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalburst_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-cat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-cksum +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-cut +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-dump +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-fmt +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-paste +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-print +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-split +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-stat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-stream +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalfr-vis +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalframe_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_bench +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_burst +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_burst_pp_pipe +220 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_coherence_test +139 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_compute_roq_weights +404 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_cpnest +58 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_datadump +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_evolve_spins_and_append_samples +202 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_injectedlike +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_merge_posteriors +57 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_mpi_wrapper +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_multi_pipe +144 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_nest +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_nest2pos +286 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_pipe +512 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_pp_pipe +229 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_review_test +362 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinference_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinspiral_injfind +206 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinspiral_thinca +240 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalinspiral_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalmetaio_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_CopyPublicSFTs +216 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_MakeSFTDAG +1142 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_MoveSFTs +208 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_PiecewiseSearch +963 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_SFTclean +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_Weave +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_compareFstats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_overview +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_heterodyne +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope +145 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope_automation_script +731 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope_collate_results +675 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_knope_result_page +2977 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_spec_avg +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalpulsar_version +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-bh-qnmode +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-bh-ringdown +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-bh-sphwf +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-burst +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-detector-noise +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-detector-strain +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-inject +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-inspiral +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-ns-eos-table +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-ns-mass-radius +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-ns-params +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-sgwb +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsim-unicorn +6 -0
- lalsuite-7.26.2.dev20251206.data/scripts/lalsimulation_version +6 -0
- lalsuite-7.26.2.dev20251206.dist-info/METADATA +90 -0
- lalsuite-7.26.2.dev20251206.dist-info/RECORD +733 -0
- lalsuite-7.26.2.dev20251206.dist-info/WHEEL +5 -0
- lalsuite-7.26.2.dev20251206.dist-info/licenses/COPYING +339 -0
- lalsuite-7.26.2.dev20251206.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-d17109e0.so.20.5.0 +0 -0
- lalsuite.libs/liblalburst-d9edfb9d.so.8.0.0 +0 -0
- lalsuite.libs/liblalframe-d677044f.so.14.0.3 +0 -0
- lalsuite.libs/liblalinference-a50f0a8e.so.23.1.7 +0 -0
- lalsuite.libs/liblalinspiral-22638799.so.18.0.2 +0 -0
- lalsuite.libs/liblalmetaio-42c5bc5c.so.11.0.1 +0 -0
- lalsuite.libs/liblalpulsar-95c25f8c.so.30.1.1 +0 -0
- lalsuite.libs/liblalsimulation-bf7c4c31.so.37.2.0 +0 -0
- lalsuite.libs/liblalsupport-282d4115.so.14.4.0 +0 -0
- lalsuite.libs/libmetaio-abda72ec.so.1.1.0 +0 -0
lalburst/stringutils.py
ADDED
|
@@ -0,0 +1,607 @@
|
|
|
1
|
+
# Copyright (C) 2009--2019,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
|
+
try:
|
|
28
|
+
from fpconst import NegInf
|
|
29
|
+
except ImportError:
|
|
30
|
+
NegInf = float("-inf")
|
|
31
|
+
import itertools
|
|
32
|
+
import math
|
|
33
|
+
import numpy
|
|
34
|
+
import scipy.stats
|
|
35
|
+
import sys
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
from igwn_ligolw import ligolw
|
|
39
|
+
from igwn_ligolw import lsctables
|
|
40
|
+
from igwn_ligolw import utils as ligolw_utils
|
|
41
|
+
from igwn_ligolw.utils import process as ligolw_process
|
|
42
|
+
import lal
|
|
43
|
+
from lal import rate
|
|
44
|
+
from igwn_segments import utils as segmentsUtils
|
|
45
|
+
from .offsetvector import offsetvector
|
|
46
|
+
from . import snglcoinc
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
__author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
|
|
50
|
+
from .git_version import date as __date__
|
|
51
|
+
from .git_version import version as __version__
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
#
|
|
55
|
+
# =============================================================================
|
|
56
|
+
#
|
|
57
|
+
# Likelihood Machinery
|
|
58
|
+
#
|
|
59
|
+
# =============================================================================
|
|
60
|
+
#
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
#
|
|
64
|
+
# Make a look-up table of time-of-arrival triangulators
|
|
65
|
+
#
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def triangulators(timing_uncertainties):
|
|
69
|
+
"""
|
|
70
|
+
Return a dictionary of snglcoinc.TOATriangulator objects
|
|
71
|
+
initialized for a variety of instrument combinations.
|
|
72
|
+
timing_uncertainties is a dictionary of instrument->$\\Delta t$
|
|
73
|
+
pairs. The return value is a dictionary of (instrument
|
|
74
|
+
tuple)->TOATrangulator mappings. The instrument names in each
|
|
75
|
+
tuple are sorted in alphabetical order, and the triangulators are
|
|
76
|
+
constructed with the instruments in that order (the the
|
|
77
|
+
documentation for snglcoinc.TOATriangulator for more information).
|
|
78
|
+
|
|
79
|
+
Example:
|
|
80
|
+
|
|
81
|
+
>>> x = triangulators({"H1": 0.005, "L1": 0.005, "V1": 0.005})
|
|
82
|
+
|
|
83
|
+
constructs a dictionary of triangulators for every combination of
|
|
84
|
+
two or more instruments that can be constructed from those three.
|
|
85
|
+
|
|
86
|
+
The program lalapps_string_plot_binj can be used to measure the
|
|
87
|
+
timing uncertainties for the instruments in a search.
|
|
88
|
+
"""
|
|
89
|
+
allinstruments = sorted(timing_uncertainties.keys())
|
|
90
|
+
|
|
91
|
+
triangulators = {}
|
|
92
|
+
for n in range(2, len(allinstruments) + 1):
|
|
93
|
+
for instruments in itertools.combinations(allinstruments, n):
|
|
94
|
+
triangulators[instruments] = snglcoinc.TOATriangulator([lal.cached_detector_by_prefix[instrument].location for instrument in instruments], [timing_uncertainties[instrument] for instrument in instruments])
|
|
95
|
+
|
|
96
|
+
return triangulators
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
#
|
|
100
|
+
# A binning for instrument combinations
|
|
101
|
+
#
|
|
102
|
+
# FIXME: we decided that the coherent and null stream naming convention
|
|
103
|
+
# would look like
|
|
104
|
+
#
|
|
105
|
+
# H1H2:LSC-STRAIN_HPLUS, H1H2:LSC-STRAIN_HNULL
|
|
106
|
+
#
|
|
107
|
+
# and so on. i.e., the +, x and null streams from a coherent network would
|
|
108
|
+
# be different channels from a single instrument whose name would be the
|
|
109
|
+
# mash-up of the names of the instruments in the network. that is
|
|
110
|
+
# inconsisntent with the "H1H2+", "H1H2-" shown here, so this needs to be
|
|
111
|
+
# fixed but I don't know how. maybe it'll go away before it needs to be
|
|
112
|
+
# fixed.
|
|
113
|
+
#
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
class InstrumentBins(rate.HashableBins):
|
|
117
|
+
"""
|
|
118
|
+
Example:
|
|
119
|
+
|
|
120
|
+
>>> x = InstrumentBins()
|
|
121
|
+
>>> x[frozenset(("H1", "L1"))]
|
|
122
|
+
55
|
|
123
|
+
>>> x.centres()[55]
|
|
124
|
+
frozenset(['H1', 'L1'])
|
|
125
|
+
"""
|
|
126
|
+
|
|
127
|
+
names = ("E0", "E1", "E2", "E3", "G1", "H1", "H2", "H1H2+", "H1H2-", "L1", "V1")
|
|
128
|
+
|
|
129
|
+
def __init__(self, names):
|
|
130
|
+
super(InstrumentBins, self).__init__(frozenset(combo) for n in range(len(names) + 1) for combo in itertools.combinations(names, n))
|
|
131
|
+
|
|
132
|
+
# FIXME: hack to allow instrument binnings to be included as a
|
|
133
|
+
# dimension in multi-dimensional PDFs by defining a volume for
|
|
134
|
+
# them. investigate more sensible ways to do this. maybe NDBins
|
|
135
|
+
# and BinnedDensity should understand the difference between
|
|
136
|
+
# functional and parametric co-ordinates.
|
|
137
|
+
def lower(self):
|
|
138
|
+
return numpy.arange(0, len(self), dtype = "double")
|
|
139
|
+
def upper(self):
|
|
140
|
+
return numpy.arange(1, len(self) + 1, dtype = "double")
|
|
141
|
+
|
|
142
|
+
xml_bins_name = u"instrumentbins"
|
|
143
|
+
|
|
144
|
+
# NOTE: side effect of importing this module:
|
|
145
|
+
rate.NDBins.xml_bins_name_mapping.update({
|
|
146
|
+
InstrumentBins.xml_bins_name: InstrumentBins,
|
|
147
|
+
InstrumentBins: InstrumentBins.xml_bins_name
|
|
148
|
+
})
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
#
|
|
152
|
+
# Parameter distributions
|
|
153
|
+
#
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
class LnLRDensity(snglcoinc.LnLRDensity):
|
|
157
|
+
# FIXME: the interps dictionary maintained here should be
|
|
158
|
+
# eliminated in favour of an internal mechanism within the PDFs
|
|
159
|
+
# themselves that performs the interpolation on-the-fly, without
|
|
160
|
+
# requiring an intermediate object to be created
|
|
161
|
+
def __init__(self, instruments):
|
|
162
|
+
self.densities = {}
|
|
163
|
+
for instrument in instruments:
|
|
164
|
+
self.densities["%s_snr2_chi2" % instrument] = rate.BinnedLnPDF(rate.NDBins((rate.ATanLogarithmicBins(10, 1e7, 801), rate.ATanLogarithmicBins(.1, 1e4, 801))))
|
|
165
|
+
for pair in itertools.combinations(sorted(instruments), 2):
|
|
166
|
+
dt = 0.005 + snglcoinc.light_travel_time(*pair) # seconds
|
|
167
|
+
self.densities["%s_%s_dt" % pair] = rate.BinnedLnPDF(rate.NDBins((rate.ATanBins(-dt, +dt, 801),)))
|
|
168
|
+
self.densities["%s_%s_dA" % pair] = rate.BinnedLnPDF(rate.NDBins((rate.ATanBins(-0.5, +0.5, 801),)))
|
|
169
|
+
self.densities["%s_%s_df" % pair] = rate.BinnedLnPDF(rate.NDBins((rate.ATanBins(-0.2, +0.2, 501),)))
|
|
170
|
+
# only non-negative rss timing residual bins will be used
|
|
171
|
+
# but we want a binning that's linear at the origin so
|
|
172
|
+
# instead of inventing a new one we just use atan bins that
|
|
173
|
+
# are symmetric about 0
|
|
174
|
+
self.densities["instrumentgroup,rss_timing_residual"] = rate.BinnedLnPDF(rate.NDBins((InstrumentBins(instruments), rate.ATanBins(-0.02, +0.02, 1001))))
|
|
175
|
+
|
|
176
|
+
def __call__(self, **params):
|
|
177
|
+
try:
|
|
178
|
+
interps = self.interps
|
|
179
|
+
except AttributeError:
|
|
180
|
+
self.mkinterps()
|
|
181
|
+
interps = self.interps
|
|
182
|
+
return sum(interps[param](*value) for param, value in params.items()) if params else NegInf
|
|
183
|
+
|
|
184
|
+
def __iadd__(self, other):
|
|
185
|
+
if type(self) != type(other) or set(self.densities) != set(other.densities):
|
|
186
|
+
raise TypeError("cannot add %s and %s" % (type(self), type(other)))
|
|
187
|
+
for key, pdf in self.densities.items():
|
|
188
|
+
pdf += other.densities[key]
|
|
189
|
+
try:
|
|
190
|
+
del self.interps
|
|
191
|
+
except AttributeError:
|
|
192
|
+
pass
|
|
193
|
+
return self
|
|
194
|
+
|
|
195
|
+
def increment(self, weight = 1.0, **params):
|
|
196
|
+
for param, value in params.items():
|
|
197
|
+
self.densities[param].count[value] += weight
|
|
198
|
+
|
|
199
|
+
def copy(self):
|
|
200
|
+
new = type(self)([])
|
|
201
|
+
for key, pdf in self.densities.items():
|
|
202
|
+
new.densities[key] = pdf.copy()
|
|
203
|
+
return new
|
|
204
|
+
|
|
205
|
+
def mkinterps(self):
|
|
206
|
+
self.interps = dict((key, pdf.mkinterp()) for key, pdf in self.densities.items() if "rss_timing_residual" not in key)
|
|
207
|
+
|
|
208
|
+
def finish(self):
|
|
209
|
+
for key, pdf in self.densities.items():
|
|
210
|
+
if key.endswith("_snr2_chi2"):
|
|
211
|
+
rate.filter_array(pdf.array, rate.gaussian_window(11, 11, sigma = 20))
|
|
212
|
+
elif key.endswith("_dt") or key.endswith("_dA") or key.endswith("_df"):
|
|
213
|
+
rate.filter_array(pdf.array, rate.gaussian_window(11, sigma = 20))
|
|
214
|
+
elif key.startswith("instrumentgroup"):
|
|
215
|
+
# instrument group filter is a no-op
|
|
216
|
+
pass
|
|
217
|
+
else:
|
|
218
|
+
# shouldn't get here
|
|
219
|
+
raise Exception
|
|
220
|
+
pdf.normalize()
|
|
221
|
+
self.mkinterps()
|
|
222
|
+
|
|
223
|
+
def to_xml(self, name):
|
|
224
|
+
xml = super(LnLRDensity, self).to_xml(name)
|
|
225
|
+
instruments = set(key.split("_", 1)[0] for key in self.densities if key.endswith("_snr2_chi2"))
|
|
226
|
+
xml.appendChild(ligolw.Param.from_pyvalue("instruments", lsctables.instrumentsproperty.set(instruments)))
|
|
227
|
+
for key, pdf in self.densities.items():
|
|
228
|
+
xml.appendChild(pdf.to_xml(key))
|
|
229
|
+
return xml
|
|
230
|
+
|
|
231
|
+
@classmethod
|
|
232
|
+
def from_xml(cls, xml, name):
|
|
233
|
+
xml = cls.get_xml_root(xml, name)
|
|
234
|
+
self = cls(lsctables.instrumentsproperty.get(ligolw.Param.get_param(xml, "instruments").value))
|
|
235
|
+
for key in self.densities:
|
|
236
|
+
self.densities[key] = rate.BinnedLnPDF.from_xml(xml, key)
|
|
237
|
+
return self
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
class StringCoincParamsDistributions(snglcoinc.LnLikelihoodRatioMixin):
|
|
241
|
+
ligo_lw_name_suffix = u"stringcusp_coincparamsdistributions"
|
|
242
|
+
|
|
243
|
+
def __init__(self, instruments):
|
|
244
|
+
self.triangulators = triangulators(dict.fromkeys(instruments, 8e-5))
|
|
245
|
+
self.numerator = LnLRDensity(instruments)
|
|
246
|
+
self.denominator = LnLRDensity(instruments)
|
|
247
|
+
self.candidates = LnLRDensity(instruments)
|
|
248
|
+
|
|
249
|
+
def __iadd__(self, other):
|
|
250
|
+
if type(self) != type(other):
|
|
251
|
+
raise TypeError(other)
|
|
252
|
+
if set(self.triangulators.keys()) != set(other.triangulators.keys()):
|
|
253
|
+
raise ValueError("incompatible instruments")
|
|
254
|
+
self.numerator += other.numerator
|
|
255
|
+
self.denominator += other.denominator
|
|
256
|
+
self.candidates += other.candidates
|
|
257
|
+
return self
|
|
258
|
+
|
|
259
|
+
def __call__(self, **kwargs):
|
|
260
|
+
# recover the instrument set. FIXME: this is stupid, but
|
|
261
|
+
# it's how we have to do it for now
|
|
262
|
+
instruments = set(param[:2] for param in kwargs if param.endswith("_snr2_chi2"))
|
|
263
|
+
|
|
264
|
+
# disallow H1+H2 only coincs
|
|
265
|
+
if instruments == set(("H1", "H2")):
|
|
266
|
+
return NegInf
|
|
267
|
+
|
|
268
|
+
# normal likelihood ratio
|
|
269
|
+
return super(StringCoincParamsDistributions, self).__call__(**kwargs)
|
|
270
|
+
|
|
271
|
+
def copy(self):
|
|
272
|
+
new = type(self)([])
|
|
273
|
+
new.triangulators = self.triangulators # share reference
|
|
274
|
+
new.numerator = self.numerator.copy()
|
|
275
|
+
new.denominator = self.denominator.copy()
|
|
276
|
+
new.candidates = self.candidates.copy()
|
|
277
|
+
return new
|
|
278
|
+
|
|
279
|
+
def coinc_params(self, events, offsetvector):
|
|
280
|
+
params = {}
|
|
281
|
+
|
|
282
|
+
#
|
|
283
|
+
# check for coincs that have been vetoed entirely
|
|
284
|
+
#
|
|
285
|
+
|
|
286
|
+
if len(events) < 2:
|
|
287
|
+
return params
|
|
288
|
+
|
|
289
|
+
#
|
|
290
|
+
# Initialize the parameter dictionary, sort the events by
|
|
291
|
+
# instrument name (the multi-instrument parameters are defined for
|
|
292
|
+
# the instruments in this order and the triangulators are
|
|
293
|
+
# constructed this way too), and retrieve the sorted instrument
|
|
294
|
+
# names
|
|
295
|
+
#
|
|
296
|
+
|
|
297
|
+
events = tuple(sorted(events, key = lambda event: event.ifo))
|
|
298
|
+
instruments = tuple(event.ifo for event in events)
|
|
299
|
+
|
|
300
|
+
#
|
|
301
|
+
# zero-instrument parameters
|
|
302
|
+
#
|
|
303
|
+
|
|
304
|
+
ignored, ignored, ignored, rss_timing_residual = self.triangulators[instruments](tuple(event.peak + offsetvector[event.ifo] for event in events))
|
|
305
|
+
# FIXME: rss_timing_residual is disabled. all the code to
|
|
306
|
+
# compute it properly is still here and given suitable
|
|
307
|
+
# initializations, the distribution data is still
|
|
308
|
+
# two-dimensional and has a suitable filter applied to it,
|
|
309
|
+
# but all events are forced into the RSS_{\Delta t} = 0
|
|
310
|
+
# bin, in effect removing that dimension from the data. We
|
|
311
|
+
# can look at this again sometime in the future if we're
|
|
312
|
+
# curious why it didn't help. Just delete the next line
|
|
313
|
+
# and you're back in business.
|
|
314
|
+
rss_timing_residual = 0.0
|
|
315
|
+
# FIXME: why is this commented out?
|
|
316
|
+
#params["instrumentgroup,rss_timing_residual"] = (frozenset(instruments), rss_timing_residual)
|
|
317
|
+
|
|
318
|
+
#
|
|
319
|
+
# one-instrument parameters
|
|
320
|
+
#
|
|
321
|
+
|
|
322
|
+
for event in events:
|
|
323
|
+
params["%s_snr2_chi2" % event.ifo] = (event.snr**2.0, event.chisq / event.chisq_dof)
|
|
324
|
+
|
|
325
|
+
#
|
|
326
|
+
# two-instrument parameters. note that events are sorted by
|
|
327
|
+
# instrument
|
|
328
|
+
#
|
|
329
|
+
|
|
330
|
+
for event1, event2 in itertools.combinations(events, 2):
|
|
331
|
+
assert event1.ifo != event2.ifo
|
|
332
|
+
|
|
333
|
+
prefix = "%s_%s_" % (event1.ifo, event2.ifo)
|
|
334
|
+
|
|
335
|
+
dt = float((event1.peak + offsetvector[event1.ifo]) - (event2.peak + offsetvector[event2.ifo]))
|
|
336
|
+
params["%sdt" % prefix] = (dt,)
|
|
337
|
+
|
|
338
|
+
dA = math.log10(abs(event1.amplitude / event2.amplitude))
|
|
339
|
+
params["%sdA" % prefix] = (dA,)
|
|
340
|
+
|
|
341
|
+
# f_cut = central_freq + bandwidth/2
|
|
342
|
+
f_cut1 = event1.central_freq + event1.bandwidth / 2
|
|
343
|
+
f_cut2 = event2.central_freq + event2.bandwidth / 2
|
|
344
|
+
df = float((math.log10(f_cut1) - math.log10(f_cut2)) / (math.log10(f_cut1) + math.log10(f_cut2)))
|
|
345
|
+
params["%sdf" % prefix] = (df,)
|
|
346
|
+
|
|
347
|
+
#
|
|
348
|
+
# done
|
|
349
|
+
#
|
|
350
|
+
|
|
351
|
+
return params
|
|
352
|
+
|
|
353
|
+
def ln_lr_from_triggers(self, events, offsetvector):
|
|
354
|
+
return self(**self.coinc_params(events, offsetvector))
|
|
355
|
+
|
|
356
|
+
def finish(self):
|
|
357
|
+
self.numerator.finish()
|
|
358
|
+
self.denominator.finish()
|
|
359
|
+
self.candidates.finish()
|
|
360
|
+
return self
|
|
361
|
+
|
|
362
|
+
@classmethod
|
|
363
|
+
def get_xml_root(cls, xml, name):
|
|
364
|
+
name = u"%s:%s" % (name, cls.ligo_lw_name_suffix)
|
|
365
|
+
xml = [elem for elem in xml.getElementsByTagName(ligolw.LIGO_LW.tagName) if elem.hasAttribute(u"Name") and elem.Name == name]
|
|
366
|
+
if len(xml) != 1:
|
|
367
|
+
raise ValueError("XML tree must contain exactly one %s element named %s" % (ligolw.LIGO_LW.tagName, name))
|
|
368
|
+
return xml[0]
|
|
369
|
+
|
|
370
|
+
@classmethod
|
|
371
|
+
def from_xml(cls, xml, name):
|
|
372
|
+
xml = cls.get_xml_root(xml, name)
|
|
373
|
+
self = cls([])
|
|
374
|
+
self.numerator = LnLRDensity.from_xml(xml, "numerator")
|
|
375
|
+
self.denominator = LnLRDensity.from_xml(xml, "denominator")
|
|
376
|
+
self.candidates = LnLRDensity.from_xml(xml, "candidates")
|
|
377
|
+
# FIXME: stupid way to get instruments, store them in the
|
|
378
|
+
# XML
|
|
379
|
+
instruments = [key.replace("_snr2_chi2", "") for key in self.numerator.densities.keys() if "_snr2_chi2" in key]
|
|
380
|
+
self.triangulators = triangulators(dict.fromkeys(instruments, 8e-5))
|
|
381
|
+
return self
|
|
382
|
+
|
|
383
|
+
def to_xml(self, name):
|
|
384
|
+
xml = ligolw.LIGO_LW({u"Name": u"%s:%s" % (name, self.ligo_lw_name_suffix)})
|
|
385
|
+
xml.appendChild(self.numerator.to_xml("numerator"))
|
|
386
|
+
xml.appendChild(self.denominator.to_xml("denominator"))
|
|
387
|
+
xml.appendChild(self.candidates.to_xml("candidates"))
|
|
388
|
+
return xml
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
#
|
|
392
|
+
# I/O
|
|
393
|
+
#
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
def load_likelihood_data(filenames, verbose = False):
|
|
397
|
+
coinc_params = None
|
|
398
|
+
seglists = None
|
|
399
|
+
for n, filename in enumerate(filenames, 1):
|
|
400
|
+
if verbose:
|
|
401
|
+
print("%d/%d:" % (n, len(filenames)), end=' ', file=sys.stderr)
|
|
402
|
+
xmldoc = ligolw_utils.load_filename(filename, verbose = verbose)
|
|
403
|
+
this_coinc_params = StringCoincParamsDistributions.from_xml(xmldoc, u"string_cusp_likelihood")
|
|
404
|
+
this_seglists = lsctables.SearchSummaryTable.get_table(xmldoc).get_out_segmentlistdict(lsctables.ProcessTable.get_table(xmldoc).get_ids_by_program(u"lalapps_string_meas_likelihood")).coalesce()
|
|
405
|
+
xmldoc.unlink()
|
|
406
|
+
if coinc_params is None:
|
|
407
|
+
coinc_params = this_coinc_params
|
|
408
|
+
else:
|
|
409
|
+
coinc_params += this_coinc_params
|
|
410
|
+
if seglists is None:
|
|
411
|
+
seglists = this_seglists
|
|
412
|
+
else:
|
|
413
|
+
seglists |= this_seglists
|
|
414
|
+
return coinc_params, seglists
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
#
|
|
418
|
+
# =============================================================================
|
|
419
|
+
#
|
|
420
|
+
# Livetime
|
|
421
|
+
#
|
|
422
|
+
# =============================================================================
|
|
423
|
+
#
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
def time_slides_livetime(seglists, time_slides, min_instruments, verbose = False, clip = None):
|
|
427
|
+
"""
|
|
428
|
+
seglists is a segmentlistdict of times when each of a set of
|
|
429
|
+
instruments were on, time_slides is a sequence of
|
|
430
|
+
instrument-->offset dictionaries, each vector of offsets in the
|
|
431
|
+
sequence is applied to the segmentlists and the total time during
|
|
432
|
+
which at least min_instruments were on is summed and returned. If
|
|
433
|
+
clip is not None, after each offset vector is applied to seglists
|
|
434
|
+
the result is intersected with clip before computing the livetime.
|
|
435
|
+
If verbose is True then progress reports are printed to stderr.
|
|
436
|
+
"""
|
|
437
|
+
livetime = 0.0
|
|
438
|
+
seglists = seglists.copy() # don't modify original
|
|
439
|
+
N = len(time_slides)
|
|
440
|
+
if verbose:
|
|
441
|
+
print("computing the live time for %d time slides:" % N, file=sys.stderr)
|
|
442
|
+
for n, time_slide in enumerate(time_slides):
|
|
443
|
+
if verbose:
|
|
444
|
+
print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
|
|
445
|
+
seglists.offsets.update(time_slide)
|
|
446
|
+
if clip is None:
|
|
447
|
+
livetime += float(abs(segmentsUtils.vote(seglists.values(), min_instruments)))
|
|
448
|
+
else:
|
|
449
|
+
livetime += float(abs(segmentsUtils.vote((seglists & clip).values(), min_instruments)))
|
|
450
|
+
if verbose:
|
|
451
|
+
print("\t100.0%", file=sys.stderr)
|
|
452
|
+
return livetime
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
def time_slides_livetime_for_instrument_combo(seglists, time_slides, instruments, verbose = False, clip = None):
|
|
456
|
+
"""
|
|
457
|
+
like time_slides_livetime() except computes the time for which
|
|
458
|
+
exactly the instruments given by the sequence instruments were on
|
|
459
|
+
(and nothing else).
|
|
460
|
+
"""
|
|
461
|
+
livetime = 0.0
|
|
462
|
+
# segments for instruments that must be on
|
|
463
|
+
onseglists = seglists.copy(keys = instruments)
|
|
464
|
+
# segments for instruments that must be off
|
|
465
|
+
offseglists = seglists.copy(keys = set(seglists) - set(instruments))
|
|
466
|
+
N = len(time_slides)
|
|
467
|
+
if verbose:
|
|
468
|
+
print("computing the live time for %s in %d time slides:" % (", ".join(instruments), N), file=sys.stderr)
|
|
469
|
+
for n, time_slide in enumerate(time_slides):
|
|
470
|
+
if verbose:
|
|
471
|
+
print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
|
|
472
|
+
onseglists.offsets.update(time_slide)
|
|
473
|
+
offseglists.offsets.update(time_slide)
|
|
474
|
+
if clip is None:
|
|
475
|
+
livetime += float(abs(onseglists.intersection(onseglists.keys()) - offseglists.union(offseglists.keys())))
|
|
476
|
+
else:
|
|
477
|
+
livetime += float(abs((onseglists & clip).intersection(onseglists.keys()) - offseglists.union(offseglists.keys())))
|
|
478
|
+
if verbose:
|
|
479
|
+
print("\t100.0%", file=sys.stderr)
|
|
480
|
+
return livetime
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
#
|
|
484
|
+
# =============================================================================
|
|
485
|
+
#
|
|
486
|
+
# Database Utilities
|
|
487
|
+
#
|
|
488
|
+
# =============================================================================
|
|
489
|
+
#
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
def create_recovered_ln_likelihood_ratio_table(connection, coinc_def_id):
|
|
493
|
+
"""
|
|
494
|
+
Create a temporary table named "recovered_ln_likelihood_ratio"
|
|
495
|
+
containing two columns: "simulation_id", the simulation_id of an
|
|
496
|
+
injection, and "ln_likelihood_ratio", the highest log likelihood
|
|
497
|
+
ratio at which that injection was recovered by a coincidence of
|
|
498
|
+
type coinc_def_id.
|
|
499
|
+
"""
|
|
500
|
+
cursor = connection.cursor()
|
|
501
|
+
cursor.execute("""
|
|
502
|
+
CREATE TEMPORARY TABLE recovered_ln_likelihood_ratio (simulation_id TEXT PRIMARY KEY, ln_likelihood_ratio REAL)
|
|
503
|
+
""")
|
|
504
|
+
cursor.execute("""
|
|
505
|
+
INSERT OR REPLACE INTO
|
|
506
|
+
recovered_ln_likelihood_ratio
|
|
507
|
+
SELECT
|
|
508
|
+
sim_burst.simulation_id AS simulation_id,
|
|
509
|
+
MAX(coinc_event.likelihood) AS ln_likelihood_ratio
|
|
510
|
+
FROM
|
|
511
|
+
sim_burst
|
|
512
|
+
JOIN coinc_event_map AS a ON (
|
|
513
|
+
a.table_name == "sim_burst"
|
|
514
|
+
AND a.event_id == sim_burst.simulation_id
|
|
515
|
+
)
|
|
516
|
+
JOIN coinc_event_map AS b ON (
|
|
517
|
+
b.coinc_event_id == a.coinc_event_id
|
|
518
|
+
)
|
|
519
|
+
JOIN coinc_event ON (
|
|
520
|
+
b.table_name == "coinc_event"
|
|
521
|
+
AND b.event_id == coinc_event.coinc_event_id
|
|
522
|
+
)
|
|
523
|
+
WHERE
|
|
524
|
+
coinc_event.coinc_def_id == ?
|
|
525
|
+
GROUP BY
|
|
526
|
+
sim_burst.simulation_id
|
|
527
|
+
""", (coinc_def_id,))
|
|
528
|
+
cursor.close()
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
def create_sim_burst_best_string_sngl_map(connection, coinc_def_id):
|
|
532
|
+
"""
|
|
533
|
+
Construct a sim_burst --> best matching coinc_event mapping.
|
|
534
|
+
"""
|
|
535
|
+
connection.cursor().execute("""
|
|
536
|
+
CREATE TEMPORARY TABLE
|
|
537
|
+
sim_burst_best_string_sngl_map
|
|
538
|
+
AS
|
|
539
|
+
SELECT
|
|
540
|
+
sim_burst.simulation_id AS simulation_id,
|
|
541
|
+
(
|
|
542
|
+
SELECT
|
|
543
|
+
sngl_burst.event_id
|
|
544
|
+
FROM
|
|
545
|
+
coinc_event_map AS a
|
|
546
|
+
JOIN coinc_event_map AS b ON (
|
|
547
|
+
b.coinc_event_id == a.coinc_event_id
|
|
548
|
+
)
|
|
549
|
+
JOIN coinc_event ON (
|
|
550
|
+
coinc_event.coinc_event_id == a.coinc_event_id
|
|
551
|
+
)
|
|
552
|
+
JOIN sngl_burst ON (
|
|
553
|
+
b.table_name == 'sngl_burst'
|
|
554
|
+
AND b.event_id == sngl_burst.event_id
|
|
555
|
+
)
|
|
556
|
+
WHERE
|
|
557
|
+
a.table_name == 'sim_burst'
|
|
558
|
+
AND a.event_id == sim_burst.simulation_id
|
|
559
|
+
AND coinc_event.coinc_def_id == ?
|
|
560
|
+
ORDER BY
|
|
561
|
+
(sngl_burst.chisq / sngl_burst.chisq_dof) / (sngl_burst.snr * sngl_burst.snr)
|
|
562
|
+
LIMIT 1
|
|
563
|
+
) AS event_id
|
|
564
|
+
FROM
|
|
565
|
+
sim_burst
|
|
566
|
+
WHERE
|
|
567
|
+
event_id IS NOT NULL
|
|
568
|
+
""", (coinc_def_id,))
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
def create_sim_burst_best_string_coinc_map(connection, coinc_def_id):
|
|
572
|
+
"""
|
|
573
|
+
Construct a sim_burst --> best matching coinc_event mapping for
|
|
574
|
+
string cusp injections and coincs.
|
|
575
|
+
"""
|
|
576
|
+
# FIXME: this hasn't finished being ported from the inspiral code
|
|
577
|
+
connection.cursor().execute("""
|
|
578
|
+
CREATE TEMPORARY TABLE
|
|
579
|
+
sim_burst_best_string_coinc_map
|
|
580
|
+
AS
|
|
581
|
+
SELECT
|
|
582
|
+
sim_burst.simulation_id AS simulation_id,
|
|
583
|
+
(
|
|
584
|
+
SELECT
|
|
585
|
+
coinc_inspiral.coinc_event_id
|
|
586
|
+
FROM
|
|
587
|
+
coinc_event_map AS a
|
|
588
|
+
JOIN coinc_event_map AS b ON (
|
|
589
|
+
b.coinc_event_id == a.coinc_event_id
|
|
590
|
+
)
|
|
591
|
+
JOIN coinc_inspiral ON (
|
|
592
|
+
b.table_name == 'coinc_event'
|
|
593
|
+
AND b.event_id == coinc_inspiral.coinc_event_id
|
|
594
|
+
)
|
|
595
|
+
WHERE
|
|
596
|
+
a.table_name == 'sim_burst'
|
|
597
|
+
AND a.event_id == sim_burst.simulation_id
|
|
598
|
+
AND coinc_event.coinc_def_id == ?
|
|
599
|
+
ORDER BY
|
|
600
|
+
(sngl_burst.chisq / sngl_burst.chisq_dof) / (sngl_burst.snr * sngl_burst.snr)
|
|
601
|
+
LIMIT 1
|
|
602
|
+
) AS coinc_event_id
|
|
603
|
+
FROM
|
|
604
|
+
sim_burst
|
|
605
|
+
WHERE
|
|
606
|
+
coinc_event_id IS NOT NULL
|
|
607
|
+
""", (coinc_def_id,))
|