lalsuite 7.26.2.dev20251210__cp312-cp312-macosx_12_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lal/.dylibs/Python +0 -0
- lal/.dylibs/libaec.0.dylib +0 -0
- lal/.dylibs/libbrotlicommon.1.2.0.dylib +0 -0
- lal/.dylibs/libbrotlidec.1.2.0.dylib +0 -0
- lal/.dylibs/libcfitsio.10.4.4.1.dylib +0 -0
- lal/.dylibs/libcrypto.3.dylib +0 -0
- lal/.dylibs/libcurl.4.dylib +0 -0
- lal/.dylibs/libfftw3.3.dylib +0 -0
- lal/.dylibs/libfftw3f.3.dylib +0 -0
- lal/.dylibs/libframel.8.48.4.dylib +0 -0
- lal/.dylibs/libgsl.28.dylib +0 -0
- lal/.dylibs/libgslcblas.0.dylib +0 -0
- lal/.dylibs/libhdf5.310.dylib +0 -0
- lal/.dylibs/libhdf5_hl.310.dylib +0 -0
- lal/.dylibs/libiconv.2.dylib +0 -0
- lal/.dylibs/libidn2.0.dylib +0 -0
- lal/.dylibs/libintl.8.dylib +0 -0
- lal/.dylibs/liblal.20.dylib +0 -0
- lal/.dylibs/liblalburst.8.dylib +0 -0
- lal/.dylibs/liblalframe.14.dylib +0 -0
- lal/.dylibs/liblalinference.23.dylib +0 -0
- lal/.dylibs/liblalinspiral.18.dylib +0 -0
- lal/.dylibs/liblalmetaio.11.dylib +0 -0
- lal/.dylibs/liblalpulsar.30.dylib +0 -0
- lal/.dylibs/liblalsimulation.37.dylib +0 -0
- lal/.dylibs/liblalsupport.14.dylib +0 -0
- lal/.dylibs/libmetaio.1.dylib +0 -0
- lal/.dylibs/libnghttp2.14.dylib +0 -0
- lal/.dylibs/libpsl.5.dylib +0 -0
- lal/.dylibs/libssl.3.dylib +0 -0
- lal/.dylibs/libsz.2.dylib +0 -0
- lal/.dylibs/libunistring.5.dylib +0 -0
- lal/.dylibs/libz.1.3.1.dylib +0 -0
- lal/.dylibs/libzstd.1.5.7.dylib +0 -0
- lal/__init__.py +145 -0
- lal/_lal.cpython-312-darwin.so +0 -0
- lal/_lal_swig.py +12 -0
- lal/antenna.py +1200 -0
- lal/git_version.py +64 -0
- lal/gpstime.py +233 -0
- lal/iterutils.py +408 -0
- lal/pipeline.py +3139 -0
- lal/rate.py +2455 -0
- lal/series.py +244 -0
- lal/utils/__init__.py +29 -0
- lal/utils/cache.py +379 -0
- lal/utils/series.py +277 -0
- lalapps/__init__.py +26 -0
- lalapps/bin/lal_cache +0 -0
- lalapps/bin/lal_fftw_wisdom +0 -0
- lalapps/bin/lal_fftwf_wisdom +0 -0
- lalapps/bin/lal_simd_detect +0 -0
- lalapps/bin/lal_tconvert +0 -0
- lalapps/bin/lal_version +0 -0
- lalapps/bin/lalapps_ComputeAntennaPattern +16 -0
- lalapps/bin/lalapps_ComputeFstatBenchmark +16 -0
- lalapps/bin/lalapps_ComputeFstatLatticeCount +16 -0
- lalapps/bin/lalapps_ComputeFstatMCUpperLimit +16 -0
- lalapps/bin/lalapps_ComputeFstatistic_v2 +16 -0
- lalapps/bin/lalapps_ComputePSD +16 -0
- lalapps/bin/lalapps_CopySFTs +16 -0
- lalapps/bin/lalapps_DistanceVsMass +0 -0
- lalapps/bin/lalapps_DriveHoughMulti +16 -0
- lalapps/bin/lalapps_FstatMetric_v2 +16 -0
- lalapps/bin/lalapps_HierarchSearchGCT +16 -0
- lalapps/bin/lalapps_HierarchicalSearch +16 -0
- lalapps/bin/lalapps_MakeSFTDAG +16 -0
- lalapps/bin/lalapps_MakeSFTs +16 -0
- lalapps/bin/lalapps_Makefakedata_v4 +16 -0
- lalapps/bin/lalapps_Makefakedata_v5 +16 -0
- lalapps/bin/lalapps_PredictFstat +16 -0
- lalapps/bin/lalapps_PrintDetectorState +16 -0
- lalapps/bin/lalapps_SFTclean +16 -0
- lalapps/bin/lalapps_SFTvalidate +16 -0
- lalapps/bin/lalapps_StringAddFrame +0 -0
- lalapps/bin/lalapps_StringSearch +0 -0
- lalapps/bin/lalapps_Weave +16 -0
- lalapps/bin/lalapps_WeaveCompare +16 -0
- lalapps/bin/lalapps_WeaveConcat +16 -0
- lalapps/bin/lalapps_WeaveSetup +16 -0
- lalapps/bin/lalapps_WriteSFTsfromSFDBs +16 -0
- lalapps/bin/lalapps_animate +0 -0
- lalapps/bin/lalapps_binj +0 -0
- lalapps/bin/lalapps_blindinj +0 -0
- lalapps/bin/lalapps_cache +16 -0
- lalapps/bin/lalapps_calfacs +0 -0
- lalapps/bin/lalapps_cbc_stochasticbank +0 -0
- lalapps/bin/lalapps_chirplen +0 -0
- lalapps/bin/lalapps_coh_PTF_inspiral +0 -0
- lalapps/bin/lalapps_coinj +0 -0
- lalapps/bin/lalapps_combine_crosscorr_toplists +16 -0
- lalapps/bin/lalapps_compareFstats +16 -0
- lalapps/bin/lalapps_compareSFTs +16 -0
- lalapps/bin/lalapps_create_time_correction_ephemeris +16 -0
- lalapps/bin/lalapps_dumpSFT +16 -0
- lalapps/bin/lalapps_effdist +0 -0
- lalapps/bin/lalapps_exc_resp +0 -0
- lalapps/bin/lalapps_fftw_wisdom +16 -0
- lalapps/bin/lalapps_fftwf_wisdom +16 -0
- lalapps/bin/lalapps_fits_header_getval +16 -0
- lalapps/bin/lalapps_fits_header_list +16 -0
- lalapps/bin/lalapps_fits_overview +16 -0
- lalapps/bin/lalapps_fits_table_list +16 -0
- lalapps/bin/lalapps_fr_ninja +0 -0
- lalapps/bin/lalapps_frextr +0 -0
- lalapps/bin/lalapps_frinfo +0 -0
- lalapps/bin/lalapps_frjoin +0 -0
- lalapps/bin/lalapps_frread +0 -0
- lalapps/bin/lalapps_frview +0 -0
- lalapps/bin/lalapps_gwf2xml +0 -0
- lalapps/bin/lalapps_heterodyne_pulsar +16 -0
- lalapps/bin/lalapps_inspawgfile +0 -0
- lalapps/bin/lalapps_inspfrinj +0 -0
- lalapps/bin/lalapps_inspinj +0 -0
- lalapps/bin/lalapps_inspiralDistance +0 -0
- lalapps/bin/lalapps_knope +16 -0
- lalapps/bin/lalapps_knope_automation_script +16 -0
- lalapps/bin/lalapps_knope_collate_results +16 -0
- lalapps/bin/lalapps_knope_result_page +16 -0
- lalapps/bin/lalapps_makeblindinj +85 -0
- lalapps/bin/lalapps_makeblindinj_himass +67 -0
- lalapps/bin/lalapps_ninja +0 -0
- lalapps/bin/lalapps_path2cache +16 -0
- lalapps/bin/lalapps_power +0 -0
- lalapps/bin/lalapps_pulsar_crosscorr_v2 +16 -0
- lalapps/bin/lalapps_pulsar_frequency_evolution +16 -0
- lalapps/bin/lalapps_pulsar_parameter_estimation_nested +16 -0
- lalapps/bin/lalapps_random_bank +0 -0
- lalapps/bin/lalapps_randombank +0 -0
- lalapps/bin/lalapps_run_pulsar_crosscorr_v2 +16 -0
- lalapps/bin/lalapps_searchsum2cache +16 -0
- lalapps/bin/lalapps_spec_avg +16 -0
- lalapps/bin/lalapps_spec_avg_long +16 -0
- lalapps/bin/lalapps_spec_coherence +16 -0
- lalapps/bin/lalapps_spininj +0 -0
- lalapps/bin/lalapps_splitSFTs +16 -0
- lalapps/bin/lalapps_splitbank +0 -0
- lalapps/bin/lalapps_ssbtodetector +16 -0
- lalapps/bin/lalapps_synthesizeBstatMC +16 -0
- lalapps/bin/lalapps_synthesizeLVStats +16 -0
- lalapps/bin/lalapps_synthesizeTransientStats +16 -0
- lalapps/bin/lalapps_tconvert +16 -0
- lalapps/bin/lalapps_tmpltbank +0 -0
- lalapps/bin/lalapps_version +0 -0
- lalapps/bin/lalapps_xtefitstoframe +0 -0
- lalapps/bin/lalburst_version +0 -0
- lalapps/bin/lalfr-cat +0 -0
- lalapps/bin/lalfr-cksum +0 -0
- lalapps/bin/lalfr-cut +0 -0
- lalapps/bin/lalfr-dump +0 -0
- lalapps/bin/lalfr-fmt +0 -0
- lalapps/bin/lalfr-paste +0 -0
- lalapps/bin/lalfr-print +0 -0
- lalapps/bin/lalfr-split +0 -0
- lalapps/bin/lalfr-stat +0 -0
- lalapps/bin/lalfr-stream +0 -0
- lalapps/bin/lalfr-vis +0 -0
- lalapps/bin/lalframe_version +0 -0
- lalapps/bin/lalinference_bench +0 -0
- lalapps/bin/lalinference_burst +0 -0
- lalapps/bin/lalinference_datadump +0 -0
- lalapps/bin/lalinference_injectedlike +0 -0
- lalapps/bin/lalinference_mpi_wrapper +59 -0
- lalapps/bin/lalinference_nest +0 -0
- lalapps/bin/lalinference_version +0 -0
- lalapps/bin/lalinspiral_version +0 -0
- lalapps/bin/lalmetaio_version +0 -0
- lalapps/bin/lalpulsar_ComputeAntennaPattern +0 -0
- lalapps/bin/lalpulsar_ComputeFstatBenchmark +0 -0
- lalapps/bin/lalpulsar_ComputeFstatLatticeCount +0 -0
- lalapps/bin/lalpulsar_ComputeFstatMCUpperLimit +0 -0
- lalapps/bin/lalpulsar_ComputeFstatistic_v2 +0 -0
- lalapps/bin/lalpulsar_ComputePSD +0 -0
- lalapps/bin/lalpulsar_DriveHoughMulti +0 -0
- lalapps/bin/lalpulsar_FstatMetric_v2 +0 -0
- lalapps/bin/lalpulsar_HierarchSearchGCT +0 -0
- lalapps/bin/lalpulsar_HierarchicalSearch +0 -0
- lalapps/bin/lalpulsar_MakeSFTs +0 -0
- lalapps/bin/lalpulsar_Makefakedata_v4 +0 -0
- lalapps/bin/lalpulsar_Makefakedata_v5 +0 -0
- lalapps/bin/lalpulsar_PredictFstat +0 -0
- lalapps/bin/lalpulsar_PrintDetectorState +0 -0
- lalapps/bin/lalpulsar_SFTclean +0 -0
- lalapps/bin/lalpulsar_SFTvalidate +0 -0
- lalapps/bin/lalpulsar_Weave +0 -0
- lalapps/bin/lalpulsar_WeaveCompare +0 -0
- lalapps/bin/lalpulsar_WeaveConcat +0 -0
- lalapps/bin/lalpulsar_WeaveSetup +0 -0
- lalapps/bin/lalpulsar_WriteSFTsfromSFDBs +0 -0
- lalapps/bin/lalpulsar_compareFstats +0 -0
- lalapps/bin/lalpulsar_compareSFTs +0 -0
- lalapps/bin/lalpulsar_create_time_correction_ephemeris +0 -0
- lalapps/bin/lalpulsar_crosscorr_v2 +0 -0
- lalapps/bin/lalpulsar_dumpSFT +0 -0
- lalapps/bin/lalpulsar_fits_header_getval +0 -0
- lalapps/bin/lalpulsar_fits_header_list +0 -0
- lalapps/bin/lalpulsar_fits_overview +0 -0
- lalapps/bin/lalpulsar_fits_table_list +0 -0
- lalapps/bin/lalpulsar_frequency_evolution +0 -0
- lalapps/bin/lalpulsar_heterodyne +0 -0
- lalapps/bin/lalpulsar_parameter_estimation_nested +0 -0
- lalapps/bin/lalpulsar_spec_avg +0 -0
- lalapps/bin/lalpulsar_spec_avg_long +0 -0
- lalapps/bin/lalpulsar_spec_coherence +0 -0
- lalapps/bin/lalpulsar_splitSFTs +0 -0
- lalapps/bin/lalpulsar_ssbtodetector +0 -0
- lalapps/bin/lalpulsar_synthesizeBstatMC +0 -0
- lalapps/bin/lalpulsar_synthesizeLVStats +0 -0
- lalapps/bin/lalpulsar_synthesizeTransientStats +0 -0
- lalapps/bin/lalpulsar_version +0 -0
- lalapps/bin/lalsim-bh-qnmode +0 -0
- lalapps/bin/lalsim-bh-ringdown +0 -0
- lalapps/bin/lalsim-bh-sphwf +0 -0
- lalapps/bin/lalsim-burst +0 -0
- lalapps/bin/lalsim-detector-noise +0 -0
- lalapps/bin/lalsim-detector-strain +0 -0
- lalapps/bin/lalsim-inject +0 -0
- lalapps/bin/lalsim-inspiral +0 -0
- lalapps/bin/lalsim-ns-eos-table +0 -0
- lalapps/bin/lalsim-ns-mass-radius +0 -0
- lalapps/bin/lalsim-ns-params +0 -0
- lalapps/bin/lalsim-sgwb +0 -0
- lalapps/bin/lalsim-unicorn +0 -0
- lalapps/bin/lalsimulation_version +0 -0
- lalapps/cosmicstring.py +691 -0
- lalapps/data/BNSMasses.dat +65022 -0
- lalapps/data/CorrelationMatrix.csv +15 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF1_META.dat +1882 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF2_META.dat +1939 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF3_META.dat +1784 -0
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF4_META.dat +2074 -0
- lalapps/data/LALSimNeutronStarEOS_ALF1.dat +435 -0
- lalapps/data/LALSimNeutronStarEOS_ALF2.dat +453 -0
- lalapps/data/LALSimNeutronStarEOS_ALF3.dat +441 -0
- lalapps/data/LALSimNeutronStarEOS_ALF4.dat +441 -0
- lalapps/data/LALSimNeutronStarEOS_AP1.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP2.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP3.dat +212 -0
- lalapps/data/LALSimNeutronStarEOS_AP4.dat +210 -0
- lalapps/data/LALSimNeutronStarEOS_APR.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_APR4_EPP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_BBB2.dat +84 -0
- lalapps/data/LALSimNeutronStarEOS_BGN1H1.dat +123 -0
- lalapps/data/LALSimNeutronStarEOS_BHF_BBB2.dat +499 -0
- lalapps/data/LALSimNeutronStarEOS_BL_CHIRAL_META.dat +1534 -0
- lalapps/data/LALSimNeutronStarEOS_BPAL12.dat +61 -0
- lalapps/data/LALSimNeutronStarEOS_BSK19.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_BSK20.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_BSK21.dat +310 -0
- lalapps/data/LALSimNeutronStarEOS_ENG.dat +108 -0
- lalapps/data/LALSimNeutronStarEOS_FPS.dat +129 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_BSK14_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL59_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL69_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_F0_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H1_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H3_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H4_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_H5_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_LN55_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GMSR_SLY5_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GNH3.dat +71 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DD2_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DDME2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2H_BSK24.dat +1009 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GPPVA_NL3WRL55_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_GS1.dat +136 -0
- lalapps/data/LALSimNeutronStarEOS_GS2.dat +100 -0
- lalapps/data/LALSimNeutronStarEOS_H1.dat +114 -0
- lalapps/data/LALSimNeutronStarEOS_H2.dat +114 -0
- lalapps/data/LALSimNeutronStarEOS_H3.dat +98 -0
- lalapps/data/LALSimNeutronStarEOS_H4.dat +664 -0
- lalapps/data/LALSimNeutronStarEOS_H5.dat +703 -0
- lalapps/data/LALSimNeutronStarEOS_H6.dat +509 -0
- lalapps/data/LALSimNeutronStarEOS_H7.dat +703 -0
- lalapps/data/LALSimNeutronStarEOS_HQC18.dat +388 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V1.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V1_BSK24.dat +1388 -0
- lalapps/data/LALSimNeutronStarEOS_KDE0V_BSK24.dat +1398 -0
- lalapps/data/LALSimNeutronStarEOS_MPA1.dat +102 -0
- lalapps/data/LALSimNeutronStarEOS_MS1.dat +122 -0
- lalapps/data/LALSimNeutronStarEOS_MS1B.dat +126 -0
- lalapps/data/LALSimNeutronStarEOS_MS1B_PP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_MS1_PP.dat +1447 -0
- lalapps/data/LALSimNeutronStarEOS_MS2.dat +48 -0
- lalapps/data/LALSimNeutronStarEOS_PAL6.dat +148 -0
- lalapps/data/LALSimNeutronStarEOS_PCL2.dat +134 -0
- lalapps/data/LALSimNeutronStarEOS_PCP_BSK24_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_PS.dat +165 -0
- lalapps/data/LALSimNeutronStarEOS_QMC700.dat +117 -0
- lalapps/data/LALSimNeutronStarEOS_RG_SLY4_BSK24.dat +1010 -0
- lalapps/data/LALSimNeutronStarEOS_RS.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_RS_BSK24.dat +1356 -0
- lalapps/data/LALSimNeutronStarEOS_SK255.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SK255_BSK24.dat +1066 -0
- lalapps/data/LALSimNeutronStarEOS_SK272.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKA.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKA_BSK24.dat +1433 -0
- lalapps/data/LALSimNeutronStarEOS_SKB.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKB_BSK24.dat +1373 -0
- lalapps/data/LALSimNeutronStarEOS_SKI2.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI2_BSK24.dat +1348 -0
- lalapps/data/LALSimNeutronStarEOS_SKI3.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI3_BSK24.dat +1355 -0
- lalapps/data/LALSimNeutronStarEOS_SKI4.dat +497 -0
- lalapps/data/LALSimNeutronStarEOS_SKI4_BSK24.dat +1348 -0
- lalapps/data/LALSimNeutronStarEOS_SKI5.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI6.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKI6_BSK24.dat +1358 -0
- lalapps/data/LALSimNeutronStarEOS_SKMP.dat +498 -0
- lalapps/data/LALSimNeutronStarEOS_SKOP.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SKOP_BSK24.dat +1373 -0
- lalapps/data/LALSimNeutronStarEOS_SLY.dat +99 -0
- lalapps/data/LALSimNeutronStarEOS_SLY2.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SLY230A.dat +500 -0
- lalapps/data/LALSimNeutronStarEOS_SLY230A_BSK24.dat +1116 -0
- lalapps/data/LALSimNeutronStarEOS_SLY2_BSK24.dat +1106 -0
- lalapps/data/LALSimNeutronStarEOS_SLY4.dat +100 -0
- lalapps/data/LALSimNeutronStarEOS_SLY9.dat +498 -0
- lalapps/data/LALSimNeutronStarEOS_SLY9_BSK24.dat +1083 -0
- lalapps/data/LALSimNeutronStarEOS_SQM1.dat +176 -0
- lalapps/data/LALSimNeutronStarEOS_SQM2.dat +180 -0
- lalapps/data/LALSimNeutronStarEOS_SQM3.dat +176 -0
- lalapps/data/LALSimNeutronStarEOS_WFF1.dat +109 -0
- lalapps/data/LALSimNeutronStarEOS_WFF2.dat +109 -0
- lalapps/data/LALSimNeutronStarEOS_WFF3.dat +107 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDLZ1_BSK24.dat +1227 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDME2_BSK24.dat +1272 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDMEX_BSK24.dat +1280 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_GM1_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_MTVTC_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_NL3_BSK24.dat +1230 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_PKDD_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TM1_BSK24.dat +1288 -0
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TW99_BSK24.dat +1288 -0
- lalapps/data/LIGO-P1200087-v18-AdV_BNS_OPTIMIZED.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_DESIGN.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_EARLY_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_EARLY_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_LATE_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_LATE_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_MID_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-AdV_MID_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_BNS_OPTIMIZED.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_DESIGN.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_LOW.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_MID_HIGH.txt +3000 -0
- lalapps/data/LIGO-P1200087-v18-aLIGO_MID_LOW.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE_Pessimistic.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-CE_Wideband.txt +3000 -0
- lalapps/data/LIGO-P1600143-v18-ET_D.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-BHBH_20deg.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-High_Freq.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-NO_SRM.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-NSNS_Opt.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-ZERO_DET_high_P.txt +3000 -0
- lalapps/data/LIGO-T0900288-v3-ZERO_DET_low_P.txt +3000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Design.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Early.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Late.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Mid.txt +4000 -0
- lalapps/data/LIGO-T1600593-v1-KAGRA_Opening.txt +4000 -0
- lalapps/data/LIGO-T1800042-v5-aLIGO_APLUS.txt +3000 -0
- lalapps/data/LIGO-T1800044-v5-aLIGO_DESIGN.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O3low.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O4.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-AdV_O4intermediate.txt +3000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_128Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_25Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-KAGRA_80Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_140Mpc.txt +1000 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_175Mpc.txt +2792 -0
- lalapps/data/LIGO-T1800545-v1-aLIGO_O3low.txt +2792 -0
- lalapps/data/bimodalMeans.csv +3 -0
- lalapps/data/config_tiger_example.ini +150 -0
- lalapps/data/fiducialBBH.xml +67 -0
- lalapps/data/fiducialBNS.xml +67 -0
- lalapps/data/inspsrcs100Mpc.errors +38735 -0
- lalapps/data/lalinference_pipe_example.ini +573 -0
- lalapps/data/lib_pipe_example.ini +303 -0
- lalapps/data/power_pipe.ini +129 -0
- lalapps/data/unimodalMeans.csv +2 -0
- lalapps/git_version.py +64 -0
- lalburst/SimBurstUtils.py +324 -0
- lalburst/SnglBurstUtils.py +367 -0
- lalburst/__init__.py +7 -0
- lalburst/_lalburst.cpython-312-darwin.so +0 -0
- lalburst/_lalburst_swig.py +16 -0
- lalburst/binjfind.py +824 -0
- lalburst/bucluster.py +409 -0
- lalburst/burca.py +315 -0
- lalburst/burca_tailor.py +349 -0
- lalburst/cafe.py +579 -0
- lalburst/calc_likelihood.py +145 -0
- lalburst/cs_gamma.cpython-312-darwin.so +0 -0
- lalburst/date.py +118 -0
- lalburst/git_version.py +64 -0
- lalburst/offsetvector.py +278 -0
- lalburst/packing.py +170 -0
- lalburst/power.py +1457 -0
- lalburst/snglcluster.py +136 -0
- lalburst/snglcoinc.py +2637 -0
- lalburst/stringutils.py +607 -0
- lalburst/timeslides.py +236 -0
- lalframe/__init__.py +7 -0
- lalframe/_lalframe.cpython-312-darwin.so +0 -0
- lalframe/_lalframe_swig.py +14 -0
- lalframe/frread.py +324 -0
- lalframe/git_version.py +64 -0
- lalframe/utils/__init__.py +25 -0
- lalframe/utils/frtools.py +61 -0
- lalinference/__init__.py +7 -0
- lalinference/_bayespputils.cpython-312-darwin.so +0 -0
- lalinference/_lalinference.cpython-312-darwin.so +0 -0
- lalinference/_lalinference_swig.py +19 -0
- lalinference/bayespputils.py +7479 -0
- lalinference/bayestar/__init__.py +2 -0
- lalinference/bayestar/deprecation.py +72 -0
- lalinference/git_version.py +64 -0
- lalinference/imrtgr/__init__.py +0 -0
- lalinference/imrtgr/imrtgrutils.py +168 -0
- lalinference/imrtgr/nrutils.py +1366 -0
- lalinference/imrtgr/pneqns.py +250 -0
- lalinference/io/__init__.py +31 -0
- lalinference/io/hdf5.py +365 -0
- lalinference/lalinference_pipe_utils.py +3617 -0
- lalinference/nest2pos.py +151 -0
- lalinference/plot/__init__.py +34 -0
- lalinference/plot/spindisk.py +104 -0
- lalinference/tiger/__init__.py +0 -0
- lalinference/tiger/make_injtimes.py +634 -0
- lalinference/tiger/omegascans_dag.py +691 -0
- lalinference/tiger/postproc.py +1338 -0
- lalinference/wrapper.py +231 -0
- lalinspiral/__init__.py +7 -0
- lalinspiral/_lalinspiral.cpython-312-darwin.so +0 -0
- lalinspiral/_lalinspiral_swig.py +18 -0
- lalinspiral/_thinca.cpython-312-darwin.so +0 -0
- lalinspiral/git_version.py +64 -0
- lalinspiral/inspinjfind.py +485 -0
- lalinspiral/thinca.py +509 -0
- lalmetaio/__init__.py +7 -0
- lalmetaio/_lalmetaio.cpython-312-darwin.so +0 -0
- lalmetaio/_lalmetaio_swig.py +14 -0
- lalmetaio/git_version.py +64 -0
- lalpulsar/NstarTools.py +259 -0
- lalpulsar/PulsarParametersWrapper.py +938 -0
- lalpulsar/__init__.py +7 -0
- lalpulsar/_lalpulsar.cpython-312-darwin.so +0 -0
- lalpulsar/_lalpulsar_swig.py +17 -0
- lalpulsar/git_version.py +64 -0
- lalpulsar/knope_utils.py +6497 -0
- lalpulsar/lineFileParser.py +264 -0
- lalpulsar/metric_utils.py +78 -0
- lalpulsar/piecewise_model/__init__.py +7 -0
- lalpulsar/piecewise_model/basis_functions.py +156 -0
- lalpulsar/piecewise_model/class_definitions.py +323 -0
- lalpulsar/piecewise_model/errors.py +37 -0
- lalpulsar/piecewise_model/estimating_knots.py +833 -0
- lalpulsar/piecewise_model/gte_and_other_methods.py +189 -0
- lalpulsar/piecewise_model/mols_for_gte.py +269 -0
- lalpulsar/piecewise_model/pw_fstat.py +813 -0
- lalpulsar/piecewise_model/pw_model_simulations.py +156 -0
- lalpulsar/piecewise_model/sampling_methods.py +186 -0
- lalpulsar/piecewise_model/semicoherent_metric_methods.py +375 -0
- lalpulsar/piecewise_model/tbank_estimates.py +293 -0
- lalpulsar/public_sft_directory.py +82 -0
- lalpulsar/pulsarhtmlutils.py +1395 -0
- lalpulsar/pulsarpputils.py +3638 -0
- lalpulsar/simulateCW.py +602 -0
- lalpulsar/simulateHeterodynedCW.py +591 -0
- lalsimulation/__init__.py +7 -0
- lalsimulation/_lalsimulation.cpython-312-darwin.so +0 -0
- lalsimulation/_lalsimulation_swig.py +14 -0
- lalsimulation/git_version.py +64 -0
- lalsimulation/gwsignal/__init__.py +9 -0
- lalsimulation/gwsignal/core/__init__.py +2 -0
- lalsimulation/gwsignal/core/conditioning_subroutines.py +196 -0
- lalsimulation/gwsignal/core/errors.py +136 -0
- lalsimulation/gwsignal/core/gw.py +206 -0
- lalsimulation/gwsignal/core/parameter_conventions.py +122 -0
- lalsimulation/gwsignal/core/utils.py +329 -0
- lalsimulation/gwsignal/core/waveform.py +725 -0
- lalsimulation/gwsignal/core/waveform_conditioning.py +455 -0
- lalsimulation/gwsignal/models/__init__.py +29 -0
- lalsimulation/gwsignal/models/pyseobnr_model.py +452 -0
- lalsimulation/nrfits/NRSur3dq8Remnant.py +92 -0
- lalsimulation/nrfits/NRSur7dq4Remnant.py +469 -0
- lalsimulation/nrfits/__init__.py +1 -0
- lalsimulation/nrfits/eval_fits.py +364 -0
- lalsimulation/nrfits/nrfits.py +78 -0
- lalsimulation/nrfits/pn_spin_evolution_wrapper.py +92 -0
- lalsimulation/nrfits/quaternion_utils.py +74 -0
- lalsimulation/tilts_at_infinity/__init__.py +2 -0
- lalsimulation/tilts_at_infinity/calc_tilts_prec_avg_regularized.py +1424 -0
- lalsimulation/tilts_at_infinity/hybrid_spin_evolution.py +461 -0
- lalsimulation/tilts_at_infinity/tilts_at_infinity_utils.py +167 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesBurstPPAnalysis +305 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesBurstPostProc +1364 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesCombinePTMCMCh5s +100 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesCombinePosteriors +235 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesCompPos +1121 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesDIEvidence +68 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesGraceDBinfo +182 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesMCMC2pos +314 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPPAnalysis +322 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPlotSpinDisk +42 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPosToSimBurst +227 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPosToSimInspiral +307 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesPostProc +1345 -0
- lalsuite-7.26.2.dev20251210.data/scripts/cbcBayesThermoInt +107 -0
- lalsuite-7.26.2.dev20251210.data/scripts/imrtgr_imr_consistency_test +796 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lal_cache +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lal_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lal_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lal_path2cache +148 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lal_searchsum2cache +172 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lal_simd_detect +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lal_tconvert +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lal_version +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_CopySFTs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_DistanceVsMass +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_MakeSFTDAG +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_SFTclean +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_StringAddFrame +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_StringSearch +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_Weave +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_animate +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_binj +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_blindinj +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_cache +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_cafe +99 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_calfacs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_cbc_stochasticbank +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_chirplen +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_coh_PTF_inspiral +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_coinj +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_compareFstats +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_cosmicstring_pipe +525 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_effdist +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_exc_resp +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fits_overview +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_fr_ninja +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frextr +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frinfo +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frjoin +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frread +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_frview +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_gwf2xml +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_heterodyne_pulsar +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_inspawgfile +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_inspfrinj +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_inspinj +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_inspiralDistance +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_knope +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_knope_automation_script +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_knope_collate_results +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_knope_result_page +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_makeblindinj +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_makeblindinj_himass +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ninja +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_path2cache +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_power +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_power_likelihood_pipe +219 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_power_pipe +417 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_pulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_random_bank +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_randombank +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_searchsum2cache +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_spec_avg +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_spininj +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_splitbank +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_apply_vetoes +171 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_calc_likelihood +172 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_contour_plotter +141 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_contour_plotter_largeloops +133 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_cs_gamma +110 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_cs_gamma_largeloops +119 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_final +1064 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_meas_likelihood +264 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_plot_binj +543 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_string_plot_likelihood +380 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_tconvert +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_tmpltbank +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_version +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalapps_xtefitstoframe +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_cluster +156 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_coinc +224 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_cut +425 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_gen_timeslides +254 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_inj_pic +254 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_injfind +170 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_plot_tisi +165 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_calc_likelihood +182 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_final +1369 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_meas_likelihood +206 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_plot_binj +934 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_power_plot_binjtf +302 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalburst_version +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-cat +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-cksum +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-cut +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-dump +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-fmt +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-paste +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-print +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-split +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-stat +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-stream +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalfr-vis +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalframe_version +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_bench +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_burst +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_burst_pp_pipe +220 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_coherence_test +139 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_compute_roq_weights +404 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_cpnest +58 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_datadump +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_evolve_spins_and_append_samples +202 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_injectedlike +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_merge_posteriors +57 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_mpi_wrapper +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_multi_pipe +144 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_nest +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_nest2pos +286 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_pipe +512 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_pp_pipe +229 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_review_test +362 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinference_version +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinspiral_injfind +206 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinspiral_thinca +240 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalinspiral_version +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalmetaio_version +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_CopyPublicSFTs +216 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_MakeSFTDAG +1142 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_MoveSFTs +208 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_PiecewiseSearch +963 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_SFTclean +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_Weave +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_compareFstats +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_compareSFTs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_create_time_correction_ephemeris +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_fits_overview +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_heterodyne +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_knope +145 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_knope_automation_script +731 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_knope_collate_results +675 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_knope_result_page +2977 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_spec_avg +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalpulsar_version +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-bh-qnmode +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-bh-ringdown +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-bh-sphwf +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-burst +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-detector-noise +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-detector-strain +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-inject +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-inspiral +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-ns-eos-table +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-ns-mass-radius +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-ns-params +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-sgwb +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsim-unicorn +6 -0
- lalsuite-7.26.2.dev20251210.data/scripts/lalsimulation_version +6 -0
- lalsuite-7.26.2.dev20251210.dist-info/METADATA +90 -0
- lalsuite-7.26.2.dev20251210.dist-info/RECORD +749 -0
- lalsuite-7.26.2.dev20251210.dist-info/WHEEL +6 -0
- lalsuite-7.26.2.dev20251210.dist-info/licenses/COPYING +339 -0
- lalsuite-7.26.2.dev20251210.dist-info/top_level.txt +9 -0
lalapps/cosmicstring.py
ADDED
|
@@ -0,0 +1,691 @@
|
|
|
1
|
+
#
|
|
2
|
+
# =============================================================================
|
|
3
|
+
#
|
|
4
|
+
# Preamble
|
|
5
|
+
#
|
|
6
|
+
# =============================================================================
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
"""
|
|
11
|
+
Classes needed for the cosmic string analysis pipeline.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import print_function
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
import math
|
|
19
|
+
import os
|
|
20
|
+
import sys
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
import igwn_segments as segments
|
|
24
|
+
from lal import iterutils
|
|
25
|
+
from lal import LIGOTimeGPS
|
|
26
|
+
from lal import pipeline
|
|
27
|
+
from lal.utils import CacheEntry
|
|
28
|
+
from lalburst import cafe
|
|
29
|
+
from lalburst import power
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
__author__ = 'Xavier Siemens<siemens@gravity.phys.uwm.edu>'
|
|
33
|
+
__date__ = '$Date$'
|
|
34
|
+
__version__ = '$Revision$'
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
#
|
|
38
|
+
# =============================================================================
|
|
39
|
+
#
|
|
40
|
+
# Configuration
|
|
41
|
+
#
|
|
42
|
+
# =============================================================================
|
|
43
|
+
#
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def get_files_per_meas_likelihood(config_parser):
|
|
47
|
+
return config_parser.getint("pipeline", "files_per_meas_likelihood")
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def get_files_per_calc_likelihood(config_parser):
|
|
51
|
+
return config_parser.getint("pipeline", "files_per_calc_likelihood")
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def get_files_per_run_sqlite(config_parser):
|
|
55
|
+
return config_parser.getint("pipeline", "files_per_run_sqlite")
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
#
|
|
59
|
+
# =============================================================================
|
|
60
|
+
#
|
|
61
|
+
# DAG Node and Job Class
|
|
62
|
+
#
|
|
63
|
+
# =============================================================================
|
|
64
|
+
#
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class MeasLikelihoodJob(pipeline.CondorDAGJob):
|
|
68
|
+
def __init__(self, config_parser):
|
|
69
|
+
pipeline.CondorDAGJob.__init__(self, "vanilla", power.get_executable(config_parser, "lalapps_string_meas_likelihood"))
|
|
70
|
+
self.set_sub_file("lalapps_string_meas_likelihood.sub")
|
|
71
|
+
self.set_stdout_file(os.path.join(power.get_out_dir(config_parser), "lalapps_string_meas_likelihood-$(cluster)-$(process).out"))
|
|
72
|
+
self.set_stderr_file(os.path.join(power.get_out_dir(config_parser), "lalapps_string_meas_likelihood-$(cluster)-$(process).err"))
|
|
73
|
+
self.add_condor_cmd("getenv", "True")
|
|
74
|
+
self.add_condor_cmd("accounting_group", power.get_accounting_group(config_parser))
|
|
75
|
+
self.add_ini_opts(config_parser, "lalapps_string_meas_likelihood")
|
|
76
|
+
|
|
77
|
+
self.cache_dir = power.get_cache_dir(config_parser)
|
|
78
|
+
self.output_dir = "."
|
|
79
|
+
self.files_per_meas_likelihood = get_files_per_meas_likelihood(config_parser)
|
|
80
|
+
if self.files_per_meas_likelihood < 1:
|
|
81
|
+
raise ValueError("files_per_meas_likelihood < 1")
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class MeasLikelihoodNode(pipeline.CondorDAGNode):
|
|
85
|
+
def __init__(self, *args):
|
|
86
|
+
pipeline.CondorDAGNode.__init__(self, *args)
|
|
87
|
+
self.input_cache = []
|
|
88
|
+
self.output_cache = []
|
|
89
|
+
|
|
90
|
+
self._CondorDAGNode__macros["initialdir"] = os.getcwd()
|
|
91
|
+
self.cache_dir = os.path.join(os.getcwd(), self.job().cache_dir)
|
|
92
|
+
self.output_dir = os.path.join(os.getcwd(), self.job().output_dir)
|
|
93
|
+
|
|
94
|
+
def set_name(self, *args):
|
|
95
|
+
pipeline.CondorDAGNode.set_name(self, *args)
|
|
96
|
+
self.cache_name = os.path.join(self.cache_dir, "%s.cache" % self.get_name())
|
|
97
|
+
self.add_var_opt("input-cache", self.cache_name)
|
|
98
|
+
|
|
99
|
+
def add_input_cache(self, cache):
|
|
100
|
+
if self.output_cache:
|
|
101
|
+
raise AttributeError("cannot change attributes after computing output cache")
|
|
102
|
+
self.input_cache.extend(cache)
|
|
103
|
+
|
|
104
|
+
def add_file_arg(self, filename):
|
|
105
|
+
raise NotImplementedError
|
|
106
|
+
|
|
107
|
+
def set_output(self, description):
|
|
108
|
+
if self.output_cache:
|
|
109
|
+
raise AttributeError("cannot change attributes after computing output cache")
|
|
110
|
+
cache_entry = power.make_cache_entry(self.input_cache, description, "")
|
|
111
|
+
filename = os.path.join(self.output_dir, "%s-STRING_LIKELIHOOD_%s-%d-%d.xml.gz" % (cache_entry.observatory, cache_entry.description, int(cache_entry.segment[0]), int(abs(cache_entry.segment))))
|
|
112
|
+
cache_entry.url = "file://localhost" + os.path.abspath(filename)
|
|
113
|
+
self.add_var_opt("output", filename)
|
|
114
|
+
del self.output_cache[:]
|
|
115
|
+
self.output_cache.append(cache_entry)
|
|
116
|
+
return filename
|
|
117
|
+
|
|
118
|
+
def get_input_cache(self):
|
|
119
|
+
return self.input_cache
|
|
120
|
+
|
|
121
|
+
def get_output_cache(self):
|
|
122
|
+
if not self.output_cache:
|
|
123
|
+
raise AttributeError("must call set_output(description) first")
|
|
124
|
+
return self.output_cache
|
|
125
|
+
|
|
126
|
+
def write_input_files(self, *args):
|
|
127
|
+
f = file(self.cache_name, "w")
|
|
128
|
+
for c in self.input_cache:
|
|
129
|
+
print(str(c), file=f)
|
|
130
|
+
pipeline.CondorDAGNode.write_input_files(self, *args)
|
|
131
|
+
|
|
132
|
+
def get_output_files(self):
|
|
133
|
+
raise NotImplementedError
|
|
134
|
+
|
|
135
|
+
def get_output(self):
|
|
136
|
+
raise NotImplementedError
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
class CalcLikelihoodJob(pipeline.CondorDAGJob):
|
|
140
|
+
def __init__(self, config_parser):
|
|
141
|
+
pipeline.CondorDAGJob.__init__(self, "vanilla", power.get_executable(config_parser, "lalapps_string_calc_likelihood"))
|
|
142
|
+
self.set_sub_file("lalapps_string_calc_likelihood.sub")
|
|
143
|
+
self.set_stdout_file(os.path.join(power.get_out_dir(config_parser), "lalapps_string_calc_likelihood-$(cluster)-$(process).out"))
|
|
144
|
+
self.set_stderr_file(os.path.join(power.get_out_dir(config_parser), "lalapps_string_calc_likelihood-$(cluster)-$(process).err"))
|
|
145
|
+
self.add_condor_cmd("getenv", "True")
|
|
146
|
+
self.add_condor_cmd("accounting_group", power.get_accounting_group(config_parser))
|
|
147
|
+
self.add_ini_opts(config_parser, "lalapps_string_calc_likelihood")
|
|
148
|
+
self.cache_dir = power.get_cache_dir(config_parser)
|
|
149
|
+
self.files_per_calc_likelihood = get_files_per_calc_likelihood(config_parser)
|
|
150
|
+
if self.files_per_calc_likelihood < 1:
|
|
151
|
+
raise ValueError("files_per_calc_likelihood < 1")
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
class CalcLikelihoodNode(pipeline.CondorDAGNode):
|
|
155
|
+
def __init__(self, *args):
|
|
156
|
+
pipeline.CondorDAGNode.__init__(self, *args)
|
|
157
|
+
self.input_cache = []
|
|
158
|
+
self.likelihood_cache = []
|
|
159
|
+
self.output_cache = self.input_cache
|
|
160
|
+
self._CondorDAGNode__macros["initialdir"] = os.getcwd()
|
|
161
|
+
self.cache_dir = os.path.join(os.getcwd(), self.job().cache_dir)
|
|
162
|
+
|
|
163
|
+
def set_name(self, *args):
|
|
164
|
+
pipeline.CondorDAGNode.set_name(self, *args)
|
|
165
|
+
self.cache_name = os.path.join(self.cache_dir, "%s.cache" % self.get_name())
|
|
166
|
+
self.add_var_opt("input-cache", self.cache_name)
|
|
167
|
+
self.likelihood_cache_name = os.path.join(self.cache_dir, "%s_likelihood.cache" % self.get_name())
|
|
168
|
+
self.add_var_opt("likelihood-cache", self.likelihood_cache_name)
|
|
169
|
+
|
|
170
|
+
def add_input_cache(self, cache):
|
|
171
|
+
self.input_cache.extend(cache)
|
|
172
|
+
for c in cache:
|
|
173
|
+
self.add_output_file(c.path)
|
|
174
|
+
|
|
175
|
+
def add_likelihood_cache(self, cache):
|
|
176
|
+
self.likelihood_cache.extend(cache)
|
|
177
|
+
|
|
178
|
+
def add_file_arg(self, filename):
|
|
179
|
+
raise NotImplementedError
|
|
180
|
+
|
|
181
|
+
def get_input_cache(self):
|
|
182
|
+
return self.input_cache
|
|
183
|
+
|
|
184
|
+
def get_output_cache(self):
|
|
185
|
+
return self.output_cache
|
|
186
|
+
|
|
187
|
+
def get_likelihood_cache(self):
|
|
188
|
+
return self.likelihood_cache
|
|
189
|
+
|
|
190
|
+
def write_input_files(self, *args):
|
|
191
|
+
f = file(self.cache_name, "w")
|
|
192
|
+
for c in self.input_cache:
|
|
193
|
+
print(str(c), file=f)
|
|
194
|
+
f = file(self.likelihood_cache_name, "w")
|
|
195
|
+
for c in self.likelihood_cache:
|
|
196
|
+
print(str(c), file=f)
|
|
197
|
+
pipeline.CondorDAGNode.write_input_files(self, *args)
|
|
198
|
+
|
|
199
|
+
def get_output_files(self):
|
|
200
|
+
raise NotImplementedError
|
|
201
|
+
|
|
202
|
+
def get_output(self):
|
|
203
|
+
raise NotImplementedError
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
class StringJob(pipeline.CondorDAGJob, pipeline.AnalysisJob):
|
|
207
|
+
"""
|
|
208
|
+
A lalapps_StringSearch job used by the string pipeline. The static options
|
|
209
|
+
are read from the section in the ini file. The
|
|
210
|
+
stdout and stderr from the job are directed to the logs directory. The job
|
|
211
|
+
runs in the universe specified in the ini file. The path to the executable
|
|
212
|
+
is determined from the ini file.
|
|
213
|
+
"""
|
|
214
|
+
def __init__(self,config_parser):
|
|
215
|
+
"""
|
|
216
|
+
config_parser = ConfigParser object from which options are read.
|
|
217
|
+
"""
|
|
218
|
+
pipeline.CondorDAGJob.__init__(self, power.get_universe(config_parser), power.get_executable(config_parser, "lalapps_StringSearch"))
|
|
219
|
+
pipeline.AnalysisJob.__init__(self, config_parser)
|
|
220
|
+
self.add_ini_opts(config_parser, "lalapps_StringSearch")
|
|
221
|
+
self.set_stdout_file(os.path.join(power.get_out_dir(config_parser), "lalapps_StringSearch-$(cluster)-$(process).out"))
|
|
222
|
+
self.set_stderr_file(os.path.join(power.get_out_dir(config_parser), "lalapps_StringSearch-$(cluster)-$(process).err"))
|
|
223
|
+
self.add_condor_cmd("getenv", "True")
|
|
224
|
+
self.add_condor_cmd("accounting_group", power.get_accounting_group(config_parser))
|
|
225
|
+
self.set_sub_file("lalapps_StringSearch.sub")
|
|
226
|
+
#self.add_condor_cmd("Requirements", "Memory > 1100")
|
|
227
|
+
|
|
228
|
+
self.output_dir = power.get_triggers_dir(config_parser)
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
class StringNode(pipeline.CondorDAGNode,pipeline.AnalysisNode):
|
|
232
|
+
"""
|
|
233
|
+
A RingNode runs an instance of the ring code in a Condor DAG.
|
|
234
|
+
"""
|
|
235
|
+
def __init__(self,job):
|
|
236
|
+
"""
|
|
237
|
+
job = A CondorDAGJob that can run an instance of lalapps_StringSearch.
|
|
238
|
+
"""
|
|
239
|
+
pipeline.CondorDAGNode.__init__(self,job)
|
|
240
|
+
pipeline.AnalysisNode.__init__(self)
|
|
241
|
+
self.__usertag = job.get_config('pipeline','user_tag')
|
|
242
|
+
self.output_cache = []
|
|
243
|
+
self._CondorDAGNode__macros["initialdir"] = os.getcwd()
|
|
244
|
+
self.output_dir = os.path.join(os.getcwd(), self.job().output_dir)
|
|
245
|
+
|
|
246
|
+
def set_ifo(self, instrument):
|
|
247
|
+
"""
|
|
248
|
+
Load additional options from the per-instrument section in
|
|
249
|
+
the config file.
|
|
250
|
+
"""
|
|
251
|
+
if self.output_cache:
|
|
252
|
+
raise AttributeError("cannot change attributes after computing output cache")
|
|
253
|
+
pipeline.AnalysisNode.set_ifo(self, instrument)
|
|
254
|
+
for optvalue in self.job()._AnalysisJob__cp.items("lalapps_StringSearch_%s" % instrument):
|
|
255
|
+
self.add_var_arg("--%s %s" % optvalue)
|
|
256
|
+
|
|
257
|
+
def set_user_tag(self, tag):
|
|
258
|
+
if self.output_cache:
|
|
259
|
+
raise AttributeError("cannot change attributes after computing output cache")
|
|
260
|
+
self.__usertag = tag
|
|
261
|
+
self.add_var_opt("user-tag", self.__usertag)
|
|
262
|
+
|
|
263
|
+
def get_user_tag(self):
|
|
264
|
+
return self.__usertag
|
|
265
|
+
|
|
266
|
+
def get_output_cache(self):
|
|
267
|
+
"""
|
|
268
|
+
Returns a LAL cache of the output file name. Calling this
|
|
269
|
+
method also induces the output name to get set, so it must
|
|
270
|
+
be at least once.
|
|
271
|
+
"""
|
|
272
|
+
if not self.output_cache:
|
|
273
|
+
self.output_cache = [CacheEntry(self.get_ifo(), self.__usertag, segments.segment(LIGOTimeGPS(self.get_start()), LIGOTimeGPS(self.get_end())), "file://localhost" + os.path.abspath(self.get_output()))]
|
|
274
|
+
return self.output_cache
|
|
275
|
+
|
|
276
|
+
def get_output_files(self):
|
|
277
|
+
raise NotImplementedError
|
|
278
|
+
|
|
279
|
+
def get_output(self):
|
|
280
|
+
"""
|
|
281
|
+
Returns the file name of output from the ring code. This must be kept
|
|
282
|
+
synchronized with the name of the output file in ring.c.
|
|
283
|
+
"""
|
|
284
|
+
if self._AnalysisNode__output is None:
|
|
285
|
+
if None in (self.get_start(), self.get_end(), self.get_ifo(), self.__usertag):
|
|
286
|
+
raise ValueError("start time, end time, ifo, or user tag has not been set")
|
|
287
|
+
seg = segments.segment(LIGOTimeGPS(self.get_start()), LIGOTimeGPS(self.get_end()))
|
|
288
|
+
self.set_output(os.path.join(self.output_dir, "%s-STRINGSEARCH_%s-%d-%d.xml.gz" % (self.get_ifo(), self.__usertag, int(self.get_start()), int(self.get_end()) - int(self.get_start()))))
|
|
289
|
+
|
|
290
|
+
return self._AnalysisNode__output
|
|
291
|
+
|
|
292
|
+
def set_injection_file(self, file):
|
|
293
|
+
"""
|
|
294
|
+
Set the name of the XML file from which to read a list of
|
|
295
|
+
software injections.
|
|
296
|
+
"""
|
|
297
|
+
self.add_var_opt("injection-file", file)
|
|
298
|
+
self.add_input_file(file)
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
class RunSqliteJob(pipeline.CondorDAGJob):
|
|
302
|
+
"""
|
|
303
|
+
A lalapps_run_sqlite job used by the gstlal pipeline. The static
|
|
304
|
+
options are read from the [lalapps_run_sqlite] section in the ini
|
|
305
|
+
file. The stdout and stderr from the job are directed to the logs
|
|
306
|
+
directory. The job runs in the universe specified in the ini file.
|
|
307
|
+
The path to the executable is determined from the ini file.
|
|
308
|
+
"""
|
|
309
|
+
def __init__(self, config_parser):
|
|
310
|
+
"""
|
|
311
|
+
config_parser = ConfigParser object
|
|
312
|
+
"""
|
|
313
|
+
pipeline.CondorDAGJob.__init__(self, "vanilla", power.get_executable(config_parser, "lalapps_run_sqlite"))
|
|
314
|
+
self.add_ini_opts(config_parser, "lalapps_run_sqlite")
|
|
315
|
+
self.set_stdout_file(os.path.join(power.get_out_dir(config_parser), "lalapps_run_sqlite-$(cluster)-$(process).out"))
|
|
316
|
+
self.set_stderr_file(os.path.join(power.get_out_dir(config_parser), "lalapps_run_sqlite-$(cluster)-$(process).err"))
|
|
317
|
+
self.add_condor_cmd("getenv", "True")
|
|
318
|
+
self.add_condor_cmd("accounting_group", power.get_accounting_group(config_parser))
|
|
319
|
+
self.set_sub_file("lalapps_run_sqlite.sub")
|
|
320
|
+
self.files_per_run_sqlite = get_files_per_run_sqlite(config_parser)
|
|
321
|
+
if self.files_per_run_sqlite < 1:
|
|
322
|
+
raise ValueError("files_per_run_sqlite < 1")
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
class RunSqliteNode(pipeline.CondorDAGNode):
|
|
326
|
+
def __init__(self, *args):
|
|
327
|
+
pipeline.CondorDAGNode.__init__(self, *args)
|
|
328
|
+
self.input_cache = []
|
|
329
|
+
self.output_cache = self.input_cache
|
|
330
|
+
self._CondorDAGNode__macros["initialdir"] = os.getcwd()
|
|
331
|
+
|
|
332
|
+
def add_input_cache(self, cache):
|
|
333
|
+
self.input_cache.extend(cache)
|
|
334
|
+
for c in cache:
|
|
335
|
+
filename = c.path
|
|
336
|
+
pipeline.CondorDAGNode.add_file_arg(self, filename)
|
|
337
|
+
self.add_output_file(filename)
|
|
338
|
+
|
|
339
|
+
def get_input_cache(self):
|
|
340
|
+
return self.input_cache
|
|
341
|
+
|
|
342
|
+
def get_output_cache(self):
|
|
343
|
+
return self.output_cache
|
|
344
|
+
|
|
345
|
+
def set_sql_file(self, filename):
|
|
346
|
+
self.add_var_opt("sql-file", filename)
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
#
|
|
350
|
+
# =============================================================================
|
|
351
|
+
#
|
|
352
|
+
# Segmentation
|
|
353
|
+
#
|
|
354
|
+
# =============================================================================
|
|
355
|
+
#
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
def clip_segment_length(segment_length, pad, short_segment_duration):
|
|
359
|
+
# clip segment to the length required by lalapps_StringSearch. if
|
|
360
|
+
#
|
|
361
|
+
# duration = segment length - padding
|
|
362
|
+
#
|
|
363
|
+
# then
|
|
364
|
+
#
|
|
365
|
+
# duration / short_segment_duration - 0.5
|
|
366
|
+
#
|
|
367
|
+
# must be an odd integer, therefore
|
|
368
|
+
#
|
|
369
|
+
# 2 * duration + short_segment_duration
|
|
370
|
+
#
|
|
371
|
+
# must be divisble by (4 * short_segment_duration)
|
|
372
|
+
assert segment_length >= 2 * pad
|
|
373
|
+
duration = segment_length - 2 * pad
|
|
374
|
+
extra = (2 * duration + short_segment_duration) % (4 * short_segment_duration)
|
|
375
|
+
extra /= 2
|
|
376
|
+
|
|
377
|
+
# clip
|
|
378
|
+
segment_length -= extra
|
|
379
|
+
|
|
380
|
+
# done. negative return value not allowed
|
|
381
|
+
assert segment_length >= 0
|
|
382
|
+
return segment_length
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
def segment_ok(seg, min_segment_length, pad):
|
|
386
|
+
"""
|
|
387
|
+
Return True if the segment seg is long enough to be analyzed by
|
|
388
|
+
lalapps_StringSearch.
|
|
389
|
+
"""
|
|
390
|
+
return float(abs(seg)) - 2 * pad >= min_segment_length
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
def remove_too_short_segments(seglists, min_segment_length, pad):
|
|
394
|
+
"""
|
|
395
|
+
Remove segments from the segmentlistdict seglists that are too short to
|
|
396
|
+
analyze.
|
|
397
|
+
|
|
398
|
+
CAUTION: this function modifies seglists in place.
|
|
399
|
+
"""
|
|
400
|
+
for seglist in seglists.values():
|
|
401
|
+
iterutils.inplace_filter(lambda seg: segment_ok(seg, min_segment_length, pad), seglist)
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
def compute_segment_lists(seglists, offset_vectors, min_segment_length, pad):
|
|
405
|
+
# don't modify original
|
|
406
|
+
seglists = seglists.copy()
|
|
407
|
+
|
|
408
|
+
# ignore offset vectors referencing instruments we don't have
|
|
409
|
+
offset_vectors = [offset_vector for offset_vector in offset_vectors if set(offset_vector.keys()).issubset(set(seglists.keys()))]
|
|
410
|
+
|
|
411
|
+
# cull too-short single-instrument segments from the input
|
|
412
|
+
# segmentlist dictionary; this can significantly increase
|
|
413
|
+
# the speed of the get_coincident_segmentlistdict()
|
|
414
|
+
# function when the input segmentlists have had many data
|
|
415
|
+
# quality holes poked out of them
|
|
416
|
+
remove_too_short_segments(seglists, min_segment_length, pad)
|
|
417
|
+
|
|
418
|
+
# extract the segments that are coincident under the time
|
|
419
|
+
# slides
|
|
420
|
+
new = cafe.get_coincident_segmentlistdict(seglists, offset_vectors)
|
|
421
|
+
|
|
422
|
+
# round to integer boundaries because lalapps_StringSearch can't accept
|
|
423
|
+
# non-integer start/stop times
|
|
424
|
+
# FIXME: fix that in lalapps_StringSearch
|
|
425
|
+
for seglist in new.values():
|
|
426
|
+
for i in range(len(seglist)):
|
|
427
|
+
seglist[i] = segments.segment(int(math.floor(seglist[i][0])), int(math.ceil(seglist[i][1])))
|
|
428
|
+
# intersect with original segments to ensure we haven't expanded beyond
|
|
429
|
+
# original bounds
|
|
430
|
+
new &= seglists
|
|
431
|
+
|
|
432
|
+
# again remove too-short segments
|
|
433
|
+
remove_too_short_segments(new, min_segment_length, pad)
|
|
434
|
+
|
|
435
|
+
# done
|
|
436
|
+
return new
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
#
|
|
440
|
+
# =============================================================================
|
|
441
|
+
#
|
|
442
|
+
# DAG Job Types
|
|
443
|
+
#
|
|
444
|
+
# =============================================================================
|
|
445
|
+
#
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
stringjob = None
|
|
449
|
+
meas_likelihoodjob = None
|
|
450
|
+
calc_likelihoodjob = None
|
|
451
|
+
runsqlitejob = None
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
def init_job_types(config_parser, job_types = ("string", "meas_likelihoodjob", "calc_likelihood", "runsqlite")):
|
|
455
|
+
"""
|
|
456
|
+
Construct definitions of the submit files.
|
|
457
|
+
"""
|
|
458
|
+
global stringjob, meas_likelihoodjob, calc_likelihoodjob, runsqlitejob
|
|
459
|
+
|
|
460
|
+
# lalapps_StringSearch
|
|
461
|
+
if "string" in job_types:
|
|
462
|
+
stringjob = StringJob(config_parser)
|
|
463
|
+
|
|
464
|
+
# lalapps_string_meas_likelihood
|
|
465
|
+
if "meas_likelihood" in job_types:
|
|
466
|
+
meas_likelihoodjob = MeasLikelihoodJob(config_parser)
|
|
467
|
+
|
|
468
|
+
# lalapps_string_calc_likelihood
|
|
469
|
+
if "calc_likelihood" in job_types:
|
|
470
|
+
calc_likelihoodjob = CalcLikelihoodJob(config_parser)
|
|
471
|
+
|
|
472
|
+
# lalapps_run_sqlite
|
|
473
|
+
if "runsqlite" in job_types:
|
|
474
|
+
runsqlitejob = RunSqliteJob(config_parser)
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
#
|
|
478
|
+
# =============================================================================
|
|
479
|
+
#
|
|
480
|
+
# lalapps_StringSearch Jobs
|
|
481
|
+
#
|
|
482
|
+
# =============================================================================
|
|
483
|
+
#
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
#
|
|
487
|
+
# one job
|
|
488
|
+
#
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
def make_string_fragment(dag, parents, instrument, seg, tag, framecache, injargs = {}):
|
|
492
|
+
node = StringNode(stringjob)
|
|
493
|
+
node.set_name("lalapps_StringSearch_%s_%s_%d_%d" % (tag, instrument, int(seg[0]), int(abs(seg))))
|
|
494
|
+
map(node.add_parent, parents)
|
|
495
|
+
# FIXME: StringNode should not be subclassed from AnalysisNode,
|
|
496
|
+
# because that class is too hard-coded. For example, there is no
|
|
497
|
+
# way to switch to analysing gaussian noise except to comment out
|
|
498
|
+
# this line in the code.
|
|
499
|
+
node.set_cache(framecache)
|
|
500
|
+
node.set_ifo(instrument)
|
|
501
|
+
node.set_start(seg[0])
|
|
502
|
+
node.set_end(seg[1])
|
|
503
|
+
node.set_user_tag(tag)
|
|
504
|
+
for arg, value in injargs.items():
|
|
505
|
+
# this is a hack, but I can't be bothered
|
|
506
|
+
node.add_var_arg("--%s %s" % (arg, value))
|
|
507
|
+
dag.add_node(node)
|
|
508
|
+
return set([node])
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
#
|
|
512
|
+
# one segment
|
|
513
|
+
#
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
def split_segment(seg, min_segment_length, pad, overlap, short_segment_duration, max_job_length):
|
|
517
|
+
# avoid infinite loop
|
|
518
|
+
if min_segment_length + 2 * pad <= overlap:
|
|
519
|
+
raise ValueError("infinite loop: min_segment_length + 2 * pad must be > overlap")
|
|
520
|
+
|
|
521
|
+
# clip max_job_length down to an allowed size
|
|
522
|
+
max_job_length = clip_segment_length(max_job_length, pad, short_segment_duration)
|
|
523
|
+
|
|
524
|
+
seglist = segments.segmentlist()
|
|
525
|
+
while abs(seg) >= min_segment_length + 2 * pad:
|
|
526
|
+
# try to use max_job_length each time
|
|
527
|
+
if abs(seg) >= max_job_length:
|
|
528
|
+
seglist.append(segments.segment(seg[0], seg[0] + max_job_length))
|
|
529
|
+
else:
|
|
530
|
+
seglist.append(segments.segment(seg[0], seg[0] + clip_segment_length(abs(seg), pad, short_segment_duration)))
|
|
531
|
+
assert abs(seglist[-1]) != 0 # safety-check for no-op
|
|
532
|
+
# bounds must be integers
|
|
533
|
+
if abs((int(seglist[-1][0]) - seglist[-1][0]) / seglist[-1][0]) > 1e-14 or abs((int(seglist[-1][1]) - seglist[-1][1]) / seglist[-1][1]) > 1e-14:
|
|
534
|
+
raise ValueError("segment %s does not have integer boundaries" % str(seglist[-1]))
|
|
535
|
+
# advance segment
|
|
536
|
+
seg = segments.segment(seglist[-1][1] - overlap, seg[1])
|
|
537
|
+
if not seglist:
|
|
538
|
+
raise ValueError("unable to use segment %s" % str(seg))
|
|
539
|
+
return seglist
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
def make_string_segment_fragment(dag, datafindnodes, instrument, seg, tag, min_segment_length, pad, overlap, short_segment_duration, max_job_length, binjnodes = set(), verbose = False):
|
|
543
|
+
"""
|
|
544
|
+
Construct a DAG fragment for an entire segment, splitting the
|
|
545
|
+
segment into multiple trigger generator jobs.
|
|
546
|
+
"""
|
|
547
|
+
# figure out which binj nodes, if any, produce output for this job
|
|
548
|
+
binjnodes = set(node for node in binjnodes if power.cache_span(node.get_output_cache()).intersects(seg))
|
|
549
|
+
|
|
550
|
+
# only one frame cache file can be provided as input, and only one
|
|
551
|
+
# injection description file can be provided as input.
|
|
552
|
+
# the unpacking indirectly tests that the file count is correct
|
|
553
|
+
[framecache] = [node.get_output() for node in datafindnodes]
|
|
554
|
+
if binjnodes:
|
|
555
|
+
[simfile] = [cache_entry.path for node in binjnodes for cache_entry in node.get_output_cache()]
|
|
556
|
+
injargs = {"injection-file": simfile}
|
|
557
|
+
else:
|
|
558
|
+
injargs = {}
|
|
559
|
+
seglist = split_segment(seg, min_segment_length, pad, overlap, short_segment_duration, max_job_length)
|
|
560
|
+
if verbose:
|
|
561
|
+
print("Segment split: " + str(seglist), file=sys.stderr)
|
|
562
|
+
nodes = set()
|
|
563
|
+
for seg in seglist:
|
|
564
|
+
nodes |= make_string_fragment(dag, datafindnodes | binjnodes, instrument, seg, tag, framecache, injargs = injargs)
|
|
565
|
+
return nodes
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
#
|
|
569
|
+
# all segments
|
|
570
|
+
#
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
def make_single_instrument_stage(dag, datafinds, seglistdict, tag, min_segment_length, pad, overlap, short_segment_duration, max_job_length, binjnodes = set(), verbose = False):
|
|
574
|
+
nodes = set()
|
|
575
|
+
for instrument, seglist in seglistdict.items():
|
|
576
|
+
for seg in seglist:
|
|
577
|
+
if verbose:
|
|
578
|
+
print("generating %s fragment %s" % (instrument, str(seg)), file=sys.stderr)
|
|
579
|
+
|
|
580
|
+
# find the datafind job this job is going to need
|
|
581
|
+
dfnodes = set([node for node in datafinds if (node.get_ifo() == instrument) and (seg in segments.segment(node.get_start(), node.get_end()))])
|
|
582
|
+
if len(dfnodes) != 1:
|
|
583
|
+
raise ValueError("error, not exactly 1 datafind is suitable for trigger generator job at %s in %s" % (str(seg), instrument))
|
|
584
|
+
|
|
585
|
+
# trigger generator jobs
|
|
586
|
+
nodes |= make_string_segment_fragment(dag, dfnodes, instrument, seg, tag, min_segment_length, pad, overlap, short_segment_duration, max_job_length, binjnodes = binjnodes, verbose = verbose)
|
|
587
|
+
|
|
588
|
+
# done
|
|
589
|
+
return nodes
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
#
|
|
593
|
+
# =============================================================================
|
|
594
|
+
#
|
|
595
|
+
# lalapps_run_sqlite Jobs
|
|
596
|
+
#
|
|
597
|
+
# =============================================================================
|
|
598
|
+
#
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
def write_clip_segment_sql_file(filename):
|
|
602
|
+
code = """DELETE FROM
|
|
603
|
+
segment
|
|
604
|
+
WHERE
|
|
605
|
+
(end_time + 1e-9 * end_time_ns < (SELECT MIN(in_start_time + 1e-9 * in_start_time_ns) FROM search_summary NATURAL JOIN process WHERE program == 'StringSearch'))
|
|
606
|
+
OR
|
|
607
|
+
(start_time + 1e-9 * start_time_ns > (SELECT MAX(in_end_time + 1e-9 * in_end_time_ns) FROM search_summary NATURAL JOIN process WHERE program == 'StringSearch'));
|
|
608
|
+
|
|
609
|
+
VACUUM;"""
|
|
610
|
+
|
|
611
|
+
print(code, file=file(filename, "w"))
|
|
612
|
+
|
|
613
|
+
return filename
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
def make_run_sqlite_fragment(dag, parents, tag, sql_file, files_per_run_sqlite = None):
|
|
617
|
+
if files_per_run_sqlite is None:
|
|
618
|
+
files_per_run_sqlite = runsqlitejob.files_per_run_sqlite
|
|
619
|
+
nodes = set()
|
|
620
|
+
input_cache = power.collect_output_caches(parents)
|
|
621
|
+
while input_cache:
|
|
622
|
+
node = RunSqliteNode(runsqlitejob)
|
|
623
|
+
node.set_sql_file(sql_file)
|
|
624
|
+
node.add_input_cache([cache_entry for cache_entry, parent in input_cache[:files_per_run_sqlite]])
|
|
625
|
+
for parent in set(parent for cache_entry, parent in input_cache[:files_per_run_sqlite]):
|
|
626
|
+
node.add_parent(parent)
|
|
627
|
+
del input_cache[:files_per_run_sqlite]
|
|
628
|
+
seg = power.cache_span(node.get_output_cache())
|
|
629
|
+
node.set_name("lalapps_run_sqlite_%s_%d_%d" % (tag, int(seg[0]), int(abs(seg))))
|
|
630
|
+
dag.add_node(node)
|
|
631
|
+
nodes.add(node)
|
|
632
|
+
return nodes
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
#
|
|
636
|
+
# =============================================================================
|
|
637
|
+
#
|
|
638
|
+
# lalapps_string_meas_likelihood Jobs
|
|
639
|
+
#
|
|
640
|
+
# =============================================================================
|
|
641
|
+
#
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
def make_meas_likelihood_fragment(dag, parents, tag, files_per_meas_likelihood = None):
|
|
645
|
+
if files_per_meas_likelihood is None:
|
|
646
|
+
files_per_meas_likelihood = meas_likelihoodjob.files_per_meas_likelihood
|
|
647
|
+
nodes = set()
|
|
648
|
+
input_cache = power.collect_output_caches(parents)
|
|
649
|
+
while input_cache:
|
|
650
|
+
node = MeasLikelihoodNode(meas_likelihoodjob)
|
|
651
|
+
node.add_input_cache([cache_entry for cache_entry, parent in input_cache[:files_per_meas_likelihood]])
|
|
652
|
+
for parent in set(parent for cache_entry, parent in input_cache[:files_per_meas_likelihood]):
|
|
653
|
+
node.add_parent(parent)
|
|
654
|
+
del input_cache[:files_per_meas_likelihood]
|
|
655
|
+
seg = power.cache_span(node.get_input_cache())
|
|
656
|
+
node.set_name("lalapps_string_meas_likelihood_%s_%d_%d" % (tag, int(seg[0]), int(abs(seg))))
|
|
657
|
+
node.set_output(tag)
|
|
658
|
+
dag.add_node(node)
|
|
659
|
+
nodes.add(node)
|
|
660
|
+
return nodes
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
#
|
|
664
|
+
# =============================================================================
|
|
665
|
+
#
|
|
666
|
+
# lalapps_string_calc_likelihood Jobs
|
|
667
|
+
#
|
|
668
|
+
# =============================================================================
|
|
669
|
+
#
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
def make_calc_likelihood_fragment(dag, parents, likelihood_parents, tag, files_per_calc_likelihood = None, verbose = False):
|
|
673
|
+
if files_per_calc_likelihood is None:
|
|
674
|
+
files_per_calc_likelihood = calc_likelihoodjob.files_per_calc_likelihood
|
|
675
|
+
input_cache = power.collect_output_caches(parents)
|
|
676
|
+
likelihood_cache = power.collect_output_caches(likelihood_parents)
|
|
677
|
+
nodes = set()
|
|
678
|
+
while input_cache:
|
|
679
|
+
node = CalcLikelihoodNode(calc_likelihoodjob)
|
|
680
|
+
node.add_input_cache([cache_entry for cache_entry, parent in input_cache[:files_per_calc_likelihood]])
|
|
681
|
+
for parent in set(parent for cache_entry, parent in input_cache[:files_per_calc_likelihood]):
|
|
682
|
+
node.add_parent(parent)
|
|
683
|
+
del input_cache[:files_per_calc_likelihood]
|
|
684
|
+
seg = power.cache_span(node.get_input_cache())
|
|
685
|
+
node.set_name("lalapps_string_calc_likelihood_%s_%d_%d" % (tag, int(seg[0]), int(abs(seg))))
|
|
686
|
+
for cache_entry, parent in likelihood_cache:
|
|
687
|
+
node.add_parent(parent)
|
|
688
|
+
node.add_likelihood_cache([cache_entry])
|
|
689
|
+
dag.add_node(node)
|
|
690
|
+
nodes.add(node)
|
|
691
|
+
return nodes
|