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
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
# Copyright (C) 2007,2016--2018,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 math
|
|
28
|
+
import sys
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
import lal
|
|
32
|
+
from lal import rate
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
from . import SnglBurstUtils
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
__author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
|
|
39
|
+
from .git_version import date as __date__
|
|
40
|
+
from .git_version import version as __version__
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
#
|
|
44
|
+
# =============================================================================
|
|
45
|
+
#
|
|
46
|
+
# Misc.
|
|
47
|
+
#
|
|
48
|
+
# =============================================================================
|
|
49
|
+
#
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def on_instruments(sim, seglists, offsetvector):
|
|
53
|
+
"""
|
|
54
|
+
Return a set of the names of the instruments that were on at the
|
|
55
|
+
time of the injection.
|
|
56
|
+
"""
|
|
57
|
+
return set(instrument for instrument, seglist in seglists.items() if sim.time_at_instrument(instrument, offsetvector) in seglist)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
#
|
|
61
|
+
# =============================================================================
|
|
62
|
+
#
|
|
63
|
+
# Amplitudes in Instrument
|
|
64
|
+
#
|
|
65
|
+
# =============================================================================
|
|
66
|
+
#
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def hrss_in_instrument(sim, instrument, offsetvector):
|
|
70
|
+
"""
|
|
71
|
+
Given an injection and an instrument, compute and return the h_rss
|
|
72
|
+
of the injection as should be observed in the instrument. That is,
|
|
73
|
+
project the waveform onto the instrument, and return the root
|
|
74
|
+
integrated strain squared.
|
|
75
|
+
"""
|
|
76
|
+
# FIXME: this function is really only correct for sine-Gaussian
|
|
77
|
+
# injections. that's OK because I only quote sensitivities in
|
|
78
|
+
# units of hrss when discussing sine-Gaussians.
|
|
79
|
+
#
|
|
80
|
+
# the problem is the following. first,
|
|
81
|
+
#
|
|
82
|
+
# h = F+ h+ + Fx hx
|
|
83
|
+
#
|
|
84
|
+
# so
|
|
85
|
+
#
|
|
86
|
+
# h^{2} = F+^2 h+^2 + Fx^2 hx^2 + 2 F+ Fx h+ hx
|
|
87
|
+
#
|
|
88
|
+
# which means to calculate the hrss in the instrument you need to
|
|
89
|
+
# know: mean-square h in the + polarization, mean-square h in the
|
|
90
|
+
# x polarization, and the correlation between the polarizations <h+
|
|
91
|
+
# hx>. these could be recorded in the sim_burst table, but they
|
|
92
|
+
# aren't at present.
|
|
93
|
+
|
|
94
|
+
# semimajor and semiminor axes of polarization ellipse
|
|
95
|
+
|
|
96
|
+
a = 1.0 / math.sqrt(2.0 - sim.pol_ellipse_e**2)
|
|
97
|
+
b = a * math.sqrt(1.0 - sim.pol_ellipse_e**2)
|
|
98
|
+
|
|
99
|
+
# hrss in plus and cross polarizations
|
|
100
|
+
|
|
101
|
+
hplusrss = sim.hrss * (a * math.cos(sim.pol_ellipse_angle) - b * math.sin(sim.pol_ellipse_angle))
|
|
102
|
+
hcrossrss = sim.hrss * (b * math.cos(sim.pol_ellipse_angle) + a * math.sin(sim.pol_ellipse_angle))
|
|
103
|
+
|
|
104
|
+
# antenna response factors
|
|
105
|
+
|
|
106
|
+
fplus, fcross = lal.ComputeDetAMResponse(
|
|
107
|
+
lal.cached_detector_by_prefix[instrument].response,
|
|
108
|
+
sim.ra,
|
|
109
|
+
sim.dec,
|
|
110
|
+
sim.psi,
|
|
111
|
+
lal.GreenwichMeanSiderealTime(sim.time_at_instrument(instrument, offsetvector))
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
# hrss in detector
|
|
115
|
+
|
|
116
|
+
return math.sqrt((fplus * hplusrss)**2 + (fcross * hcrossrss)**2)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def string_amplitude_in_instrument(sim, instrument, offsetvector):
|
|
120
|
+
"""
|
|
121
|
+
Given a string cusp injection and an instrument, compute and return
|
|
122
|
+
the amplitude of the injection as should be observed in the
|
|
123
|
+
instrument.
|
|
124
|
+
"""
|
|
125
|
+
assert sim.waveform == "StringCusp"
|
|
126
|
+
|
|
127
|
+
# antenna response factors
|
|
128
|
+
|
|
129
|
+
fplus, fcross = lal.ComputeDetAMResponse(
|
|
130
|
+
lal.cached_detector_by_prefix[instrument].response,
|
|
131
|
+
sim.ra,
|
|
132
|
+
sim.dec,
|
|
133
|
+
sim.psi,
|
|
134
|
+
lal.GreenwichMeanSiderealTime(sim.time_at_instrument(instrument, offsetvector))
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
# amplitude in detector
|
|
138
|
+
|
|
139
|
+
return fplus * sim.amplitude
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
#
|
|
143
|
+
# =============================================================================
|
|
144
|
+
#
|
|
145
|
+
# Efficiency Contours
|
|
146
|
+
#
|
|
147
|
+
# =============================================================================
|
|
148
|
+
#
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
#
|
|
152
|
+
# typical width of a string cusp signal's autocorrelation function when the
|
|
153
|
+
# signal is normalized to the interferometer noise (whitened). this is
|
|
154
|
+
# used to provide a window around each injection for the purpose of
|
|
155
|
+
# identifying burst events that match the injection. this number is
|
|
156
|
+
# O(1/f_{bucket}).
|
|
157
|
+
#
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
stringcusp_autocorrelation_width = .016 # seconds
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
#
|
|
164
|
+
# used to find burst events near injections for the purpose of producing a
|
|
165
|
+
# short list of coinc events for use in more costly comparisons
|
|
166
|
+
#
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
burst_is_near_injection_window = 2.0 # seconds
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
#
|
|
173
|
+
# h_{rss} vs. peak frequency
|
|
174
|
+
#
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
class Efficiency_hrss_vs_freq(object):
|
|
178
|
+
def __init__(self, instruments, amplitude_func, amplitude_lbl, error):
|
|
179
|
+
self.instruments = set(instruments)
|
|
180
|
+
self.amplitude_func = amplitude_func
|
|
181
|
+
self.amplitude_lbl = amplitude_lbl
|
|
182
|
+
self.error = error
|
|
183
|
+
self.injected_x = []
|
|
184
|
+
self.injected_y = []
|
|
185
|
+
self.found_x = []
|
|
186
|
+
self.found_y = []
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
def add_contents(self, contents):
|
|
190
|
+
# FIXME: the first left outer join can yield multiple
|
|
191
|
+
# rows.
|
|
192
|
+
cursor = contents.connection.cursor()
|
|
193
|
+
for values in contents.connection.cursor().execute("""
|
|
194
|
+
SELECT
|
|
195
|
+
sim_burst.*,
|
|
196
|
+
coinc_event.coinc_event_id
|
|
197
|
+
FROM
|
|
198
|
+
sim_burst
|
|
199
|
+
-- The rest of this join can yield at most 1 row for each sim_burst
|
|
200
|
+
-- row
|
|
201
|
+
LEFT OUTER JOIN coinc_event_map ON (
|
|
202
|
+
coinc_event_map.table_name == 'sim_burst'
|
|
203
|
+
AND coinc_event_map.event_id == sim_burst.simulation_id
|
|
204
|
+
)
|
|
205
|
+
LEFT OUTER JOIN coinc_event ON (
|
|
206
|
+
coinc_event.coinc_event_id == coinc_event_map.coinc_event_id
|
|
207
|
+
)
|
|
208
|
+
WHERE
|
|
209
|
+
coinc_event.coinc_def_id == ?
|
|
210
|
+
""", (contents.sb_definer_id,)):
|
|
211
|
+
sim = contents.sim_burst_table.row_from_cols(values)
|
|
212
|
+
coinc_event_id = values[-1]
|
|
213
|
+
instruments = set(cursor.execute("""
|
|
214
|
+
SELECT
|
|
215
|
+
sngl_burst.ifo
|
|
216
|
+
FROM
|
|
217
|
+
coinc_event_map
|
|
218
|
+
JOIN sngl_burst ON (
|
|
219
|
+
coinc_event_map.table_name == 'sngl_burst'
|
|
220
|
+
AND coinc_event_map.event_id == sngl_burst.event_id
|
|
221
|
+
)
|
|
222
|
+
WHERE
|
|
223
|
+
coinc_event_map.coinc_event_id == ?
|
|
224
|
+
""", (coinc_event_id,)))
|
|
225
|
+
found = self.instruments.issubset(instruments)
|
|
226
|
+
# FIXME: this following assumes all injections are
|
|
227
|
+
# done at zero lag (which is correct, for now, but
|
|
228
|
+
# watch out for this)
|
|
229
|
+
if injection_was_made(sim, contents.seglists, self.instruments):
|
|
230
|
+
for instrument in self.instruments:
|
|
231
|
+
amplitude = self.amplitude_func(sim, instrument)
|
|
232
|
+
self.injected_x.append(sim.frequency)
|
|
233
|
+
self.injected_y.append(amplitude)
|
|
234
|
+
if found:
|
|
235
|
+
self.found_x.append(sim.frequency)
|
|
236
|
+
self.found_y.append(amplitude)
|
|
237
|
+
elif found:
|
|
238
|
+
print("odd, injection %s was found in %s but not injected..." % (sim.simulation_id, "+".join(self.instruments)), file=sys.stderr)
|
|
239
|
+
|
|
240
|
+
def _bin_events(self, binning = None):
|
|
241
|
+
# called internally by finish()
|
|
242
|
+
if binning is None:
|
|
243
|
+
minx, maxx = min(self.injected_x), max(self.injected_x)
|
|
244
|
+
miny, maxy = min(self.injected_y), max(self.injected_y)
|
|
245
|
+
binning = rate.NDBins((rate.LogarithmicBins(minx, maxx, 256), rate.LogarithmicBins(miny, maxy, 256)))
|
|
246
|
+
|
|
247
|
+
self.efficiency = rate.BinnedRatios(binning)
|
|
248
|
+
|
|
249
|
+
for xy in zip(self.injected_x, self.injected_y):
|
|
250
|
+
self.efficiency.incdenominator(xy)
|
|
251
|
+
for xy in zip(self.found_x, self.found_y):
|
|
252
|
+
self.efficiency.incnumerator(xy)
|
|
253
|
+
|
|
254
|
+
# 1 / error^2 is the number of injections that need to be
|
|
255
|
+
# within the window in order for the fractional uncertainty
|
|
256
|
+
# in that number to be = error. multiplying by
|
|
257
|
+
# bins_per_inj tells us how many bins the window needs to
|
|
258
|
+
# cover, and taking the square root translates that into
|
|
259
|
+
# the window's length on a side in bins. because the
|
|
260
|
+
# contours tend to run parallel to the x axis, the window
|
|
261
|
+
# is dilated in that direction to improve resolution.
|
|
262
|
+
|
|
263
|
+
bins_per_inj = self.efficiency.used() / float(len(self.injected_x))
|
|
264
|
+
self.window_size_x = self.window_size_y = math.sqrt(bins_per_inj / self.error**2)
|
|
265
|
+
self.window_size_x *= math.sqrt(2)
|
|
266
|
+
self.window_size_y /= math.sqrt(2)
|
|
267
|
+
if self.window_size_x > 100 or self.window_size_y > 100:
|
|
268
|
+
# program will take too long to run
|
|
269
|
+
raise ValueError("smoothing filter too large (not enough injections)")
|
|
270
|
+
|
|
271
|
+
print("The smoothing window for %s is %g x %g bins" % ("+".join(self.instruments), self.window_size_x, self.window_size_y), end=' ', file=sys.stderr)
|
|
272
|
+
print("which is %g%% x %g%% of the binning" % (100.0 * self.window_size_x / binning[0].n, 100.0 * self.window_size_y / binning[1].n), file=sys.stderr)
|
|
273
|
+
|
|
274
|
+
def finish(self, binning = None):
|
|
275
|
+
# compute the binning if needed, and set the injections
|
|
276
|
+
# into the numerator and denominator bins. also compute
|
|
277
|
+
# the smoothing window's parameters.
|
|
278
|
+
|
|
279
|
+
self._bin_events(binning)
|
|
280
|
+
|
|
281
|
+
# smooth the efficiency data.
|
|
282
|
+
print("Sum of numerator bins before smoothing = %g" % self.efficiency.numerator.array.sum(), file=sys.stderr)
|
|
283
|
+
print("Sum of denominator bins before smoothing = %g" % self.efficiency.denominator.array.sum(), file=sys.stderr)
|
|
284
|
+
rate.filter_binned_ratios(self.efficiency, rate.gaussian_window(self.window_size_x, self.window_size_y))
|
|
285
|
+
print("Sum of numerator bins after smoothing = %g" % self.efficiency.numerator.array.sum(), file=sys.stderr)
|
|
286
|
+
print("Sum of denominator bins after smoothing = %g" % self.efficiency.denominator.array.sum(), file=sys.stderr)
|
|
287
|
+
|
|
288
|
+
# regularize to prevent divide-by-zero errors
|
|
289
|
+
self.efficiency.regularize()
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
def plot_Efficiency_hrss_vs_freq(efficiency):
|
|
293
|
+
"""
|
|
294
|
+
Generate a plot from an Efficiency_hrss_vs_freq instance.
|
|
295
|
+
"""
|
|
296
|
+
fig, axes = SnglBurstUtils.make_burst_plot("Frequency (Hz)", efficiency.amplitude_lbl)
|
|
297
|
+
axes.loglog()
|
|
298
|
+
|
|
299
|
+
xcoords, ycoords = efficiency.efficiency.centres()
|
|
300
|
+
zvals = efficiency.efficiency.ratio()
|
|
301
|
+
cset = axes.contour(xcoords, ycoords, zvals.T, (.1, .2, .3, .4, .5, .6, .7, .8, .9))
|
|
302
|
+
cset.clabel(inline = True, fontsize = 5, fmt = r"$%%g \pm %g$" % efficiency.error, colors = "k")
|
|
303
|
+
axes.set_title(r"%s Injection Detection Efficiency (%d of %d Found)" % ("+".join(sorted(efficiency.instruments)), len(efficiency.found_x), len(efficiency.injected_x)))
|
|
304
|
+
return fig
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
#
|
|
308
|
+
# =============================================================================
|
|
309
|
+
#
|
|
310
|
+
# Source Co-ordinates
|
|
311
|
+
#
|
|
312
|
+
# =============================================================================
|
|
313
|
+
#
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
#
|
|
317
|
+
# Location of the galactic core
|
|
318
|
+
# ra = 27940.04 s = 7 h 45 m 40.04 s
|
|
319
|
+
# dec = -29o 00' 28.1"
|
|
320
|
+
#
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
MW_CENTER_J2000_RA_RAD = 2.0318570464121519
|
|
324
|
+
MW_CENTER_J2000_DEC_RAD = -0.50628171572274738
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
# Copyright (C) 2005-2013,2016,2017-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
|
+
# Preamble
|
|
21
|
+
#
|
|
22
|
+
# =============================================================================
|
|
23
|
+
#
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
import itertools
|
|
27
|
+
import math
|
|
28
|
+
import matplotlib
|
|
29
|
+
matplotlib.rcParams.update({
|
|
30
|
+
"font.size": 8.0,
|
|
31
|
+
"axes.titlesize": 10.0,
|
|
32
|
+
"axes.labelsize": 10.0,
|
|
33
|
+
"xtick.labelsize": 8.0,
|
|
34
|
+
"ytick.labelsize": 8.0,
|
|
35
|
+
"legend.fontsize": 8.0,
|
|
36
|
+
"figure.dpi": 600,
|
|
37
|
+
"savefig.dpi": 600,
|
|
38
|
+
"text.usetex": True # render all text with TeX
|
|
39
|
+
})
|
|
40
|
+
from matplotlib import figure
|
|
41
|
+
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
|
|
42
|
+
import re
|
|
43
|
+
import sys
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
from igwn_ligolw import lsctables
|
|
47
|
+
from igwn_ligolw import dbtables
|
|
48
|
+
from igwn_ligolw.utils import search_summary as ligolw_search_summary
|
|
49
|
+
from igwn_ligolw.utils import segments as ligolw_segments
|
|
50
|
+
from .offsetvector import offsetvector
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
__author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
|
|
54
|
+
from .git_version import date as __date__
|
|
55
|
+
from .git_version import version as __version__
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
#
|
|
59
|
+
# =============================================================================
|
|
60
|
+
#
|
|
61
|
+
# Database
|
|
62
|
+
#
|
|
63
|
+
# =============================================================================
|
|
64
|
+
#
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class CoincDatabase(object):
|
|
68
|
+
def __init__(self, connection, live_time_program, search = "excesspower", veto_segments_name = None):
|
|
69
|
+
"""
|
|
70
|
+
Compute and record some summary information about the
|
|
71
|
+
database. Call this after all the data has been inserted,
|
|
72
|
+
and before you want any of this information.
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
self.connection = connection
|
|
76
|
+
self.xmldoc = dbtables.get_xml(connection)
|
|
77
|
+
|
|
78
|
+
# find the tables
|
|
79
|
+
try:
|
|
80
|
+
self.sngl_burst_table = lsctables.SnglBurstTable.get_table(self.xmldoc)
|
|
81
|
+
except ValueError:
|
|
82
|
+
self.sngl_burst_table = None
|
|
83
|
+
try:
|
|
84
|
+
self.sim_burst_table = lsctables.SimBurstTable.get_table(self.xmldoc)
|
|
85
|
+
except ValueError:
|
|
86
|
+
self.sim_burst_table = None
|
|
87
|
+
try:
|
|
88
|
+
self.coinc_def_table = lsctables.CoincDefTable.get_table(self.xmldoc)
|
|
89
|
+
self.coinc_table = lsctables.CoincTable.get_table(self.xmldoc)
|
|
90
|
+
self.time_slide_table = lsctables.TimeSlideTable.get_table(self.xmldoc)
|
|
91
|
+
except ValueError:
|
|
92
|
+
self.coinc_def_table = None
|
|
93
|
+
self.coinc_table = None
|
|
94
|
+
self.time_slide_table = None
|
|
95
|
+
try:
|
|
96
|
+
self.multi_burst_table = lsctables.MultiBurstTable.get_table(self.xmldoc)
|
|
97
|
+
except ValueError:
|
|
98
|
+
self.multi_burst_table = None
|
|
99
|
+
|
|
100
|
+
# get the segment lists
|
|
101
|
+
self.seglists = ligolw_search_summary.segmentlistdict_fromsearchsummary(self.xmldoc, live_time_program).coalesce()
|
|
102
|
+
self.instruments = set(self.seglists.keys())
|
|
103
|
+
if veto_segments_name is not None:
|
|
104
|
+
self.vetoseglists = ligolw_segments.segmenttable_get_by_name(self.xmldoc, veto_segments_name).coalesce()
|
|
105
|
+
else:
|
|
106
|
+
self.vetoseglists = ligolw_segments.segments.segmentlistdict()
|
|
107
|
+
|
|
108
|
+
# determine a few coinc_definer IDs
|
|
109
|
+
# FIXME: don't hard-code the numbers
|
|
110
|
+
if self.coinc_def_table is not None:
|
|
111
|
+
try:
|
|
112
|
+
self.bb_definer_id = self.coinc_def_table.get_coinc_def_id(search, 0, create_new = False)
|
|
113
|
+
except KeyError:
|
|
114
|
+
self.bb_definer_id = None
|
|
115
|
+
try:
|
|
116
|
+
self.sb_definer_id = self.coinc_def_table.get_coinc_def_id(search, 1, create_new = False)
|
|
117
|
+
except KeyError:
|
|
118
|
+
self.sb_definer_id = None
|
|
119
|
+
try:
|
|
120
|
+
self.sce_definer_id = self.coinc_def_table.get_coinc_def_id(search, 2, create_new = False)
|
|
121
|
+
except KeyError:
|
|
122
|
+
self.sce_definer_id = None
|
|
123
|
+
try:
|
|
124
|
+
self.scn_definer_id = self.coinc_def_table.get_coinc_def_id(search, 3, create_new = False)
|
|
125
|
+
except KeyError:
|
|
126
|
+
self.scn_definer_id = None
|
|
127
|
+
else:
|
|
128
|
+
self.bb_definer_id = None
|
|
129
|
+
self.sb_definer_id = None
|
|
130
|
+
self.sce_definer_id = None
|
|
131
|
+
self.scn_definer_id = None
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
def get_noninjections(self):
|
|
135
|
+
"""
|
|
136
|
+
Generator function to return
|
|
137
|
+
|
|
138
|
+
is_background, event_list, offsetvector
|
|
139
|
+
|
|
140
|
+
tuples by querying the coinc_event and sngl_burst tables in
|
|
141
|
+
the database. Only coincs corresponding to
|
|
142
|
+
sngl_burst<-->sngl_burst coincs will be retrieved.
|
|
143
|
+
"""
|
|
144
|
+
cursor = self.connection.cursor()
|
|
145
|
+
for coinc_event_id, time_slide_id in self.connection.cursor().execute("""
|
|
146
|
+
SELECT
|
|
147
|
+
coinc_event_id,
|
|
148
|
+
time_slide_id
|
|
149
|
+
FROM
|
|
150
|
+
coinc_event
|
|
151
|
+
WHERE
|
|
152
|
+
coinc_def_id == ?
|
|
153
|
+
""", (self.bb_definer_id,)):
|
|
154
|
+
rows = [(self.sngl_burst_table.row_from_cols(row), row[-1]) for row in cursor.execute("""
|
|
155
|
+
SELECT
|
|
156
|
+
sngl_burst.*,
|
|
157
|
+
time_slide.offset
|
|
158
|
+
FROM
|
|
159
|
+
coinc_event_map
|
|
160
|
+
JOIN sngl_burst ON (
|
|
161
|
+
coinc_event_map.table_name == 'sngl_burst'
|
|
162
|
+
AND sngl_burst.event_id == coinc_event_map.event_id
|
|
163
|
+
)
|
|
164
|
+
JOIN time_slide ON (
|
|
165
|
+
time_slide.instrument == sngl_burst.ifo
|
|
166
|
+
)
|
|
167
|
+
WHERE
|
|
168
|
+
coinc_event_map.coinc_event_id == ?
|
|
169
|
+
AND time_slide.time_slide_id == ?
|
|
170
|
+
""", (coinc_event_id, time_slide_id))]
|
|
171
|
+
offsets = offsetvector((event.ifo, offset) for event, offset in rows)
|
|
172
|
+
yield any(offsets.values()), [event for event, offset in rows], offsets
|
|
173
|
+
cursor.close()
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
def get_injections(self):
|
|
177
|
+
"""
|
|
178
|
+
Generator function to return
|
|
179
|
+
|
|
180
|
+
sim, event_list, offsetvector
|
|
181
|
+
|
|
182
|
+
tuples by querying the sim_burst, coinc_event and
|
|
183
|
+
sngl_burst tables in the database. Only coincs
|
|
184
|
+
corresponding to "exact" sim_burst<-->coinc_event coincs
|
|
185
|
+
will be retrieved.
|
|
186
|
+
"""
|
|
187
|
+
cursor = self.connection.cursor()
|
|
188
|
+
for values in self.connection.cursor().execute("""
|
|
189
|
+
SELECT
|
|
190
|
+
sim_burst.*,
|
|
191
|
+
burst_coinc_event_map.event_id
|
|
192
|
+
FROM
|
|
193
|
+
sim_burst
|
|
194
|
+
JOIN coinc_event_map AS sim_coinc_event_map ON (
|
|
195
|
+
sim_coinc_event_map.table_name == 'sim_burst'
|
|
196
|
+
AND sim_coinc_event_map.event_id == sim_burst.simulation_id
|
|
197
|
+
)
|
|
198
|
+
JOIN coinc_event AS sim_coinc_event ON (
|
|
199
|
+
sim_coinc_event.coinc_event_id == sim_coinc_event_map.coinc_event_id
|
|
200
|
+
)
|
|
201
|
+
JOIN coinc_event_map AS burst_coinc_event_map ON (
|
|
202
|
+
burst_coinc_event_map.coinc_event_id == sim_coinc_event_map.coinc_event_id
|
|
203
|
+
AND burst_coinc_event_map.table_name == 'coinc_event'
|
|
204
|
+
)
|
|
205
|
+
WHERE
|
|
206
|
+
sim_coinc_event.coinc_def_id == ?
|
|
207
|
+
""", (self.sce_definer_id,)):
|
|
208
|
+
# retrieve the injection and the coinc_event_id
|
|
209
|
+
sim = self.sim_burst_table.row_from_cols(values)
|
|
210
|
+
coinc_event_id = values[-1]
|
|
211
|
+
|
|
212
|
+
# retrieve the list of the sngl_bursts in this
|
|
213
|
+
# coinc, and their time slide dictionary
|
|
214
|
+
rows = [(self.sngl_burst_table.row_from_cols(row), row[-1]) for row in cursor.execute("""
|
|
215
|
+
SELECT
|
|
216
|
+
sngl_burst.*,
|
|
217
|
+
time_slide.offset
|
|
218
|
+
FROM
|
|
219
|
+
sngl_burst
|
|
220
|
+
JOIN coinc_event_map ON (
|
|
221
|
+
coinc_event_map.table_name == 'sngl_burst'
|
|
222
|
+
AND coinc_event_map.event_id == sngl_burst.event_id
|
|
223
|
+
)
|
|
224
|
+
JOIN coinc_event ON (
|
|
225
|
+
coinc_event.coinc_event_id == coinc_event_map.coinc_event_id
|
|
226
|
+
)
|
|
227
|
+
JOIN time_slide ON (
|
|
228
|
+
coinc_event.time_slide_id == time_slide.time_slide_id
|
|
229
|
+
AND time_slide.instrument == sngl_burst.ifo
|
|
230
|
+
)
|
|
231
|
+
WHERE
|
|
232
|
+
coinc_event.coinc_event_id == ?
|
|
233
|
+
""", (coinc_event_id,))]
|
|
234
|
+
# pass the events to whatever wants them
|
|
235
|
+
yield sim, [event for event, offset in rows], offsetvector((event.ifo, offset) for event, offset in rows)
|
|
236
|
+
cursor.close()
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
def summarize_coinc_database(contents, filename = None):
|
|
240
|
+
if filename is None:
|
|
241
|
+
filename = ""
|
|
242
|
+
else:
|
|
243
|
+
filename = "%s: " % filename
|
|
244
|
+
cursor = contents.connection.cursor()
|
|
245
|
+
print("%sdatabase stats:" % filename, file=sys.stderr)
|
|
246
|
+
for instrument, seglist in sorted(contents.seglists.items()):
|
|
247
|
+
print("\t%s%s livetime: %g s (%g%% vetoed)" % (filename, instrument, abs(seglist), 100.0 * float(abs(instrument in contents.vetoseglists and (seglist & contents.vetoseglists[instrument]) or 0.0)) / float(abs(seglist))), file=sys.stderr)
|
|
248
|
+
if contents.sngl_burst_table is not None:
|
|
249
|
+
print("\t%sburst events: %d" % (filename, len(contents.sngl_burst_table)), file=sys.stderr)
|
|
250
|
+
if contents.sim_burst_table is not None:
|
|
251
|
+
print("\t%sburst injections: %d" % (filename, len(contents.sim_burst_table)), file=sys.stderr)
|
|
252
|
+
if contents.time_slide_table is not None:
|
|
253
|
+
print("\t%stime slides: %d" % (filename, cursor.execute("SELECT COUNT(DISTINCT(time_slide_id)) FROM time_slide").fetchone()[0]), file=sys.stderr)
|
|
254
|
+
if contents.coinc_def_table is not None:
|
|
255
|
+
for description, n in cursor.execute("SELECT description, COUNT(*) FROM coinc_definer NATURAL JOIN coinc_event GROUP BY coinc_def_id ORDER BY description"):
|
|
256
|
+
print("\t%s%s: %d" % (filename, description, n), file=sys.stderr)
|
|
257
|
+
cursor.close()
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
def coinc_sngl_bursts(contents, coinc_event_id):
|
|
261
|
+
for values in contents.connection.cursor().execute("""
|
|
262
|
+
SELECT sngl_burst.* FROM
|
|
263
|
+
sngl_burst
|
|
264
|
+
JOIN coinc_event_map ON (
|
|
265
|
+
sngl_burst.event_id == coinc_event_map.event_id
|
|
266
|
+
AND coinc_event_map.table_name == 'sngl_burst'
|
|
267
|
+
)
|
|
268
|
+
WHERE
|
|
269
|
+
coinc_event_map.coinc_event_id == ?
|
|
270
|
+
""", (coinc_event_id,)):
|
|
271
|
+
yield contents.sngl_burst_table.row_from_cols(values)
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
#
|
|
275
|
+
# =============================================================================
|
|
276
|
+
#
|
|
277
|
+
# Live Time Tools
|
|
278
|
+
#
|
|
279
|
+
# =============================================================================
|
|
280
|
+
#
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
def get_time_slides(connection):
|
|
284
|
+
"""
|
|
285
|
+
Query the database for the IDs and offsets of all time slides, and
|
|
286
|
+
return two dictionaries one containing the all-zero time slides and
|
|
287
|
+
the other containing the not-all-zero time slides.
|
|
288
|
+
"""
|
|
289
|
+
time_slides = dbtables.TimeSlideTable(connection = connection).as_dict()
|
|
290
|
+
|
|
291
|
+
zero_lag_time_slides = dict((time_slide_id, offsetvector) for time_slide_id, offsetvector in time_slides.items() if not any(offsetvector.values()))
|
|
292
|
+
background_time_slides = dict((time_slide_id, offsetvector) for time_slide_id, offsetvector in time_slides.items() if any(offsetvector.values()))
|
|
293
|
+
|
|
294
|
+
return zero_lag_time_slides, background_time_slides
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
def time_slides_livetime(seglists, time_slides, verbose = False):
|
|
298
|
+
"""
|
|
299
|
+
Given a sequence of time slides (each of which is an instrument -->
|
|
300
|
+
offset dictionary), use the segmentlistdict dictionary of segment
|
|
301
|
+
lists to compute the live time in each time slide. Return the sum
|
|
302
|
+
of the live times from all slides.
|
|
303
|
+
"""
|
|
304
|
+
livetime = 0.0
|
|
305
|
+
old_offsets = seglists.offsets.copy()
|
|
306
|
+
N = len(time_slides)
|
|
307
|
+
if verbose:
|
|
308
|
+
print("computing the live time for %d time slides:" % N, file=sys.stderr)
|
|
309
|
+
for n, time_slide in enumerate(time_slides):
|
|
310
|
+
if verbose:
|
|
311
|
+
print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
|
|
312
|
+
seglists.offsets.update(time_slide)
|
|
313
|
+
livetime += float(abs(seglists.intersection(time_slide.keys())))
|
|
314
|
+
seglists.offsets.update(old_offsets)
|
|
315
|
+
if verbose:
|
|
316
|
+
print("\t100.0%", file=sys.stderr)
|
|
317
|
+
return livetime
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
#
|
|
321
|
+
# =============================================================================
|
|
322
|
+
#
|
|
323
|
+
# TeX Helpers
|
|
324
|
+
#
|
|
325
|
+
# =============================================================================
|
|
326
|
+
#
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
floatpattern = re.compile("([+-]?[.0-9]+)[Ee]([+-]?[0-9]+)")
|
|
330
|
+
|
|
331
|
+
def latexnumber(s):
|
|
332
|
+
"""
|
|
333
|
+
Convert a string of the form "d.dddde-dd" to "d.dddd \\times
|
|
334
|
+
10^{-dd}"
|
|
335
|
+
|
|
336
|
+
Example:
|
|
337
|
+
|
|
338
|
+
>>> import math
|
|
339
|
+
>>> print latexnumber("%.16e" % math.pi)
|
|
340
|
+
3.1415926535897931 \\times 10^{0}
|
|
341
|
+
"""
|
|
342
|
+
m, e = floatpattern.match(s).groups()
|
|
343
|
+
return r"%s \times 10^{%d}" % (m, int(e))
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
#
|
|
347
|
+
# =============================================================================
|
|
348
|
+
#
|
|
349
|
+
# Plots
|
|
350
|
+
#
|
|
351
|
+
# =============================================================================
|
|
352
|
+
#
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
def make_burst_plot(x_label, y_label, width = 165.0):
|
|
356
|
+
"""
|
|
357
|
+
width is in mm
|
|
358
|
+
"""
|
|
359
|
+
fig = figure.Figure()
|
|
360
|
+
FigureCanvas(fig)
|
|
361
|
+
# width mm wide, golden ratio high
|
|
362
|
+
fig.set_size_inches(width / 25.4, width / 25.4 / ((1 + math.sqrt(5)) / 2))
|
|
363
|
+
axes = fig.gca()
|
|
364
|
+
axes.grid(True)
|
|
365
|
+
axes.set_xlabel(x_label)
|
|
366
|
+
axes.set_ylabel(y_label)
|
|
367
|
+
return fig, axes
|
lalburst/__init__.py
ADDED
|
Binary file
|