lalsuite 7.22.1.dev20240408__cp312-cp312-manylinux_2_28_aarch64.whl → 7.26.2.dev20251202__cp312-cp312-manylinux_2_28_aarch64.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 +5 -5
- lal/_lal.cpython-312-aarch64-linux-gnu.so +0 -0
- lal/{lal.py → _lal_swig.py} +1 -1
- lal/git_version.py +5 -5
- lal/gpstime.py +1 -1
- lal/pipeline.py +3139 -0
- lal/rate.py +14 -16
- lal/series.py +28 -32
- lal/utils/cache.py +27 -7
- lal/utils/series.py +1 -1
- lalapps/__init__.py +1 -1
- 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 +1 -1
- lalapps/bin/lalapps_ComputeFstatBenchmark +1 -1
- lalapps/bin/lalapps_ComputeFstatLatticeCount +1 -1
- lalapps/bin/lalapps_ComputeFstatMCUpperLimit +1 -1
- lalapps/bin/lalapps_ComputeFstatistic_v2 +1 -1
- lalapps/bin/lalapps_ComputePSD +1 -1
- lalapps/bin/lalapps_CopySFTs +1 -1
- lalapps/bin/lalapps_DistanceVsMass +0 -0
- lalapps/bin/lalapps_DriveHoughMulti +1 -1
- lalapps/bin/lalapps_FstatMetric_v2 +1 -1
- lalapps/bin/lalapps_HierarchSearchGCT +1 -1
- lalapps/bin/lalapps_HierarchicalSearch +1 -1
- lalapps/bin/lalapps_MakeSFTDAG +1 -1
- lalapps/bin/lalapps_MakeSFTs +1 -1
- lalapps/bin/lalapps_Makefakedata_v4 +1 -1
- lalapps/bin/lalapps_Makefakedata_v5 +1 -1
- lalapps/bin/lalapps_PredictFstat +1 -1
- lalapps/bin/lalapps_PrintDetectorState +1 -1
- lalapps/bin/lalapps_SFTclean +1 -1
- lalapps/bin/lalapps_SFTvalidate +1 -1
- lalapps/bin/lalapps_StringAddFrame +0 -0
- lalapps/bin/lalapps_StringSearch +0 -0
- lalapps/bin/lalapps_Weave +1 -1
- lalapps/bin/lalapps_WeaveCompare +1 -1
- lalapps/bin/lalapps_WeaveConcat +1 -1
- lalapps/bin/lalapps_WeaveSetup +1 -1
- lalapps/bin/lalapps_WriteSFTsfromSFDBs +1 -1
- lalapps/bin/lalapps_animate +0 -0
- lalapps/bin/lalapps_binj +0 -0
- lalapps/bin/lalapps_blindinj +0 -0
- lalapps/bin/lalapps_cache +1 -1
- 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 +1 -1
- lalapps/bin/lalapps_compareFstats +1 -1
- lalapps/bin/lalapps_compareSFTs +1 -1
- lalapps/bin/lalapps_create_time_correction_ephemeris +1 -1
- lalapps/bin/lalapps_dumpSFT +1 -1
- lalapps/bin/lalapps_effdist +0 -0
- lalapps/bin/lalapps_exc_resp +0 -0
- lalapps/bin/lalapps_fftw_wisdom +1 -1
- lalapps/bin/lalapps_fftwf_wisdom +1 -1
- lalapps/bin/lalapps_fits_header_getval +1 -1
- lalapps/bin/lalapps_fits_header_list +1 -1
- lalapps/bin/lalapps_fits_overview +1 -1
- lalapps/bin/lalapps_fits_table_list +1 -1
- 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 +1 -1
- 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 +1 -1
- lalapps/bin/lalapps_knope_automation_script +1 -1
- lalapps/bin/lalapps_knope_collate_results +1 -1
- lalapps/bin/lalapps_knope_result_page +1 -1
- lalapps/bin/lalapps_ninja +0 -0
- lalapps/bin/lalapps_path2cache +1 -1
- lalapps/bin/lalapps_power +0 -0
- lalapps/bin/lalapps_pulsar_crosscorr_v2 +1 -1
- lalapps/bin/lalapps_pulsar_frequency_evolution +1 -1
- lalapps/bin/lalapps_pulsar_parameter_estimation_nested +1 -1
- lalapps/bin/lalapps_random_bank +0 -0
- lalapps/bin/lalapps_randombank +0 -0
- lalapps/bin/lalapps_run_pulsar_crosscorr_v2 +1 -1
- lalapps/bin/lalapps_searchsum2cache +1 -1
- lalapps/bin/lalapps_spec_avg +1 -1
- lalapps/bin/lalapps_spec_avg_long +1 -1
- lalapps/bin/lalapps_spec_coherence +1 -1
- lalapps/bin/lalapps_spininj +0 -0
- lalapps/bin/lalapps_splitSFTs +1 -1
- lalapps/bin/lalapps_splitbank +0 -0
- lalapps/bin/lalapps_ssbtodetector +1 -1
- lalapps/bin/lalapps_synthesizeBstatMC +1 -1
- lalapps/bin/lalapps_synthesizeLVStats +1 -1
- lalapps/bin/lalapps_synthesizeTransientStats +1 -1
- lalapps/bin/lalapps_tconvert +1 -1
- 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 +17 -15
- 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 +2 -2
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF1_META.dat +1877 -1877
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF2_META.dat +1934 -1934
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF3_META.dat +1779 -1779
- lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF4_META.dat +2069 -2069
- lalapps/data/LALSimNeutronStarEOS_BL_CHIRAL_META.dat +1529 -1529
- lalapps/data/LALSimNeutronStarEOS_GMSR_BSK14_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL59_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL69_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_F0_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_H1_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_H2_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_H3_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_H4_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_H5_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_LN55_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GMSR_SLY5_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DD2_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GPPVA_DDME2_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2H_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_GPPVA_NL3WRL55_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_KDE0V1_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_KDE0V_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_PCP_BSK24_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_RG_SLY4_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_RS_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SK255_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_SKA_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SKB_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SKI2_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SKI3_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SKI4_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SKI6_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SKOP_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SLY230A_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SLY2_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_SLY9_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDLZ1_BSK24.dat +2 -2
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDME2_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDMEX_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_GM1_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_MTVTC_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_NL3_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_PKDD_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TM1_BSK24.dat +1 -1
- lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TW99_BSK24.dat +1 -1
- lalapps/data/LIGO-T1800545-v1-aLIGO_140Mpc.txt +1000 -1000
- lalapps/data/config_tiger_example.ini +2 -2
- lalapps/data/lalinference_pipe_example.ini +2 -3
- lalapps/data/lib_pipe_example.ini +5 -6
- lalapps/data/power_pipe.ini +1 -1
- lalapps/data/unimodalMeans.csv +0 -1
- lalapps/git_version.py +5 -5
- lalburst/SnglBurstUtils.py +5 -5
- lalburst/__init__.py +2 -2
- lalburst/_lalburst.cpython-312-aarch64-linux-gnu.so +0 -0
- lalburst/{lalburst.py → _lalburst_swig.py} +1 -1
- lalburst/binjfind.py +8 -8
- lalburst/bucluster.py +4 -4
- lalburst/burca.py +3 -3
- lalburst/burca_tailor.py +8 -16
- lalburst/cafe.py +3 -3
- lalburst/calc_likelihood.py +1 -1
- lalburst/cs_gamma.cpython-312-aarch64-linux-gnu.so +0 -0
- lalburst/git_version.py +5 -5
- lalburst/power.py +3 -3
- lalburst/snglcluster.py +1 -1
- lalburst/snglcoinc.py +97 -118
- lalburst/stringutils.py +8 -16
- lalburst/timeslides.py +46 -0
- lalframe/__init__.py +2 -2
- lalframe/_lalframe.cpython-312-aarch64-linux-gnu.so +0 -0
- lalframe/{lalframe.py → _lalframe_swig.py} +1 -1
- lalframe/frread.py +4 -2
- lalframe/git_version.py +5 -5
- lalframe/utils/frtools.py +1 -1
- lalinference/__init__.py +2 -2
- lalinference/_bayespputils.cpython-312-aarch64-linux-gnu.so +0 -0
- lalinference/_lalinference.cpython-312-aarch64-linux-gnu.so +0 -0
- lalinference/{lalinference.py → _lalinference_swig.py} +1 -1
- lalinference/bayespputils.py +35 -39
- lalinference/git_version.py +5 -5
- lalinference/imrtgr/nrutils.py +118 -135
- lalinference/io/__init__.py +4 -6
- lalinference/lalinference_pipe_utils.py +12 -21
- lalinference/nest2pos.py +0 -1
- lalinference/plot/__init__.py +4 -5
- lalinference/plot/spindisk.py +2 -3
- lalinference/tiger/make_injtimes.py +0 -1
- lalinference/tiger/omegascans_dag.py +6 -3
- lalinference/tiger/postproc.py +11 -13
- lalinference/wrapper.py +0 -1
- lalinspiral/__init__.py +2 -2
- lalinspiral/_lalinspiral.cpython-312-aarch64-linux-gnu.so +0 -0
- lalinspiral/{lalinspiral.py → _lalinspiral_swig.py} +1 -1
- lalinspiral/_thinca.cpython-312-aarch64-linux-gnu.so +0 -0
- lalinspiral/git_version.py +5 -5
- lalinspiral/inspinjfind.py +6 -11
- lalinspiral/thinca.py +11 -11
- lalmetaio/__init__.py +2 -2
- lalmetaio/_lalmetaio.cpython-312-aarch64-linux-gnu.so +0 -0
- lalmetaio/{lalmetaio.py → _lalmetaio_swig.py} +1 -1
- lalmetaio/git_version.py +5 -5
- lalpulsar/PulsarParametersWrapper.py +18 -10
- lalpulsar/__init__.py +2 -2
- lalpulsar/_lalpulsar.cpython-312-aarch64-linux-gnu.so +0 -0
- lalpulsar/{lalpulsar.py → _lalpulsar_swig.py} +1 -1
- lalpulsar/git_version.py +5 -5
- lalpulsar/knope_utils.py +9 -10
- 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 +7 -0
- lalpulsar/pulsarhtmlutils.py +52 -53
- lalpulsar/pulsarpputils.py +28 -25
- lalpulsar/simulateCW.py +49 -6
- lalpulsar/simulateHeterodynedCW.py +4 -5
- lalsimulation/__init__.py +2 -2
- lalsimulation/_lalsimulation.cpython-312-aarch64-linux-gnu.so +0 -0
- lalsimulation/{lalsimulation.py → _lalsimulation_swig.py} +1 -1
- lalsimulation/git_version.py +5 -5
- lalsimulation/gwsignal/models/__init__.py +2 -0
- lalsimulation/gwsignal/models/pyseobnr_model.py +174 -1
- lalsimulation/nrfits/NRSur3dq8Remnant.py +1 -1
- lalsimulation/nrfits/NRSur7dq4Remnant.py +1 -1
- lalsimulation/nrfits/eval_fits.py +1 -1
- lalsimulation/nrfits/nrfits.py +0 -2
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesBurstPPAnalysis +4 -8
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesBurstPostProc +10 -20
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesCombinePTMCMCh5s +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesCombinePosteriors +0 -2
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesCompPos +3 -4
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesDIEvidence +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesGraceDBinfo +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesMCMC2pos +7 -5
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesPPAnalysis +3 -6
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesPlotSpinDisk +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesPosToSimBurst +6 -9
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesPosToSimInspiral +5 -8
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesPostProc +5 -9
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/cbcBayesThermoInt +7 -7
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/imrtgr_imr_consistency_test +38 -40
- lalsuite-7.26.2.dev20251202.data/scripts/lal_cache +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lal_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lal_fftwf_wisdom +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lal_path2cache +1 -2
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lal_searchsum2cache +3 -5
- lalsuite-7.26.2.dev20251202.data/scripts/lal_simd_detect +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lal_tconvert +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lal_version +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_ComputePSD +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_CopySFTs +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_DistanceVsMass +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_HierarchicalSearch +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_MakeSFTDAG +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_SFTclean +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_StringAddFrame +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_StringSearch +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_Weave +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_animate +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_binj +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_blindinj +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_cache +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_cafe +3 -8
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_calfacs +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_cbc_stochasticbank +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_chirplen +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_coh_PTF_inspiral +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_coinj +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_compareFstats +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_compareSFTs +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_cosmicstring_pipe +8 -9
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_create_time_correction_ephemeris +1 -4
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_effdist +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_exc_resp +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_fftw_wisdom +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_fftwf_wisdom +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_fits_overview +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_fr_ninja +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_frextr +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_frinfo +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_frjoin +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_frread +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_frview +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_gwf2xml +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_heterodyne_pulsar +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_inspawgfile +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_inspfrinj +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_inspinj +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_inspiralDistance +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_knope +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_knope_automation_script +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_knope_collate_results +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_knope_result_page +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_makeblindinj +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_makeblindinj_himass +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_ninja +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_path2cache +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_power +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_power_likelihood_pipe +2 -3
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_power_pipe +3 -12
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_pulsar_parameter_estimation_nested +1 -4
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_random_bank +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_randombank +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_searchsum2cache +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_spec_avg +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_spininj +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_splitbank +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_ssbtodetector +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_apply_vetoes +4 -5
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_calc_likelihood +1 -2
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_contour_plotter +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_contour_plotter_largeloops +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_cs_gamma +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_cs_gamma_largeloops +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_final +4 -5
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_meas_likelihood +6 -7
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_plot_binj +5 -6
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalapps_string_plot_likelihood +1 -2
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_tconvert +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_tmpltbank +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_version +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalapps_xtefitstoframe +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_cluster +2 -8
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_coinc +5 -11
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_cut +9 -15
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_gen_timeslides +8 -13
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_inj_pic +6 -12
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_injfind +4 -9
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_plot_tisi +3 -8
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_power_calc_likelihood +1 -2
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_power_final +1 -2
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_power_meas_likelihood +3 -4
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_power_plot_binj +3 -4
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalburst_power_plot_binjtf +4 -5
- lalsuite-7.26.2.dev20251202.data/scripts/lalburst_version +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-cat +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-cksum +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-cut +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-dump +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-fmt +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-paste +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-print +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-split +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-stat +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-stream +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalfr-vis +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalframe_version +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalinference_bench +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalinference_burst +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_burst_pp_pipe +10 -7
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_coherence_test +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_compute_roq_weights +1 -2
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_cpnest +12 -11
- lalsuite-7.26.2.dev20251202.data/scripts/lalinference_datadump +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_evolve_spins_and_append_samples +0 -1
- lalsuite-7.26.2.dev20251202.data/scripts/lalinference_injectedlike +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_merge_posteriors +0 -3
- lalsuite-7.26.2.dev20251202.data/scripts/lalinference_mpi_wrapper +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_multi_pipe +5 -3
- lalsuite-7.26.2.dev20251202.data/scripts/lalinference_nest +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_nest2pos +0 -1
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_pipe +11 -10
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_pp_pipe +10 -6
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinference_review_test +6 -5
- lalsuite-7.26.2.dev20251202.data/scripts/lalinference_version +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinspiral_injfind +4 -5
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalinspiral_thinca +7 -12
- lalsuite-7.26.2.dev20251202.data/scripts/lalinspiral_version +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalmetaio_version +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_ComputePSD +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalpulsar_CopyPublicSFTs +18 -1
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_DriveHoughMulti +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_HierarchicalSearch +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalpulsar_MakeSFTDAG +595 -390
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_MakeSFTs +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_MoveSFTs +200 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_PiecewiseSearch +963 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_PredictFstat +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_PrintDetectorState +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_SFTclean +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_SFTvalidate +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_Weave +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_WeaveCompare +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_WeaveConcat +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_WeaveSetup +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_compareFstats +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_compareSFTs +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalpulsar_create_time_correction_ephemeris +1 -4
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_crosscorr_v2 +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_dumpSFT +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_fits_header_getval +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_fits_header_list +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_fits_overview +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_fits_table_list +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_frequency_evolution +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_heterodyne +6 -0
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalpulsar_knope +8 -4
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalpulsar_knope_automation_script +5 -2
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalpulsar_knope_collate_results +12 -7
- {lalsuite-7.22.1.dev20240408.data → lalsuite-7.26.2.dev20251202.data}/scripts/lalpulsar_knope_result_page +9 -4
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_spec_avg +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_spec_avg_long +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_spec_coherence +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_splitSFTs +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_ssbtodetector +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_synthesizeLVStats +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalpulsar_version +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-bh-qnmode +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-bh-ringdown +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-bh-sphwf +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-burst +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-detector-noise +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-detector-strain +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-inject +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-inspiral +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-ns-eos-table +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-ns-mass-radius +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-ns-params +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-sgwb +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsim-unicorn +6 -0
- lalsuite-7.26.2.dev20251202.data/scripts/lalsimulation_version +6 -0
- {lalsuite-7.22.1.dev20240408.dist-info → lalsuite-7.26.2.dev20251202.dist-info}/METADATA +28 -11
- lalsuite-7.26.2.dev20251202.dist-info/RECORD +733 -0
- {lalsuite-7.22.1.dev20240408.dist-info → lalsuite-7.26.2.dev20251202.dist-info}/WHEEL +1 -1
- lalsuite.libs/libcfitsio-d1819b02.so.10.0.0 +0 -0
- lalsuite.libs/libframel-7c053be1.so.8.48.4 +0 -0
- lalsuite.libs/{libgsl-94dbbcc0.so.25.1.0 → libgsl-7aa43ddc.so.28.0.0} +0 -0
- lalsuite.libs/libgslcblas-3b2ae915.so.0.0.0 +0 -0
- lalsuite.libs/libhdf5-7a791ae9.so.310.5.1 +0 -0
- lalsuite.libs/libhdf5_hl-79b5d5b8.so.310.0.6 +0 -0
- lalsuite.libs/liblal-debd2aa1.so.20.5.0 +0 -0
- lalsuite.libs/liblalburst-308bbb81.so.8.0.0 +0 -0
- lalsuite.libs/liblalframe-6516e1c3.so.14.0.3 +0 -0
- lalsuite.libs/liblalinference-1721c8ba.so.23.1.7 +0 -0
- lalsuite.libs/liblalinspiral-98f96f4d.so.18.0.2 +0 -0
- lalsuite.libs/{liblalmetaio-e1c21f30.so.11.0.0 → liblalmetaio-62eed54a.so.11.0.1} +0 -0
- lalsuite.libs/liblalpulsar-044eaf70.so.30.1.1 +0 -0
- lalsuite.libs/{liblalsimulation-11365514.so.32.4.0 → liblalsimulation-c9131b72.so.37.2.0} +0 -0
- lalsuite.libs/liblalsupport-9153c561.so.14.4.0 +0 -0
- lalsuite.libs/{liblalburst-a9696b55.so.8.0.0 → libmetaio-b1be2527.so.1.1.0} +0 -0
- lalapps/bin/cbcBayesBurstPPAnalysis +0 -5
- lalapps/bin/cbcBayesBurstPostProc +0 -5
- lalapps/bin/cbcBayesCombinePTMCMCh5s +0 -5
- lalapps/bin/cbcBayesCombinePosteriors +0 -5
- lalapps/bin/cbcBayesCompPos +0 -5
- lalapps/bin/cbcBayesDIEvidence +0 -5
- lalapps/bin/cbcBayesGraceDBinfo +0 -5
- lalapps/bin/cbcBayesMCMC2pos +0 -5
- lalapps/bin/cbcBayesPPAnalysis +0 -5
- lalapps/bin/cbcBayesPlotSpinDisk +0 -5
- lalapps/bin/cbcBayesPosToSimBurst +0 -5
- lalapps/bin/cbcBayesPosToSimInspiral +0 -5
- lalapps/bin/cbcBayesPostProc +0 -5
- lalapps/bin/cbcBayesThermoInt +0 -5
- lalapps/bin/imrtgr_imr_consistency_test +0 -5
- lalapps/bin/lal_path2cache +0 -5
- lalapps/bin/lal_searchsum2cache +0 -5
- lalapps/bin/lalapps_cafe +0 -5
- lalapps/bin/lalapps_calcexpsnr +0 -0
- lalapps/bin/lalapps_cosmicstring_pipe +0 -5
- lalapps/bin/lalapps_create_solar_system_ephemeris +0 -16
- lalapps/bin/lalapps_create_solar_system_ephemeris_python +0 -16
- lalapps/bin/lalapps_power_likelihood_pipe +0 -5
- lalapps/bin/lalapps_power_pipe +0 -5
- lalapps/bin/lalapps_string_apply_vetoes +0 -5
- lalapps/bin/lalapps_string_calc_likelihood +0 -5
- lalapps/bin/lalapps_string_contour_plotter +0 -5
- lalapps/bin/lalapps_string_contour_plotter_largeloops +0 -5
- lalapps/bin/lalapps_string_cs_gamma +0 -5
- lalapps/bin/lalapps_string_cs_gamma_largeloops +0 -5
- lalapps/bin/lalapps_string_final +0 -5
- lalapps/bin/lalapps_string_meas_likelihood +0 -5
- lalapps/bin/lalapps_string_plot_binj +0 -5
- lalapps/bin/lalapps_string_plot_likelihood +0 -5
- lalapps/bin/lalburst_cluster +0 -5
- lalapps/bin/lalburst_coinc +0 -5
- lalapps/bin/lalburst_cut +0 -5
- lalapps/bin/lalburst_gen_timeslides +0 -5
- lalapps/bin/lalburst_inj_pic +0 -5
- lalapps/bin/lalburst_injfind +0 -5
- lalapps/bin/lalburst_plot_tisi +0 -5
- lalapps/bin/lalburst_power_calc_likelihood +0 -5
- lalapps/bin/lalburst_power_final +0 -5
- lalapps/bin/lalburst_power_meas_likelihood +0 -5
- lalapps/bin/lalburst_power_plot_binj +0 -5
- lalapps/bin/lalburst_power_plot_binjtf +0 -5
- lalapps/bin/lalinference_burst_pp_pipe +0 -5
- lalapps/bin/lalinference_coherence_test +0 -5
- lalapps/bin/lalinference_compute_roq_weights +0 -5
- lalapps/bin/lalinference_cpnest +0 -5
- lalapps/bin/lalinference_evolve_spins_and_append_samples +0 -5
- lalapps/bin/lalinference_kombine +0 -0
- lalapps/bin/lalinference_mcmc +0 -0
- lalapps/bin/lalinference_merge_posteriors +0 -5
- lalapps/bin/lalinference_multi_pipe +0 -5
- lalapps/bin/lalinference_nest2pos +0 -5
- lalapps/bin/lalinference_pipe +0 -5
- lalapps/bin/lalinference_pp_pipe +0 -5
- lalapps/bin/lalinference_review_test +0 -5
- lalapps/bin/lalinspiral_injfind +0 -5
- lalapps/bin/lalinspiral_thinca +0 -5
- lalapps/bin/lalpulsar_CopyPublicSFTs +0 -5
- lalapps/bin/lalpulsar_MakeSFTDAG +0 -5
- lalapps/bin/lalpulsar_combine_crosscorr_toplists +0 -5
- lalapps/bin/lalpulsar_create_solar_system_ephemeris +0 -0
- lalapps/bin/lalpulsar_create_solar_system_ephemeris_python +0 -5
- lalapps/bin/lalpulsar_knope +0 -5
- lalapps/bin/lalpulsar_knope_automation_script +0 -5
- lalapps/bin/lalpulsar_knope_collate_results +0 -5
- lalapps/bin/lalpulsar_knope_result_page +0 -5
- lalapps/bin/lalpulsar_run_crosscorr_v2 +0 -5
- lalapps/inspiral.py +0 -3394
- lalsuite-7.22.1.dev20240408.data/scripts/lal_cache +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lal_fftw_wisdom +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lal_fftwf_wisdom +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lal_simd_detect +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lal_tconvert +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lal_version +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_ComputeAntennaPattern +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_ComputeFstatBenchmark +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_ComputeFstatLatticeCount +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_ComputeFstatMCUpperLimit +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_ComputeFstatistic_v2 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_ComputePSD +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_CopySFTs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_DistanceVsMass +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_DriveHoughMulti +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_FstatMetric_v2 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_HierarchSearchGCT +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_HierarchicalSearch +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_MakeSFTDAG +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_MakeSFTs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_Makefakedata_v4 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_Makefakedata_v5 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_PredictFstat +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_PrintDetectorState +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_SFTclean +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_SFTvalidate +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_StringAddFrame +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_StringSearch +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_Weave +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_WeaveCompare +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_WeaveConcat +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_WeaveSetup +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_WriteSFTsfromSFDBs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_animate +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_binj +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_blindinj +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_cache +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_calcexpsnr +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_calfacs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_cbc_stochasticbank +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_chirplen +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_coh_PTF_inspiral +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_coinj +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_combine_crosscorr_toplists +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_compareFstats +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_compareSFTs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_create_solar_system_ephemeris +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_create_solar_system_ephemeris_python +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_dumpSFT +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_effdist +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_exc_resp +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_fftw_wisdom +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_fftwf_wisdom +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_fits_header_getval +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_fits_header_list +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_fits_overview +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_fits_table_list +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_fr_ninja +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_frextr +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_frinfo +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_frjoin +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_frread +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_frview +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_gwf2xml +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_heterodyne_pulsar +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_inspawgfile +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_inspfrinj +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_inspinj +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_inspiralDistance +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_knope +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_knope_automation_script +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_knope_collate_results +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_knope_result_page +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_makeblindinj +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_makeblindinj_himass +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_ninja +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_path2cache +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_power +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_pulsar_crosscorr_v2 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_pulsar_frequency_evolution +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_random_bank +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_randombank +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_run_pulsar_crosscorr_v2 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_searchsum2cache +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_spec_avg +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_spec_avg_long +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_spec_coherence +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_spininj +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_splitSFTs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_splitbank +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_ssbtodetector +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_synthesizeBstatMC +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_synthesizeLVStats +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_synthesizeTransientStats +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_tconvert +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_tmpltbank +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_version +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalapps_xtefitstoframe +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalburst_version +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-cat +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-cksum +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-cut +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-dump +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-fmt +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-paste +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-print +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-split +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-stat +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-stream +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalfr-vis +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalframe_version +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinference_bench +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinference_burst +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinference_datadump +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinference_injectedlike +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinference_kombine +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinference_mcmc +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinference_mpi_wrapper +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinference_nest +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinference_version +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalinspiral_version +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalmetaio_version +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_ComputeAntennaPattern +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_ComputeFstatBenchmark +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_ComputeFstatLatticeCount +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_ComputeFstatistic_v2 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_ComputePSD +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_DriveHoughMulti +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_FstatMetric_v2 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_HierarchSearchGCT +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_HierarchicalSearch +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_MakeSFTs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_Makefakedata_v4 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_Makefakedata_v5 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_PredictFstat +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_PrintDetectorState +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_SFTclean +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_SFTvalidate +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_Weave +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_WeaveCompare +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_WeaveConcat +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_WeaveSetup +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_WriteSFTsfromSFDBs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_combine_crosscorr_toplists +0 -114
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_compareFstats +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_compareSFTs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_create_solar_system_ephemeris +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_create_solar_system_ephemeris_python +0 -314
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_crosscorr_v2 +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_dumpSFT +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_fits_header_getval +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_fits_header_list +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_fits_overview +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_fits_table_list +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_frequency_evolution +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_heterodyne +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_parameter_estimation_nested +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_run_crosscorr_v2 +0 -114
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_spec_avg +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_spec_avg_long +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_spec_coherence +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_splitSFTs +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_ssbtodetector +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_synthesizeBstatMC +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_synthesizeLVStats +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_synthesizeTransientStats +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalpulsar_version +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-bh-qnmode +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-bh-ringdown +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-bh-sphwf +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-burst +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-detector-noise +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-detector-strain +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-inject +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-inspiral +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-ns-eos-table +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-ns-mass-radius +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-ns-params +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-sgwb +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsim-unicorn +0 -9
- lalsuite-7.22.1.dev20240408.data/scripts/lalsimulation_version +0 -9
- lalsuite-7.22.1.dev20240408.dist-info/RECORD +0 -801
- lalsuite.libs/libcfitsio-532e331a.so.9.4.1.0 +0 -0
- lalsuite.libs/libframel-aeb609a2.so.8.43.1 +0 -0
- lalsuite.libs/libgslcblas-54d609c0.so.0.0.0 +0 -0
- lalsuite.libs/libhdf5-ea33c527.so.310.1.0 +0 -0
- lalsuite.libs/libhdf5_hl-0d80d0b5.so.310.0.1 +0 -0
- lalsuite.libs/libhwloc-8ede5728.so.15.2.0 +0 -0
- lalsuite.libs/liblal-64dd038b.so.20.3.3 +0 -0
- lalsuite.libs/liblalframe-fbdbee2a.so.14.0.1 +0 -0
- lalsuite.libs/liblalinference-23be231c.so.23.1.4 +0 -0
- lalsuite.libs/liblalinspiral-c9370bff.so.18.0.0 +0 -0
- lalsuite.libs/liblalpulsar-81ec7d94.so.29.0.4 +0 -0
- lalsuite.libs/liblalsupport-58f59a0d.so.14.2.0 +0 -0
- lalsuite.libs/libmetaio-2ada2150.so.1.1.0 +0 -0
- lalsuite.libs/libmpi-917c0d24.so.12.1.11 +0 -0
- {lalsuite-7.22.1.dev20240408.dist-info → lalsuite-7.26.2.dev20251202.dist-info/licenses}/COPYING +0 -0
- {lalsuite-7.22.1.dev20240408.dist-info → lalsuite-7.26.2.dev20251202.dist-info}/top_level.txt +0 -0
lalapps/inspiral.py
DELETED
|
@@ -1,3394 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Classes needed for the inspiral analysis pipeline.
|
|
3
|
-
This script produced the necessary condor submit and dag files to run
|
|
4
|
-
the standalone inspiral code on LIGO data
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from __future__ import print_function
|
|
8
|
-
|
|
9
|
-
__author__ = 'Duncan Brown <duncan@gravity.phys.uwm.edu>'
|
|
10
|
-
__date__ = '$Date$'
|
|
11
|
-
__version__ = '$Revision$'
|
|
12
|
-
|
|
13
|
-
import copy
|
|
14
|
-
import string
|
|
15
|
-
import sys, os, re, subprocess
|
|
16
|
-
from glue import pipeline
|
|
17
|
-
from glue import lal
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class InspiralError(Exception):
|
|
21
|
-
def __init__(self, args=None):
|
|
22
|
-
self.args = args
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
#############################################################################
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class InspiralAnalysisJob(pipeline.AnalysisJob, pipeline.CondorDAGJob):
|
|
29
|
-
"""
|
|
30
|
-
An inspiral analysis job captures some of the common features of the specific
|
|
31
|
-
inspiral jobs that appear below. Specifically, the universe and exec_name
|
|
32
|
-
are set, the stdout and stderr from the job are directed to the logs
|
|
33
|
-
directory. The path to the executable is determined from the ini file.
|
|
34
|
-
"""
|
|
35
|
-
def __init__(self,cp,sections,exec_name,extension='xml'):
|
|
36
|
-
"""
|
|
37
|
-
cp = ConfigParser object from which options are read.
|
|
38
|
-
sections = sections of the ConfigParser that get added to the opts
|
|
39
|
-
exec_name = exec_name name in ConfigParser
|
|
40
|
-
"""
|
|
41
|
-
self.__exec_name = exec_name
|
|
42
|
-
self.__extension = extension
|
|
43
|
-
universe = cp.get('condor','universe')
|
|
44
|
-
executable = cp.get('condor',exec_name)
|
|
45
|
-
pipeline.CondorDAGJob.__init__(self,universe,executable)
|
|
46
|
-
pipeline.AnalysisJob.__init__(self,cp)
|
|
47
|
-
self.add_condor_cmd('copy_to_spool','False')
|
|
48
|
-
self.__use_gpus = cp.has_option('condor', 'use-gpus')
|
|
49
|
-
|
|
50
|
-
mycp = copy.deepcopy(cp)
|
|
51
|
-
for sec in sections:
|
|
52
|
-
if mycp.has_section(sec):
|
|
53
|
-
# add all the other options as arguments to the code
|
|
54
|
-
self.add_ini_opts(mycp, sec)
|
|
55
|
-
|
|
56
|
-
else:
|
|
57
|
-
print("warning: config file is missing section [" + sec + "]", file=sys.stderr)
|
|
58
|
-
|
|
59
|
-
self.set_stdout_file('logs/' + exec_name + \
|
|
60
|
-
'-$(macrogpsstarttime)-$(macrogpsendtime)-$(cluster)-$(process).out')
|
|
61
|
-
self.set_stderr_file('logs/' + exec_name + \
|
|
62
|
-
'-$(macrogpsstarttime)-$(macrogpsendtime)-$(cluster)-$(process).err')
|
|
63
|
-
self.set_sub_file(exec_name + '.sub')
|
|
64
|
-
|
|
65
|
-
def set_exec_name(self,exec_name):
|
|
66
|
-
"""
|
|
67
|
-
Set the exec_name name
|
|
68
|
-
"""
|
|
69
|
-
self.__exec_name = exec_name
|
|
70
|
-
|
|
71
|
-
def get_exec_name(self):
|
|
72
|
-
"""
|
|
73
|
-
Get the exec_name name
|
|
74
|
-
"""
|
|
75
|
-
return self.__exec_name
|
|
76
|
-
|
|
77
|
-
def set_extension(self,extension):
|
|
78
|
-
"""
|
|
79
|
-
Set the file extension
|
|
80
|
-
"""
|
|
81
|
-
self.__extension = extension
|
|
82
|
-
|
|
83
|
-
def get_extension(self):
|
|
84
|
-
"""
|
|
85
|
-
Get the extension for the file name
|
|
86
|
-
"""
|
|
87
|
-
return self.__extension
|
|
88
|
-
|
|
89
|
-
def get_use_gpus(self):
|
|
90
|
-
"""
|
|
91
|
-
Get whether this job was requested to run on a GPU node
|
|
92
|
-
"""
|
|
93
|
-
return self.__use_gpus
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
#############################################################################
|
|
97
|
-
|
|
98
|
-
class InspiralPlottingJob(InspiralAnalysisJob):
|
|
99
|
-
"""
|
|
100
|
-
The InspiralPlottingJob class will assign options common to all plotting
|
|
101
|
-
jobs. Currently this is only MPLCONFIGDIR.
|
|
102
|
-
"""
|
|
103
|
-
def __init__(self,cp,sections,exec_name,extension='xml'):
|
|
104
|
-
"""
|
|
105
|
-
cp = ConfigParser object from which options are read.
|
|
106
|
-
sections = sections of the ConfigParser that get added to the opts
|
|
107
|
-
exec_name = exec_name name in ConfigParser
|
|
108
|
-
"""
|
|
109
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
110
|
-
self.add_condor_cmd('getenv','True')
|
|
111
|
-
if cp.has_option('pipeline','matplotlibdir'):
|
|
112
|
-
MPLConfigPath = cp.get('pipeline','matplotlibdir')
|
|
113
|
-
self.add_condor_cmd('environment','MPLCONFIGDIR=' + MPLConfigPath)
|
|
114
|
-
|
|
115
|
-
#############################################################################
|
|
116
|
-
|
|
117
|
-
class TmpltBankJob(InspiralAnalysisJob):
|
|
118
|
-
"""
|
|
119
|
-
A lalapps_tmpltbank job used by the inspiral pipeline. The static options
|
|
120
|
-
are read from the sections [data] and [tmpltbank] in the ini file. The
|
|
121
|
-
stdout and stderr from the job are directed to the logs directory. The job
|
|
122
|
-
runs in the universe specfied in the ini file. The path to the executable
|
|
123
|
-
is determined from the ini file.
|
|
124
|
-
"""
|
|
125
|
-
def __init__(self,cp):
|
|
126
|
-
"""
|
|
127
|
-
cp = ConfigParser object from which options are read.
|
|
128
|
-
"""
|
|
129
|
-
exec_name = 'tmpltbank'
|
|
130
|
-
extension = 'xml'
|
|
131
|
-
sections = ['data','tmpltbank']
|
|
132
|
-
|
|
133
|
-
have_pycbc = False
|
|
134
|
-
if cp.has_option('tmpltbank', 'pycbc'):
|
|
135
|
-
have_pycbc=True
|
|
136
|
-
cp.set('condor', 'universe', 'vanilla')
|
|
137
|
-
|
|
138
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
139
|
-
|
|
140
|
-
if have_pycbc:
|
|
141
|
-
self.add_condor_cmd('getenv', 'True')
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
class InspInjJob(InspiralAnalysisJob):
|
|
146
|
-
"""
|
|
147
|
-
A lalapps_inspinj job used by the grb inspiral pipeline. The static options
|
|
148
|
-
are read from the section [inspinj] in the ini file. The
|
|
149
|
-
stdout and stderr from the job are directed to the logs directory. The
|
|
150
|
-
job runs in the universe specified in the ini file. The path to the
|
|
151
|
-
executable is determined from the ini file.
|
|
152
|
-
"""
|
|
153
|
-
def __init__(self,cp):
|
|
154
|
-
"""
|
|
155
|
-
cp = ConfigParser object from which options are read.
|
|
156
|
-
"""
|
|
157
|
-
exec_name = 'inspinj'
|
|
158
|
-
sections = ['inspinj']
|
|
159
|
-
extension = 'xml'
|
|
160
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
161
|
-
self.set_universe('vanilla')
|
|
162
|
-
|
|
163
|
-
self.__listDone=[]
|
|
164
|
-
self.__listNodes=[]
|
|
165
|
-
|
|
166
|
-
def set_done(self,number,node):
|
|
167
|
-
self.__listDone.append(number)
|
|
168
|
-
self.__listNodes.append(node)
|
|
169
|
-
|
|
170
|
-
def check_node(self, number):
|
|
171
|
-
if self.__listDone.count(number):
|
|
172
|
-
index=self.__listDone.index(number)
|
|
173
|
-
return self.__listNodes[index]
|
|
174
|
-
return None
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
class BbhInjJob(InspiralAnalysisJob):
|
|
178
|
-
"""
|
|
179
|
-
A lalapps_bbhinj job used by the online inspiral pipeline. The static options
|
|
180
|
-
are read from the section [bbhinj] in the ini file. The
|
|
181
|
-
stdout and stderr from the job are directed to the logs directory. The
|
|
182
|
-
job runs in the universe specified in the ini file. The path to the
|
|
183
|
-
executable is determined from the ini file.
|
|
184
|
-
"""
|
|
185
|
-
def __init__(self,cp):
|
|
186
|
-
"""
|
|
187
|
-
cp = ConfigParser object from which options are read.
|
|
188
|
-
"""
|
|
189
|
-
exec_name = 'bbhinj'
|
|
190
|
-
sections = ['bbhinj']
|
|
191
|
-
extension = 'xml'
|
|
192
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
class RandomBankJob(InspiralAnalysisJob):
|
|
196
|
-
"""
|
|
197
|
-
A lalapps_randombank job used by the inspiral pipeline. The static options
|
|
198
|
-
are read from the section [randombank] in the ini file. The stdout and
|
|
199
|
-
stderr from the job are directed to the logs directory. The job runs in the
|
|
200
|
-
universe specfied in the ini file. The path to the executable is determined
|
|
201
|
-
from the ini file.
|
|
202
|
-
"""
|
|
203
|
-
def __init__(self,cp):
|
|
204
|
-
"""
|
|
205
|
-
cp = ConfigParser object from which options are read.
|
|
206
|
-
"""
|
|
207
|
-
exec_name = 'randombank'
|
|
208
|
-
sections = ['randombank']
|
|
209
|
-
extension = 'xml'
|
|
210
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
class SplitBankJob(InspiralAnalysisJob):
|
|
214
|
-
"""
|
|
215
|
-
A lalapps_splitbank job used by the inspiral pipeline. The static options
|
|
216
|
-
are read from the section [splitbank] in the ini file. The stdout and stderr
|
|
217
|
-
from the job are directed to the logs directory. The job runs in the
|
|
218
|
-
universe specfied in the ini file. The path to the executable is determined
|
|
219
|
-
from the ini file.
|
|
220
|
-
"""
|
|
221
|
-
def __init__(self,cp):
|
|
222
|
-
"""
|
|
223
|
-
cp = ConfigParser object from which options are read.
|
|
224
|
-
"""
|
|
225
|
-
exec_name = 'splitbank'
|
|
226
|
-
sections = ['splitbank']
|
|
227
|
-
extension = 'xml'
|
|
228
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
class InspiralJob(InspiralAnalysisJob):
|
|
232
|
-
"""
|
|
233
|
-
A lalapps_inspiral job used by the inspiral pipeline. The static options
|
|
234
|
-
are read from the sections [data] and [inspiral] in the ini file. The
|
|
235
|
-
stdout and stderr from the job are directed to the logs directory. The job
|
|
236
|
-
runs in the universe specfied in the ini file. The path to the executable
|
|
237
|
-
is determined from the ini file. If the user requested GPU utilization,
|
|
238
|
-
checks are done to ensure a successful run and the necessary Condor
|
|
239
|
-
commands are added.
|
|
240
|
-
"""
|
|
241
|
-
def __init__(self,cp):
|
|
242
|
-
"""
|
|
243
|
-
cp = ConfigParser object from which options are read.
|
|
244
|
-
"""
|
|
245
|
-
exec_name = 'inspiral'
|
|
246
|
-
sections = ['data','inspiral']
|
|
247
|
-
extension = 'xml'
|
|
248
|
-
|
|
249
|
-
have_pycbc = False
|
|
250
|
-
if cp.has_option('inspiral', 'pycbc'):
|
|
251
|
-
have_pycbc=True
|
|
252
|
-
cp.set('condor', 'universe', 'vanilla')
|
|
253
|
-
cp.remove_option('inspiral', 'pycbc')
|
|
254
|
-
|
|
255
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
256
|
-
self.add_condor_cmd('environment',"KMP_LIBRARY=serial;MKL_SERIAL=yes")
|
|
257
|
-
self.add_condor_cmd('request_memory', '1000')
|
|
258
|
-
|
|
259
|
-
if have_pycbc:
|
|
260
|
-
self.add_condor_cmd('getenv', 'True')
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
if self.get_use_gpus():
|
|
264
|
-
# make sure the vanilla universe is being used
|
|
265
|
-
universe = cp.get('condor', 'universe')
|
|
266
|
-
if universe != 'vanilla':
|
|
267
|
-
raise RuntimeError('Cannot run GPU inspiral jobs on Condor ' + \
|
|
268
|
-
universe + ' universe. Please use vanilla.')
|
|
269
|
-
# make sure the executable has CUDA dependencies
|
|
270
|
-
executable = cp.get('condor', exec_name)
|
|
271
|
-
objdump_re = re.compile(r'^\s*NEEDED\s*(libcufft\.|libcudart\.).*')
|
|
272
|
-
proc = subprocess.Popen(['objdump', '-p', executable], \
|
|
273
|
-
stdin=None, stdout=subprocess.PIPE)
|
|
274
|
-
cuda_deps = False
|
|
275
|
-
for line in proc.stdout:
|
|
276
|
-
m = objdump_re.match(line)
|
|
277
|
-
if m:
|
|
278
|
-
cuda_deps = True
|
|
279
|
-
break
|
|
280
|
-
if not cuda_deps:
|
|
281
|
-
raise RuntimeError('Inspiral executable has no CUDA ' + \
|
|
282
|
-
'dependencies. Please use a CUDA-enabled build.')
|
|
283
|
-
self.add_opt('gpu-device-id', '0')
|
|
284
|
-
self.add_condor_cmd('+WantGPU', 'true')
|
|
285
|
-
self.add_condor_cmd('Requirements', '( GPU_PRESENT =?= true)')
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
class InspiralCkptJob(InspiralAnalysisJob):
|
|
289
|
-
"""
|
|
290
|
-
A lalapps_inspiral job used by the inspiral pipeline. The static options
|
|
291
|
-
are read from the sections [data] and [inspiral] in the ini file. The
|
|
292
|
-
stdout and stderr from the job are directed to the logs directory. The job
|
|
293
|
-
runs in the universe specfied in the ini file. The path to the executable
|
|
294
|
-
is determined from the ini file.
|
|
295
|
-
This one checkpoints.
|
|
296
|
-
"""
|
|
297
|
-
def __init__(self,cp):
|
|
298
|
-
"""
|
|
299
|
-
cp = ConfigParser object from which options are read.
|
|
300
|
-
"""
|
|
301
|
-
exec_name = 'inspiral'
|
|
302
|
-
sections = []
|
|
303
|
-
extension = 'xml'
|
|
304
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
305
|
-
self.add_short_opt('_condor_relocatable', '')
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
class PTFInspiralJob(InspiralAnalysisJob):
|
|
309
|
-
"""
|
|
310
|
-
A lalapps_inspiral job used by the inspiral pipeline. The static options
|
|
311
|
-
are read from the sections [data] and [inspiral] in the ini file. The
|
|
312
|
-
stdout and stderr from the job are directed to the logs directory. The job
|
|
313
|
-
runs in the universe specfied in the ini file. The path to the executable
|
|
314
|
-
is determined from the ini file.
|
|
315
|
-
"""
|
|
316
|
-
def __init__(self,cp):
|
|
317
|
-
"""
|
|
318
|
-
cp = ConfigParser object from which options are read.
|
|
319
|
-
"""
|
|
320
|
-
exec_name = 'coh_PTF_inspiral'
|
|
321
|
-
sections = ['coh_PTF_inspiral']
|
|
322
|
-
extension = 'xml'
|
|
323
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
324
|
-
ramValue = 1390
|
|
325
|
-
if cp.has_section('coh_PTF_inspiral-meta'):
|
|
326
|
-
if cp.has_option('coh_PTF_inspiral-meta','minimum-ram'):
|
|
327
|
-
ramValue = int(cp.get('coh_PTF_inspiral-meta','minimum-ram'))
|
|
328
|
-
self.add_condor_cmd('request_memory', '%d' %(ramValue))
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
class TrigbankJob(InspiralAnalysisJob):
|
|
332
|
-
"""
|
|
333
|
-
A lalapps_trigbank job used by the inspiral pipeline. The static
|
|
334
|
-
options are read from the section [trigbank] in the ini file. The
|
|
335
|
-
stdout and stderr from the job are directed to the logs directory. The job
|
|
336
|
-
always runs in the scheduler universe. The path to the executable is
|
|
337
|
-
determined from the ini file.
|
|
338
|
-
"""
|
|
339
|
-
def __init__(self,cp):
|
|
340
|
-
"""
|
|
341
|
-
cp = ConfigParser object from which options are read.
|
|
342
|
-
"""
|
|
343
|
-
exec_name = 'trigbank'
|
|
344
|
-
sections = ['trigbank']
|
|
345
|
-
extension = 'xml'
|
|
346
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
class IncaJob(InspiralAnalysisJob):
|
|
350
|
-
"""
|
|
351
|
-
A lalapps_inca job used by the inspiral pipeline. The static options are
|
|
352
|
-
read from the section [inca] in the ini file. The stdout and stderr from
|
|
353
|
-
the job are directed to the logs directory. The path to the executable is
|
|
354
|
-
determined from the ini file.
|
|
355
|
-
"""
|
|
356
|
-
def __init__(self,cp):
|
|
357
|
-
"""
|
|
358
|
-
cp = ConfigParser object from which options are read.
|
|
359
|
-
"""
|
|
360
|
-
exec_name = 'inca'
|
|
361
|
-
sections = ['inca']
|
|
362
|
-
extension = 'xml'
|
|
363
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
class ThincaJob(InspiralAnalysisJob):
|
|
367
|
-
"""
|
|
368
|
-
A lalapps_thinca job used by the inspiral pipeline. The static options are
|
|
369
|
-
read from the section [thinca] in the ini file. The stdout and stderr from
|
|
370
|
-
the job are directed to the logs directory. The path to the executable is
|
|
371
|
-
determined from the ini file.
|
|
372
|
-
"""
|
|
373
|
-
def __init__(self,cp):
|
|
374
|
-
"""
|
|
375
|
-
cp = ConfigParser object from which options are read.
|
|
376
|
-
"""
|
|
377
|
-
exec_name = 'thinca'
|
|
378
|
-
#sections = ['thinca']
|
|
379
|
-
sections = []
|
|
380
|
-
extension = 'xml'
|
|
381
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
382
|
-
if cp.has_section('thinca'):
|
|
383
|
-
self.add_ini_opts(cp,'thinca')
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
def add_ini_opts(self, cp, section):
|
|
387
|
-
"""
|
|
388
|
-
Parse command line options from a given section in an ini file and
|
|
389
|
-
pass to the executable.
|
|
390
|
-
@param cp: ConfigParser object pointing to the ini file.
|
|
391
|
-
@param section: section of the ini file to add to the options.
|
|
392
|
-
"""
|
|
393
|
-
for opt in cp.options(section):
|
|
394
|
-
arg = string.strip(cp.get(section,opt))
|
|
395
|
-
#self.add_opt(opt,arg)
|
|
396
|
-
if opt[-4:] == "file":
|
|
397
|
-
fname = os.path.split(arg)[-1]
|
|
398
|
-
if fname not in os.listdir('.'):
|
|
399
|
-
try:
|
|
400
|
-
os.symlink(arg,os.path.split(arg)[-1])
|
|
401
|
-
self.add_file_opt(opt,fname)
|
|
402
|
-
except:
|
|
403
|
-
print("sym link failed for " + arg + " grid workflows might be broken", file=sys.stderr)
|
|
404
|
-
self.add_file_opt(opt,arg)
|
|
405
|
-
else:
|
|
406
|
-
self.add_file_opt(opt,fname)
|
|
407
|
-
else:
|
|
408
|
-
self.add_opt(opt,arg)
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
class ThincaToCoincJob(InspiralAnalysisJob):
|
|
412
|
-
"""
|
|
413
|
-
A ThincaToCoinc job. The static options are read from the
|
|
414
|
-
section [thinca_to_coinc] in the ini file.
|
|
415
|
-
"""
|
|
416
|
-
def __init__(self, cp):
|
|
417
|
-
"""
|
|
418
|
-
@param cp: ConfigParser object from which options are read.
|
|
419
|
-
"""
|
|
420
|
-
exec_name = 'thinca_to_coinc'
|
|
421
|
-
sections = ['thinca_to_coinc']
|
|
422
|
-
extension = 'xml'
|
|
423
|
-
InspiralAnalysisJob.__init__(self, cp, sections, exec_name, extension)
|
|
424
|
-
self.add_condor_cmd('getenv', 'True')
|
|
425
|
-
self.__experiment_start_time = None
|
|
426
|
-
self.__experiment_end_time = None
|
|
427
|
-
# overwrite standard log file names
|
|
428
|
-
self.set_stdout_file('logs/' + exec_name + '-$(cluster)-$(process).out')
|
|
429
|
-
self.set_stderr_file('logs/' + exec_name + '-$(cluster)-$(process).err')
|
|
430
|
-
|
|
431
|
-
def set_experiment_start_time(self, experiment_start_time):
|
|
432
|
-
"""
|
|
433
|
-
Sets the experiment-start-time option. This is a required option.
|
|
434
|
-
@param experiment_start_time: gps start time of the experiment the thinca_to_coinc
|
|
435
|
-
job is in.
|
|
436
|
-
"""
|
|
437
|
-
self.add_opt('experiment-start-time', experiment_start_time)
|
|
438
|
-
self.__experiment_start_time = experiment_start_time
|
|
439
|
-
|
|
440
|
-
def set_experiment_end_time(self, experiment_end_time):
|
|
441
|
-
"""
|
|
442
|
-
Sets the experiment-end-time option. This is a required option.
|
|
443
|
-
@param experiment_end_time: gps end time of the experiment the thinca_to_coinc
|
|
444
|
-
job is in.
|
|
445
|
-
"""
|
|
446
|
-
self.add_opt('experiment-end-time', experiment_end_time)
|
|
447
|
-
self.__experiment_end_time = experiment_end_time
|
|
448
|
-
|
|
449
|
-
def get_experiment_start_time(self, experiment_start_time):
|
|
450
|
-
"""
|
|
451
|
-
Returns the value of the experiment-start-time option.
|
|
452
|
-
"""
|
|
453
|
-
return self.__experiment_start_time
|
|
454
|
-
|
|
455
|
-
def get_experiment_end_time(self, experiment_end_time):
|
|
456
|
-
"""
|
|
457
|
-
Returns the value of the experiment-end-time option.
|
|
458
|
-
"""
|
|
459
|
-
return self.__experiment_start_time
|
|
460
|
-
|
|
461
|
-
def set_simulation(self):
|
|
462
|
-
"""
|
|
463
|
-
Adds the simulation argument to the job.
|
|
464
|
-
"""
|
|
465
|
-
self.add_opt('simulation', '')
|
|
466
|
-
|
|
467
|
-
class HWinjPageJob(InspiralAnalysisJob):
|
|
468
|
-
"""
|
|
469
|
-
A HWinjPageJob, runs the hardware injection page script on the
|
|
470
|
-
output of the pipeline
|
|
471
|
-
"""
|
|
472
|
-
def __init__(self, cp):
|
|
473
|
-
"""
|
|
474
|
-
@param cp: ConfigParser object from which options are read.
|
|
475
|
-
"""
|
|
476
|
-
exec_name = "hardware_inj_page"
|
|
477
|
-
universe = "vanilla"
|
|
478
|
-
sections = "[hardware-injection-page]"
|
|
479
|
-
extension = 'html'
|
|
480
|
-
executable = cp.get('condor',exec_name)
|
|
481
|
-
pipeline.CondorDAGJob.__init__(self, universe, executable)
|
|
482
|
-
pipeline.AnalysisJob.__init__(self, cp)
|
|
483
|
-
self.add_condor_cmd('getenv','True')
|
|
484
|
-
self.set_stdout_file('logs/' + exec_name + '-$(cluster)-$(process).out')
|
|
485
|
-
self.set_stderr_file('logs/' + exec_name + '-$(cluster)-$(process).err')
|
|
486
|
-
self.set_sub_file(exec_name + '.sub')
|
|
487
|
-
|
|
488
|
-
class SireJob(InspiralAnalysisJob):
|
|
489
|
-
"""
|
|
490
|
-
A lalapps_sire job used by the inspiral pipeline. The stdout and stderr from
|
|
491
|
-
the job are directed to the logs directory. The path to the executable is
|
|
492
|
-
determined from the ini file.
|
|
493
|
-
"""
|
|
494
|
-
def __init__(self,cp):
|
|
495
|
-
"""
|
|
496
|
-
@param cp = ConfigParser object from which options are read.
|
|
497
|
-
"""
|
|
498
|
-
exec_name = 'sire'
|
|
499
|
-
sections = ['sire']
|
|
500
|
-
extension = 'xml'
|
|
501
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
502
|
-
|
|
503
|
-
# sire currently doesn't take GPS start/end times
|
|
504
|
-
self.set_stdout_file('logs/sire-$(macroifo)-$(cluster)-$(process).out')
|
|
505
|
-
self.set_stderr_file('logs/sire-$(macroifo)-$(cluster)-$(process).err')
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
class CoireJob(InspiralAnalysisJob):
|
|
509
|
-
"""
|
|
510
|
-
A lalapps_coire job used by the inspiral pipeline. The stdout and stderr from
|
|
511
|
-
the job are directed to the logs directory. The path to the executable is
|
|
512
|
-
determined from the ini file.
|
|
513
|
-
"""
|
|
514
|
-
def __init__(self,cp):
|
|
515
|
-
"""
|
|
516
|
-
@param cp = ConfigParser object from which options are read.
|
|
517
|
-
"""
|
|
518
|
-
exec_name = 'coire'
|
|
519
|
-
sections = ['coire']
|
|
520
|
-
extension = 'xml'
|
|
521
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
522
|
-
|
|
523
|
-
# coire currently doesn't take GPS start/end times
|
|
524
|
-
self.set_stdout_file('logs/coire-$(macroifo)-$(cluster)-$(process).out')
|
|
525
|
-
self.set_stderr_file('logs/coire-$(macroifo)-$(cluster)-$(process).err')
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
class FrJoinJob(InspiralAnalysisJob):
|
|
529
|
-
"""
|
|
530
|
-
A lalapps_frjoin job used by the inspiral pipeline. The path to the
|
|
531
|
-
executable is determined from the ini file.
|
|
532
|
-
"""
|
|
533
|
-
def __init__(self,cp):
|
|
534
|
-
"""
|
|
535
|
-
@param cp = ConfigParser object from which options are read.
|
|
536
|
-
"""
|
|
537
|
-
exec_name = 'frjoin'
|
|
538
|
-
sections = []
|
|
539
|
-
extension = 'gwf'
|
|
540
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
541
|
-
|
|
542
|
-
# frjoin currently doesn't take GPS start/end times
|
|
543
|
-
self.set_stdout_file('logs/frjoin-$(cluster)-$(process).out')
|
|
544
|
-
self.set_stderr_file('logs/frjoin-$(cluster)-$(process).err')
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
class CohBankJob(InspiralAnalysisJob):
|
|
548
|
-
"""
|
|
549
|
-
A lalapps_coherent_inspiral job used by the inspiral pipeline. The static
|
|
550
|
-
options are read from the section [cohbank] in the ini file. The stdout and
|
|
551
|
-
stderr from the job are directed to the logs directory. The path to the
|
|
552
|
-
executable is determined from the ini file.
|
|
553
|
-
"""
|
|
554
|
-
def __init__(self,cp):
|
|
555
|
-
"""
|
|
556
|
-
@param cp = ConfigParser object from which options are read.
|
|
557
|
-
"""
|
|
558
|
-
exec_name = 'cohbank'
|
|
559
|
-
sections = ['cohbank']
|
|
560
|
-
extension = 'xml'
|
|
561
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
class InspiralCoherentJob(InspiralAnalysisJob):
|
|
565
|
-
"""
|
|
566
|
-
A lalapps_inspiral job used by the inspiral pipeline. The static options
|
|
567
|
-
are read from the sections [data] and [inspiral] in the ini file. The
|
|
568
|
-
stdout and stderr from the job are directed to the logs directory. The job
|
|
569
|
-
runs in the universe specfied in the ini file. The path to the executable
|
|
570
|
-
is determined from the ini file.
|
|
571
|
-
"""
|
|
572
|
-
def __init__(self,cp):
|
|
573
|
-
"""
|
|
574
|
-
@param cp = ConfigParser object from which options are read.
|
|
575
|
-
"""
|
|
576
|
-
exec_name = 'inspiral'
|
|
577
|
-
sections = ['data']
|
|
578
|
-
extension = 'xml'
|
|
579
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
580
|
-
self.add_condor_cmd('environment',"KMP_LIBRARY=serial;MKL_SERIAL=yes")
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
class CohInspBankJob(InspiralAnalysisJob):
|
|
584
|
-
"""
|
|
585
|
-
A lalapps_coherent_inspiral job used by the inspiral pipeline. The static
|
|
586
|
-
options are read from the section [cohinspbank] in the ini file. The stdout and
|
|
587
|
-
stderr from the job are directed to the logs directory. The path to the
|
|
588
|
-
executable is determined from the ini file.
|
|
589
|
-
"""
|
|
590
|
-
def __init__(self,cp):
|
|
591
|
-
"""
|
|
592
|
-
@param cp = ConfigParser object from which options are read.
|
|
593
|
-
"""
|
|
594
|
-
exec_name = 'cohinspbank'
|
|
595
|
-
sections = ['cohinspbank']
|
|
596
|
-
extension = 'xml'
|
|
597
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
class ChiaJob(InspiralAnalysisJob):
|
|
601
|
-
"""
|
|
602
|
-
A lalapps_coherent_inspiral job used by the inspiral pipeline. The static
|
|
603
|
-
options are read from the section [chia] in the ini file. The stdout and
|
|
604
|
-
stderr from the job are directed to the logs directory. The path to the
|
|
605
|
-
executable is determined from the ini file.
|
|
606
|
-
"""
|
|
607
|
-
def __init__(self,cp):
|
|
608
|
-
"""
|
|
609
|
-
@param cp = ConfigParser object from which options are read.
|
|
610
|
-
"""
|
|
611
|
-
exec_name = 'chia'
|
|
612
|
-
sections = ['chia']
|
|
613
|
-
extension = 'xml'
|
|
614
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
class CohireJob(InspiralAnalysisJob):
|
|
618
|
-
"""
|
|
619
|
-
A lalapps_cohire job used by the inspiral pipeline. The stdout and stderr from
|
|
620
|
-
the job are directed to the logs directory. The path to the executable is
|
|
621
|
-
determined from the ini file.
|
|
622
|
-
"""
|
|
623
|
-
def __init__(self,cp):
|
|
624
|
-
"""
|
|
625
|
-
@param cp = ConfigParser object from which options are read.
|
|
626
|
-
"""
|
|
627
|
-
exec_name = 'cohire'
|
|
628
|
-
sections = ['cohire']
|
|
629
|
-
extension = 'xml'
|
|
630
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
631
|
-
|
|
632
|
-
# cohire currently doesn't take GPS start/end times
|
|
633
|
-
self.set_stdout_file('logs/cohire-$(macroifo)-$(cluster)-$(process).out')
|
|
634
|
-
self.set_stderr_file('logs/cohire-$(macroifo)-$(cluster)-$(process).err')
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
class InjFindJob(InspiralAnalysisJob):
|
|
638
|
-
"""
|
|
639
|
-
An injfind job. The static options are read from the [injfind]
|
|
640
|
-
section in the cp file.
|
|
641
|
-
"""
|
|
642
|
-
def __init__(self, cp):
|
|
643
|
-
"""
|
|
644
|
-
@param cp: a ConfigParser object from which the options are read.
|
|
645
|
-
"""
|
|
646
|
-
exec_name = 'injfind'
|
|
647
|
-
sections = ['injfind']
|
|
648
|
-
extension = 'xml'
|
|
649
|
-
InspiralAnalysisJob.__init__(self, cp, sections, exec_name, extension)
|
|
650
|
-
self.add_condor_cmd('getenv', 'True')
|
|
651
|
-
# overwrite standard log file names
|
|
652
|
-
self.set_stdout_file('logs/' + exec_name + '-$(cluster)-$(process).out')
|
|
653
|
-
self.set_stderr_file('logs/' + exec_name + '-$(cluster)-$(process).err')
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
#############################################################################
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
class InspiralAnalysisNode(pipeline.AnalysisNode, pipeline.CondorDAGNode):
|
|
660
|
-
"""
|
|
661
|
-
An InspiralNode runs an instance of the inspiral code in a Condor DAG.
|
|
662
|
-
"""
|
|
663
|
-
def __init__(self,job):
|
|
664
|
-
"""
|
|
665
|
-
job = A CondorDAGJob that can run an instance of lalapps_inspiral.
|
|
666
|
-
"""
|
|
667
|
-
pipeline.CondorDAGNode.__init__(self,job)
|
|
668
|
-
pipeline.AnalysisNode.__init__(self)
|
|
669
|
-
opts = job.get_opts()
|
|
670
|
-
|
|
671
|
-
if ("pad-data" in opts) and int(opts['pad-data']):
|
|
672
|
-
self.set_pad_data(int(opts['pad-data']))
|
|
673
|
-
|
|
674
|
-
self.__zip_output = ("write-compress" in opts)
|
|
675
|
-
self.__data_checkpoint = False
|
|
676
|
-
|
|
677
|
-
def set_zip_output(self,zip):
|
|
678
|
-
"""
|
|
679
|
-
Set the zip output flag
|
|
680
|
-
"""
|
|
681
|
-
self.__zip_output = zip
|
|
682
|
-
|
|
683
|
-
def get_zip_output(self):
|
|
684
|
-
"""
|
|
685
|
-
Set the zip output flag
|
|
686
|
-
"""
|
|
687
|
-
return self.__zip_output
|
|
688
|
-
|
|
689
|
-
def get_output_base(self):
|
|
690
|
-
"""
|
|
691
|
-
Returns the base file name of output from the inspiral code. This is
|
|
692
|
-
assumed to follow the standard naming convention:
|
|
693
|
-
|
|
694
|
-
IFO-EXECUTABLE_IFOTAG_USERTAG-GPS_START-DURATION
|
|
695
|
-
"""
|
|
696
|
-
if not self.get_start() or not self.get_end() or not self.get_ifo():
|
|
697
|
-
raise InspiralError("Start time, end time or ifo has not been set")
|
|
698
|
-
|
|
699
|
-
filebase = self.get_ifo() + '-' + self.job().get_exec_name().upper()
|
|
700
|
-
|
|
701
|
-
if self.get_ifo_tag():
|
|
702
|
-
filebase += '_' + self.get_ifo_tag()
|
|
703
|
-
if self.get_user_tag():
|
|
704
|
-
filebase += '_' + self.get_user_tag()
|
|
705
|
-
|
|
706
|
-
filebase += '-' + str(self.get_start()) + '-' + \
|
|
707
|
-
str(self.get_end() - self.get_start())
|
|
708
|
-
|
|
709
|
-
return(filebase)
|
|
710
|
-
|
|
711
|
-
def get_output(self):
|
|
712
|
-
"""
|
|
713
|
-
Returns the file name of output from the inspiral code. This is obtained
|
|
714
|
-
from the get_output_base() method, with the correct extension added.
|
|
715
|
-
"""
|
|
716
|
-
filename = self.get_output_base()
|
|
717
|
-
filename += '.' + self.job().get_extension()
|
|
718
|
-
|
|
719
|
-
if self.get_zip_output():
|
|
720
|
-
filename += '.gz'
|
|
721
|
-
|
|
722
|
-
if self.__data_checkpoint is False:
|
|
723
|
-
self.add_output_file(filename)
|
|
724
|
-
|
|
725
|
-
return filename
|
|
726
|
-
|
|
727
|
-
def get_checkpoint_image(self):
|
|
728
|
-
"""
|
|
729
|
-
Returns the file name of condor checkpoint from the inspiral code. This is
|
|
730
|
-
obtained from the get_output_base() method, with the correct extension added.
|
|
731
|
-
"""
|
|
732
|
-
filename = self.get_output_base()
|
|
733
|
-
filename += '.ckpt'
|
|
734
|
-
|
|
735
|
-
self.add_output_file(filename)
|
|
736
|
-
|
|
737
|
-
return filename
|
|
738
|
-
|
|
739
|
-
def set_data_checkpoint(self):
|
|
740
|
-
"""
|
|
741
|
-
Lets it be known that data checkpointing exists
|
|
742
|
-
"""
|
|
743
|
-
self.add_var_opt('data-checkpoint','')
|
|
744
|
-
self.__data_checkpoint = True
|
|
745
|
-
|
|
746
|
-
def get_data_checkpoint(self):
|
|
747
|
-
"""
|
|
748
|
-
Lets it be known that data checkpointing exists
|
|
749
|
-
"""
|
|
750
|
-
return self.__data_checkpoint
|
|
751
|
-
|
|
752
|
-
def get_output_cache(self):
|
|
753
|
-
"""
|
|
754
|
-
Returns the name of the cache file output from the inspiral analysis codes.
|
|
755
|
-
This is obtained from the get_output_base() method, with the correct
|
|
756
|
-
extension added.
|
|
757
|
-
"""
|
|
758
|
-
filename = self.get_output_base()
|
|
759
|
-
filename += '.cache'
|
|
760
|
-
|
|
761
|
-
def get_froutput(self):
|
|
762
|
-
"""
|
|
763
|
-
Returns the file name of output frame from the inspiral code.
|
|
764
|
-
"""
|
|
765
|
-
gwffile = self.get_output_base()
|
|
766
|
-
gwffile += '.gwf'
|
|
767
|
-
|
|
768
|
-
self.add_output_file(gwffile)
|
|
769
|
-
|
|
770
|
-
return gwffile
|
|
771
|
-
|
|
772
|
-
def finalize(self):
|
|
773
|
-
"""
|
|
774
|
-
set the data_start_time and data_end_time
|
|
775
|
-
"""
|
|
776
|
-
if self.get_pad_data():
|
|
777
|
-
self.set_data_start(self.get_start() - \
|
|
778
|
-
self.get_pad_data())
|
|
779
|
-
self.set_data_end(self.get_end() + \
|
|
780
|
-
self.get_pad_data())
|
|
781
|
-
|
|
782
|
-
#############################################################################
|
|
783
|
-
|
|
784
|
-
class InspiralPlottingNode(InspiralAnalysisNode):
|
|
785
|
-
"""
|
|
786
|
-
An InspiralPlottingNode runas an instance of the inspiral plotting code in
|
|
787
|
-
a Condor Dag
|
|
788
|
-
"""
|
|
789
|
-
def __init__(self,job):
|
|
790
|
-
"""
|
|
791
|
-
job = A CondorDAGJob that can run an instance of the plotting code
|
|
792
|
-
"""
|
|
793
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
794
|
-
|
|
795
|
-
#############################################################################
|
|
796
|
-
|
|
797
|
-
class InspInjNode(InspiralAnalysisNode):
|
|
798
|
-
"""
|
|
799
|
-
A InspInjNode runs an instance of the inspinj generation job in a
|
|
800
|
-
Condor DAG.
|
|
801
|
-
"""
|
|
802
|
-
def __init__(self,job):
|
|
803
|
-
"""
|
|
804
|
-
job = A CondorDAGJob that can run an instance of lalapps_inspinj.
|
|
805
|
-
"""
|
|
806
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
807
|
-
self.__outputName = None
|
|
808
|
-
self.__seed = None
|
|
809
|
-
|
|
810
|
-
def set_seed(self,seed):
|
|
811
|
-
"""
|
|
812
|
-
Set the seed of the injection file by setting a --seed option to the
|
|
813
|
-
node when it is executed.
|
|
814
|
-
@param seed: seed of the job
|
|
815
|
-
"""
|
|
816
|
-
self.add_var_opt('seed',seed)
|
|
817
|
-
self.__seed = seed
|
|
818
|
-
|
|
819
|
-
def get_seed(self):
|
|
820
|
-
"""
|
|
821
|
-
return the seed
|
|
822
|
-
"""
|
|
823
|
-
return( self.__seed)
|
|
824
|
-
|
|
825
|
-
def set_output(self, outputName):
|
|
826
|
-
"""
|
|
827
|
-
Set the output name of the injection file
|
|
828
|
-
@param outputName: name of the injection file created
|
|
829
|
-
"""
|
|
830
|
-
self.add_var_opt('output',outputName)
|
|
831
|
-
self.__outputName = outputName
|
|
832
|
-
|
|
833
|
-
def get_output(self):
|
|
834
|
-
"""
|
|
835
|
-
Return the manually-set output name if it exists, otherwise, derive the
|
|
836
|
-
name like other InspiralAnalysisNodes.
|
|
837
|
-
"""
|
|
838
|
-
if self.__outputName:
|
|
839
|
-
self.add_output_file(self.__outputName)
|
|
840
|
-
return self.__outputName
|
|
841
|
-
else:
|
|
842
|
-
outputFile = "HL-INJECTIONS_" + str(self.get_seed())
|
|
843
|
-
if self.get_user_tag():
|
|
844
|
-
outputFile += "_" + self.get_user_tag()
|
|
845
|
-
outputFile += "-" + str(self.get_start()) + "-" + str(self.get_end() - \
|
|
846
|
-
self.get_start()) + ".xml"
|
|
847
|
-
self.add_output_file(outputFile)
|
|
848
|
-
return(outputFile)
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
class BbhInjNode(InspiralAnalysisNode):
|
|
852
|
-
"""
|
|
853
|
-
A BbhInjNode runs an instance of the bbhinj generation job in a
|
|
854
|
-
Condor DAG.
|
|
855
|
-
"""
|
|
856
|
-
def __init__(self,job):
|
|
857
|
-
"""
|
|
858
|
-
job = A CondorDAGJob that can run an instance of lalapps_bbhinj.
|
|
859
|
-
"""
|
|
860
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
861
|
-
|
|
862
|
-
def set_seed(self,seed):
|
|
863
|
-
"""
|
|
864
|
-
Set the seed of the injection file by setting a --seed option to the
|
|
865
|
-
node when it is executed.
|
|
866
|
-
@param seed: seed of the job
|
|
867
|
-
"""
|
|
868
|
-
self.add_var_opt('seed',seed)
|
|
869
|
-
self.__seed = seed
|
|
870
|
-
|
|
871
|
-
def get_output(self):
|
|
872
|
-
"""
|
|
873
|
-
Returns the file name of output from the injection generation code. This
|
|
874
|
-
must be kept synchronized with the name of the output file in bbhinj.c.
|
|
875
|
-
"""
|
|
876
|
-
if not self.get_start() or not self.get_end():
|
|
877
|
-
raise InspiralError("Start time or end time has not been set")
|
|
878
|
-
if self.get_user_tag():
|
|
879
|
-
bbhinject = 'HL-INJECTIONS_' + self.get_user_tag() + '-'
|
|
880
|
-
bbhinject = bbhinject + str(self.get_start()) + '-'
|
|
881
|
-
bbhinject = bbhinject + str(self.get_end()-self.get_start()) + '.xml'
|
|
882
|
-
elif self.__seed:
|
|
883
|
-
bbhinject = 'HL-INJECTIONS_' + str(self.__seed) + '-'
|
|
884
|
-
bbhinject = bbhinject + str(self.get_start()) + '-'
|
|
885
|
-
bbhinject = bbhinject + str(self.get_end()-self.get_start()) + '.xml'
|
|
886
|
-
else:
|
|
887
|
-
bbhinject = 'HL-INJECTIONS-' + str(self.get_start()) + '-'
|
|
888
|
-
bbhinject = bbhinject + str(self.get_end()-self.get_start()) + '.xml'
|
|
889
|
-
|
|
890
|
-
self.add_output_file(bbhinject)
|
|
891
|
-
|
|
892
|
-
return bbhinject
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
class TmpltBankNode(InspiralAnalysisNode):
|
|
896
|
-
"""
|
|
897
|
-
A TmpltBankNode runs an instance of the template bank generation job in a
|
|
898
|
-
Condor DAG.
|
|
899
|
-
"""
|
|
900
|
-
def __init__(self,job):
|
|
901
|
-
"""
|
|
902
|
-
job = A CondorDAGJob that can run an instance of lalapps_tmpltbank.
|
|
903
|
-
"""
|
|
904
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
class RandomBankNode(InspiralAnalysisNode):
|
|
908
|
-
"""
|
|
909
|
-
A RandomBankNode runs an instance of the random bank generation job in a
|
|
910
|
-
Condor DAG.
|
|
911
|
-
"""
|
|
912
|
-
def __init__(self,job):
|
|
913
|
-
"""
|
|
914
|
-
job = A CondorDAGJob that can run an instance of lalapps_randombank.
|
|
915
|
-
"""
|
|
916
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
917
|
-
|
|
918
|
-
def get_output(self):
|
|
919
|
-
"""
|
|
920
|
-
Returns the file name of output from the template bank code. This must
|
|
921
|
-
be kept synchronized with the name of the output file in randombank.c.
|
|
922
|
-
"""
|
|
923
|
-
if not self.get_start() or not self.get_end():
|
|
924
|
-
raise InspiralError("Start time or end time has not been set")
|
|
925
|
-
if self.get_user_tag():
|
|
926
|
-
bank = 'P-TMPLTBANK_' + self.get_user_tag() + '-'
|
|
927
|
-
bank = bank + str(self.get_start())
|
|
928
|
-
else:
|
|
929
|
-
bank = 'P-TMPLTBANK-' + str(self.get_start())
|
|
930
|
-
bank = bank + '-' + str(self.get_end() - self.get_start()) + '.xml'
|
|
931
|
-
|
|
932
|
-
self.add_output_file(bank)
|
|
933
|
-
|
|
934
|
-
return bank
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
class SplitBankNode(InspiralAnalysisNode):
|
|
938
|
-
"""
|
|
939
|
-
A SplitBankNode runs an instance of the split template bank job in a
|
|
940
|
-
Condor DAG.
|
|
941
|
-
"""
|
|
942
|
-
def __init__(self,job):
|
|
943
|
-
"""
|
|
944
|
-
job = A CondorDAGJob that can run an instance of lalapps_tmpltbank.
|
|
945
|
-
"""
|
|
946
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
947
|
-
self.__bankfile = None
|
|
948
|
-
self.__numbanks = None
|
|
949
|
-
|
|
950
|
-
def set_bank(self,bank):
|
|
951
|
-
self.add_var_opt('bank-file', bank)
|
|
952
|
-
self.add_input_file(bank)
|
|
953
|
-
self.__bankfile = bank
|
|
954
|
-
|
|
955
|
-
def get_bank(self):
|
|
956
|
-
return self.__bankfile
|
|
957
|
-
|
|
958
|
-
def set_num_banks(self,numbanks):
|
|
959
|
-
self.add_var_opt('number-of-banks',numbanks)
|
|
960
|
-
self.__numbanks = int(numbanks)
|
|
961
|
-
|
|
962
|
-
def get_num_banks(self):
|
|
963
|
-
return self.__numbanks
|
|
964
|
-
|
|
965
|
-
def get_output(self):
|
|
966
|
-
"""
|
|
967
|
-
Returns a list of the file names of split banks. This must be kept
|
|
968
|
-
synchronized with the name of the output files in splitbank.c.
|
|
969
|
-
"""
|
|
970
|
-
if not self.get_bank() or not self.get_num_banks():
|
|
971
|
-
raise InspiralError("Bank file or number of banks has not been set")
|
|
972
|
-
|
|
973
|
-
banks = []
|
|
974
|
-
x = self.__bankfile.split('-')
|
|
975
|
-
for i in range( 0, int(self.get_num_banks()) ):
|
|
976
|
-
banks.append("%s-%s_%2.2d-%s-%s" % (x[0], x[1], i, x[2], x[3]))
|
|
977
|
-
|
|
978
|
-
return banks
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
class InspiralNode(InspiralAnalysisNode):
|
|
982
|
-
"""
|
|
983
|
-
An InspiralNode runs an instance of the inspiral code in a Condor DAG.
|
|
984
|
-
"""
|
|
985
|
-
def __init__(self,job):
|
|
986
|
-
"""
|
|
987
|
-
job = A CondorDAGJob that can run an instance of lalapps_inspiral.
|
|
988
|
-
"""
|
|
989
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
990
|
-
self.__injections = None
|
|
991
|
-
|
|
992
|
-
def set_bank(self,bank):
|
|
993
|
-
self.add_var_opt('bank-file', bank)
|
|
994
|
-
self.add_input_file(bank)
|
|
995
|
-
|
|
996
|
-
def set_injections(self, injections):
|
|
997
|
-
"""
|
|
998
|
-
Set the injection file for this node
|
|
999
|
-
"""
|
|
1000
|
-
self.__injections = injections
|
|
1001
|
-
self.add_var_opt('injection-file', injections)
|
|
1002
|
-
self.add_input_file(injections)
|
|
1003
|
-
|
|
1004
|
-
def get_injections(self):
|
|
1005
|
-
"""
|
|
1006
|
-
Returns the injection file
|
|
1007
|
-
"""
|
|
1008
|
-
return self.__injections
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
class InspiralCkptNode(InspiralAnalysisNode):
|
|
1012
|
-
"""
|
|
1013
|
-
An InspiralCkptNode runs an instance of the inspiral code in a Condor DAG.
|
|
1014
|
-
It then checkpoints to a file. This sets the file.
|
|
1015
|
-
"""
|
|
1016
|
-
def __init__(self,job):
|
|
1017
|
-
"""
|
|
1018
|
-
job = A CondorDAGJob that can run an instance of lalapps_inspiral.
|
|
1019
|
-
"""
|
|
1020
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1021
|
-
self.__outfile = None
|
|
1022
|
-
self.__injections = None
|
|
1023
|
-
|
|
1024
|
-
def set_output(self, outfile):
|
|
1025
|
-
"""
|
|
1026
|
-
Sets a placeholder output name which we can use to pass through the
|
|
1027
|
-
name of the output file from the original inspiral job.
|
|
1028
|
-
"""
|
|
1029
|
-
self.__outfile = outfile
|
|
1030
|
-
|
|
1031
|
-
def get_output(self):
|
|
1032
|
-
"""
|
|
1033
|
-
Returns the filename from set_output().
|
|
1034
|
-
"""
|
|
1035
|
-
if self.__outfile:
|
|
1036
|
-
self.add_output_file(self.__outfile)
|
|
1037
|
-
return self.__outfile
|
|
1038
|
-
|
|
1039
|
-
def set_injections(self, injections):
|
|
1040
|
-
"""
|
|
1041
|
-
Set the injection file for this node
|
|
1042
|
-
"""
|
|
1043
|
-
self.__injections = injections
|
|
1044
|
-
|
|
1045
|
-
def get_injections(self):
|
|
1046
|
-
"""
|
|
1047
|
-
Returns the injection file
|
|
1048
|
-
"""
|
|
1049
|
-
return self.__injections
|
|
1050
|
-
|
|
1051
|
-
def set_checkpoint_image(self, ckptin):
|
|
1052
|
-
"""
|
|
1053
|
-
Adds the argument -_condor_restart for the
|
|
1054
|
-
cases in which we want to checkpoint and grabs the
|
|
1055
|
-
checkpoint image name from get_checkpoint_image in
|
|
1056
|
-
the InspiralAnalysisCode section.
|
|
1057
|
-
"""
|
|
1058
|
-
self.add_input_file(ckptin)
|
|
1059
|
-
self.add_var_opt('_condor_restart', ckptin, short=True)
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
class PTFInspiralNode(InspiralAnalysisNode):
|
|
1063
|
-
"""
|
|
1064
|
-
An InspiralNode runs an instance of the inspiral code in a Condor DAG.
|
|
1065
|
-
"""
|
|
1066
|
-
def __init__(self,job):
|
|
1067
|
-
"""
|
|
1068
|
-
job = A CondorDAGJob that can run an instance of lalapps_inspiral.
|
|
1069
|
-
"""
|
|
1070
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1071
|
-
self.__injections = None
|
|
1072
|
-
self.set_zip_output(True)
|
|
1073
|
-
|
|
1074
|
-
def set_spin_bank(self,bank):
|
|
1075
|
-
self.add_var_opt('spin-bank', bank)
|
|
1076
|
-
self.add_input_file(bank)
|
|
1077
|
-
|
|
1078
|
-
def set_no_spin_bank(self,bank):
|
|
1079
|
-
self.add_var_opt('non-spin-bank',bank)
|
|
1080
|
-
self.add_input_file(bank)
|
|
1081
|
-
|
|
1082
|
-
def set_output(self):
|
|
1083
|
-
self.add_var_opt('output-file',self.get_output_base()+ '.xml.gz')
|
|
1084
|
-
|
|
1085
|
-
def set_injections(self, injections):
|
|
1086
|
-
"""
|
|
1087
|
-
Set the injection file for this node
|
|
1088
|
-
"""
|
|
1089
|
-
self.__injections = injections
|
|
1090
|
-
self.add_var_opt('injection-file', injections)
|
|
1091
|
-
self.add_input_file(injections)
|
|
1092
|
-
|
|
1093
|
-
def get_injections(self):
|
|
1094
|
-
"""
|
|
1095
|
-
Returns the injection file
|
|
1096
|
-
"""
|
|
1097
|
-
return self.__injections
|
|
1098
|
-
|
|
1099
|
-
def set_seed(self,seed):
|
|
1100
|
-
self.add_var_opt('random-seed',seed)
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
class PTFSpinCheckerNode(InspiralAnalysisNode):
|
|
1104
|
-
"""
|
|
1105
|
-
An InspiralNode runs an instance of the inspiral code in a Condor DAG.
|
|
1106
|
-
"""
|
|
1107
|
-
def __init__(self,job):
|
|
1108
|
-
"""
|
|
1109
|
-
job = A CondorDAGJob that can run an instance of lalapps_inspiral.
|
|
1110
|
-
"""
|
|
1111
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1112
|
-
self.__injections = None
|
|
1113
|
-
|
|
1114
|
-
def set_bank(self,bank):
|
|
1115
|
-
self.add_var_opt('bank-file', bank)
|
|
1116
|
-
self.add_input_file(bank)
|
|
1117
|
-
|
|
1118
|
-
def set_spin_output(self,spinBank):
|
|
1119
|
-
self.add_var_opt('spin-bank',spinBank)
|
|
1120
|
-
|
|
1121
|
-
def set_nospin_output(self,noSpinBank):
|
|
1122
|
-
self.add_var_opt('non-spin-bank',noSpinBank)
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
class TrigbankNode(InspiralAnalysisNode):
|
|
1126
|
-
"""
|
|
1127
|
-
A TrigbankNode runs an instance of the triggered bank generator in a
|
|
1128
|
-
Condor DAG.
|
|
1129
|
-
"""
|
|
1130
|
-
def __init__(self,job):
|
|
1131
|
-
"""
|
|
1132
|
-
job = A CondorDAGJob that can run an instance of trigbank.
|
|
1133
|
-
"""
|
|
1134
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1135
|
-
self.__input_ifo = None
|
|
1136
|
-
|
|
1137
|
-
def set_input_ifo(self,ifo):
|
|
1138
|
-
self.add_var_opt('input-ifo', ifo)
|
|
1139
|
-
self.__input_ifo = ifo
|
|
1140
|
-
|
|
1141
|
-
def get_input_ifo(self):
|
|
1142
|
-
return self.__input_ifo
|
|
1143
|
-
|
|
1144
|
-
def set_output_ifo(self,ifo):
|
|
1145
|
-
self.add_var_opt('output-ifo', ifo)
|
|
1146
|
-
self.set_ifo(ifo)
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
class IncaNode(InspiralAnalysisNode):
|
|
1150
|
-
"""
|
|
1151
|
-
An IncaNode runs an instance of the inspiral coincidence code in a Condor
|
|
1152
|
-
DAG.
|
|
1153
|
-
"""
|
|
1154
|
-
def __init__(self,job):
|
|
1155
|
-
"""
|
|
1156
|
-
job = A CondorDAGJob that can run an instance of lalapps_inca.
|
|
1157
|
-
"""
|
|
1158
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1159
|
-
self.__ifo_a = None
|
|
1160
|
-
self.__ifo_b = None
|
|
1161
|
-
|
|
1162
|
-
def set_ifo_a(self, ifo):
|
|
1163
|
-
"""
|
|
1164
|
-
Set the interferometer code to use as IFO A.
|
|
1165
|
-
ifo = IFO code (e.g. L1, H1 or H2).
|
|
1166
|
-
"""
|
|
1167
|
-
self.add_var_opt('ifo-a', ifo)
|
|
1168
|
-
self.__ifo_a = ifo
|
|
1169
|
-
|
|
1170
|
-
def get_ifo_a(self):
|
|
1171
|
-
"""
|
|
1172
|
-
Returns the IFO code of the primary interferometer.
|
|
1173
|
-
"""
|
|
1174
|
-
return self.__ifo_a
|
|
1175
|
-
|
|
1176
|
-
def set_ifo_b(self, ifo):
|
|
1177
|
-
"""
|
|
1178
|
-
Set the interferometer code to use as IFO B.
|
|
1179
|
-
ifo = IFO code (e.g. L1, H1 or H2).
|
|
1180
|
-
"""
|
|
1181
|
-
self.add_var_opt('ifo-b', ifo)
|
|
1182
|
-
self.__ifo_b = ifo
|
|
1183
|
-
|
|
1184
|
-
def get_ifo_b(self):
|
|
1185
|
-
"""
|
|
1186
|
-
Returns the IFO code of the primary interferometer.
|
|
1187
|
-
"""
|
|
1188
|
-
return self.__ifo_b
|
|
1189
|
-
|
|
1190
|
-
def get_output_a(self):
|
|
1191
|
-
"""
|
|
1192
|
-
Returns the file name of output from inca for ifo a. This must be kept
|
|
1193
|
-
synchronized with the name of the output file in inca.c.
|
|
1194
|
-
"""
|
|
1195
|
-
if not self.get_start() or not self.get_end() or not self.get_ifo_a():
|
|
1196
|
-
raise InspiralError("Start time, end time or ifo a has not been set")
|
|
1197
|
-
|
|
1198
|
-
basename = self.get_ifo_a() + '-INCA'
|
|
1199
|
-
|
|
1200
|
-
if self.get_ifo_tag():
|
|
1201
|
-
basename += '_' + self.get_ifo_tag()
|
|
1202
|
-
if self.get_user_tag():
|
|
1203
|
-
basename += '_' + self.get_user_tag()
|
|
1204
|
-
|
|
1205
|
-
filename = basename + '-' + str(self.get_start()) + '-' + \
|
|
1206
|
-
str(self.get_end() - self.get_start()) + '.xml'
|
|
1207
|
-
|
|
1208
|
-
if self.get_zip_output():
|
|
1209
|
-
filename += '.gz'
|
|
1210
|
-
|
|
1211
|
-
self.add_output_file(filename)
|
|
1212
|
-
return filename
|
|
1213
|
-
|
|
1214
|
-
def get_output(self):
|
|
1215
|
-
return self.get_output_a()
|
|
1216
|
-
|
|
1217
|
-
def get_output_b(self):
|
|
1218
|
-
"""
|
|
1219
|
-
Returns the file name of output from inca for ifo b. This must be kept
|
|
1220
|
-
synchronized with the name of the output file in inca.c.
|
|
1221
|
-
"""
|
|
1222
|
-
if not self.get_start() or not self.get_end() or not self.get_ifo_b():
|
|
1223
|
-
raise InspiralError("Start time, end time or ifo a has not been set")
|
|
1224
|
-
|
|
1225
|
-
basename = self.get_ifo_b() + '-INCA'
|
|
1226
|
-
|
|
1227
|
-
if self.get_ifo_tag():
|
|
1228
|
-
basename += '_' + self.get_ifo_tag()
|
|
1229
|
-
if self.get_user_tag():
|
|
1230
|
-
basename += '_' + self.get_user_tag()
|
|
1231
|
-
|
|
1232
|
-
filename = basename + '-' + str(self.get_start()) + '-' + \
|
|
1233
|
-
str(self.get_end() - self.get_start()) + '.xml'
|
|
1234
|
-
|
|
1235
|
-
if self.get_zip_output():
|
|
1236
|
-
filename += '.gz'
|
|
1237
|
-
|
|
1238
|
-
self.add_output_file(filename)
|
|
1239
|
-
return filename
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
class ThincaNode(InspiralAnalysisNode):
|
|
1243
|
-
"""
|
|
1244
|
-
A ThincaNode runs an instance of the inspiral coincidence code in a Condor
|
|
1245
|
-
DAG.
|
|
1246
|
-
"""
|
|
1247
|
-
def __init__(self,job):
|
|
1248
|
-
"""
|
|
1249
|
-
job = A CondorDAGJob that can run an instance of lalapps_inca.
|
|
1250
|
-
"""
|
|
1251
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1252
|
-
self.__ifo_g1 = None
|
|
1253
|
-
self.__ifo_h1 = None
|
|
1254
|
-
self.__ifo_h2 = None
|
|
1255
|
-
self.__ifo_l1 = None
|
|
1256
|
-
self.__ifo_t1 = None
|
|
1257
|
-
self.__ifo_v1 = None
|
|
1258
|
-
self.__num_slides = None
|
|
1259
|
-
|
|
1260
|
-
def set_ifo(self, ifo, pass_to_command_line=True):
|
|
1261
|
-
"""
|
|
1262
|
-
Add the interferometer to the list of ifos
|
|
1263
|
-
ifo = IFO code (e.g. G1,L1,V1,T1, H1 or H2).
|
|
1264
|
-
pass_to_command_line = boolean for adding ifo-triggers as a variable option
|
|
1265
|
-
"""
|
|
1266
|
-
#FIXME: Once thinca no longer needs --IFO-triggers flags,
|
|
1267
|
-
# use AnalysisNode's set_ifos method
|
|
1268
|
-
if ifo == 'G1':
|
|
1269
|
-
if pass_to_command_line:
|
|
1270
|
-
self.add_var_opt('g1-triggers','')
|
|
1271
|
-
self.__ifo_g1 = 'G1'
|
|
1272
|
-
elif ifo == 'H1':
|
|
1273
|
-
if pass_to_command_line:
|
|
1274
|
-
self.add_var_opt('h1-triggers','')
|
|
1275
|
-
self.__ifo_h1 = 'H1'
|
|
1276
|
-
elif ifo == 'H2':
|
|
1277
|
-
if pass_to_command_line:
|
|
1278
|
-
self.add_var_opt('h2-triggers','')
|
|
1279
|
-
self.__ifo_h2 = 'H2'
|
|
1280
|
-
elif ifo == 'L1':
|
|
1281
|
-
if pass_to_command_line:
|
|
1282
|
-
self.add_var_opt('l1-triggers','')
|
|
1283
|
-
self.__ifo_l1 = 'L1'
|
|
1284
|
-
elif ifo == 'T1':
|
|
1285
|
-
if pass_to_command_line:
|
|
1286
|
-
self.add_var_opt('t1-triggers','')
|
|
1287
|
-
self.__ifo_t1 = 'T1'
|
|
1288
|
-
elif ifo == 'V1':
|
|
1289
|
-
if pass_to_command_line:
|
|
1290
|
-
self.add_var_opt('v1-triggers','')
|
|
1291
|
-
self.__ifo_v1 = 'V1'
|
|
1292
|
-
|
|
1293
|
-
def get_ifo_g1(self):
|
|
1294
|
-
"""
|
|
1295
|
-
Returns the IFO code of g1.
|
|
1296
|
-
"""
|
|
1297
|
-
return self.__ifo_g1
|
|
1298
|
-
|
|
1299
|
-
def get_ifo_h1(self):
|
|
1300
|
-
"""
|
|
1301
|
-
Returns the IFO code of h1.
|
|
1302
|
-
"""
|
|
1303
|
-
return self.__ifo_h1
|
|
1304
|
-
|
|
1305
|
-
def get_ifo_h2(self):
|
|
1306
|
-
"""
|
|
1307
|
-
Returns the IFO code of h2.
|
|
1308
|
-
"""
|
|
1309
|
-
return self.__ifo_h2
|
|
1310
|
-
|
|
1311
|
-
def get_ifo_l1(self):
|
|
1312
|
-
"""
|
|
1313
|
-
Returns the IFO code of l1.
|
|
1314
|
-
"""
|
|
1315
|
-
return self.__ifo_l1
|
|
1316
|
-
|
|
1317
|
-
def get_ifo_t1(self):
|
|
1318
|
-
"""
|
|
1319
|
-
Returns the IFO code of t1.
|
|
1320
|
-
"""
|
|
1321
|
-
return self.__ifo_t1
|
|
1322
|
-
|
|
1323
|
-
def get_ifo_v1(self):
|
|
1324
|
-
"""
|
|
1325
|
-
Returns the IFO code of v1.
|
|
1326
|
-
"""
|
|
1327
|
-
return self.__ifo_v1
|
|
1328
|
-
|
|
1329
|
-
def get_ifos(self):
|
|
1330
|
-
"""
|
|
1331
|
-
Returns the ordered list of ifos.
|
|
1332
|
-
"""
|
|
1333
|
-
ifos = ''
|
|
1334
|
-
if self.get_ifo_g1():
|
|
1335
|
-
ifos += self.get_ifo_g1()
|
|
1336
|
-
if self.get_ifo_h1():
|
|
1337
|
-
ifos += self.get_ifo_h1()
|
|
1338
|
-
if self.get_ifo_h2():
|
|
1339
|
-
ifos += self.get_ifo_h2()
|
|
1340
|
-
if self.get_ifo_l1():
|
|
1341
|
-
ifos += self.get_ifo_l1()
|
|
1342
|
-
if self.get_ifo_t1():
|
|
1343
|
-
ifos += self.get_ifo_t1()
|
|
1344
|
-
if self.get_ifo_v1():
|
|
1345
|
-
ifos += self.get_ifo_v1()
|
|
1346
|
-
|
|
1347
|
-
return ifos
|
|
1348
|
-
|
|
1349
|
-
def set_num_slides(self, num_slides):
|
|
1350
|
-
"""
|
|
1351
|
-
Set number of time slides to undertake
|
|
1352
|
-
"""
|
|
1353
|
-
self.add_var_opt('num-slides',num_slides)
|
|
1354
|
-
self.__num_slides = num_slides
|
|
1355
|
-
|
|
1356
|
-
def get_num_slides(self):
|
|
1357
|
-
"""
|
|
1358
|
-
Returns the num_slides from .ini (>0 => time slides desired)
|
|
1359
|
-
"""
|
|
1360
|
-
return self.__num_slides
|
|
1361
|
-
|
|
1362
|
-
def get_output(self):
|
|
1363
|
-
"""
|
|
1364
|
-
Returns the file name of output from thinca. This must be kept
|
|
1365
|
-
synchronized with the name of the output file in thinca.c.
|
|
1366
|
-
"""
|
|
1367
|
-
if not self.get_start() or not self.get_end() or not self.get_ifos():
|
|
1368
|
-
raise InspiralError("Start time, end time or ifos have not been set")
|
|
1369
|
-
|
|
1370
|
-
if self.__num_slides:
|
|
1371
|
-
basename = self.get_ifos() + '-' + self.job().get_exec_name().upper() \
|
|
1372
|
-
+ '_SLIDE'
|
|
1373
|
-
else:
|
|
1374
|
-
basename = self.get_ifos() + '-' + self.job().get_exec_name().upper()
|
|
1375
|
-
|
|
1376
|
-
if self.get_ifo_tag():
|
|
1377
|
-
basename += '_' + self.get_ifo_tag()
|
|
1378
|
-
|
|
1379
|
-
if self.get_user_tag():
|
|
1380
|
-
basename += '_' + self.get_user_tag()
|
|
1381
|
-
|
|
1382
|
-
filename = basename + '-' + str(self.get_start()) + '-' + \
|
|
1383
|
-
str(self.get_end() - self.get_start()) + '.xml'
|
|
1384
|
-
|
|
1385
|
-
if self.get_zip_output():
|
|
1386
|
-
filename += '.gz'
|
|
1387
|
-
|
|
1388
|
-
self.add_output_file(filename)
|
|
1389
|
-
return filename
|
|
1390
|
-
|
|
1391
|
-
class ThincaToCoincNode(InspiralAnalysisNode):
|
|
1392
|
-
"""
|
|
1393
|
-
A ThincaToCoincNode runs an instance of a ThincaToCoincJob
|
|
1394
|
-
in a DAG.
|
|
1395
|
-
"""
|
|
1396
|
-
def __init__(self, job):
|
|
1397
|
-
"""
|
|
1398
|
-
@param job: A ThincaToCoincJob.
|
|
1399
|
-
"""
|
|
1400
|
-
InspiralAnalysisNode.__init__(self, job)
|
|
1401
|
-
self.__input_cache = None
|
|
1402
|
-
self.__instruments = None
|
|
1403
|
-
self.__zero_lag_file = None
|
|
1404
|
-
self.__time_slide_file = None
|
|
1405
|
-
self.__veto_segments = None
|
|
1406
|
-
self.__veto_segments_name = None
|
|
1407
|
-
|
|
1408
|
-
def set_input_cache(self, input_cache_name):
|
|
1409
|
-
"""
|
|
1410
|
-
@param input_cache_name: cache file for thinca_to_coinc to
|
|
1411
|
-
read.
|
|
1412
|
-
"""
|
|
1413
|
-
self.add_file_opt( 'ihope-cache', input_cache_name )
|
|
1414
|
-
self.__input_cache = input_cache_name
|
|
1415
|
-
|
|
1416
|
-
def get_input_cache(self):
|
|
1417
|
-
"""
|
|
1418
|
-
Returns input cache file for this node.
|
|
1419
|
-
"""
|
|
1420
|
-
return self.__input_cache
|
|
1421
|
-
|
|
1422
|
-
def get_output_from_cache(self, coinc_file_tag ):
|
|
1423
|
-
"""
|
|
1424
|
-
Returns a list of files that this node will generate using the input_cache.
|
|
1425
|
-
The output file names are the same as the input urls, but with the
|
|
1426
|
-
zero_lag 'THINCA' file replaced with 'THINCA_TO_COINC', and with the
|
|
1427
|
-
filepaths pointing to the current directory in which the
|
|
1428
|
-
thinca_to_coinc node is being run.
|
|
1429
|
-
"""
|
|
1430
|
-
if not self.__input_cache:
|
|
1431
|
-
raise ValueError("no input-cache specified")
|
|
1432
|
-
# open the input cache file
|
|
1433
|
-
fp = open(self.__input_cache, 'r')
|
|
1434
|
-
input_cache = lal.Cache().fromfile(fp).sieve( description = coinc_file_tag )
|
|
1435
|
-
output_files = [ \
|
|
1436
|
-
'/'.join([ os.getcwd(),
|
|
1437
|
-
re.sub('INCA', 'INCA_TO_COINC', os.path.basename(entry.url)) ]) for entry in input_cache \
|
|
1438
|
-
]
|
|
1439
|
-
return output_files
|
|
1440
|
-
|
|
1441
|
-
def set_instruments(self, instruments):
|
|
1442
|
-
"""
|
|
1443
|
-
@param instruments: instruments that are on for the
|
|
1444
|
-
THINCA files thinca_to_coinc is operating on.
|
|
1445
|
-
"""
|
|
1446
|
-
self.add_var_opt('instruments', instruments)
|
|
1447
|
-
self.__instruments = instruments
|
|
1448
|
-
|
|
1449
|
-
def get_instruments(self):
|
|
1450
|
-
"""
|
|
1451
|
-
Returns instruments for this node.
|
|
1452
|
-
"""
|
|
1453
|
-
return self.__instruments
|
|
1454
|
-
|
|
1455
|
-
def set_veto_segments(self, veto_segments):
|
|
1456
|
-
"""
|
|
1457
|
-
@param veto_segments: name of xml file containing the vetoes to apply
|
|
1458
|
-
"""
|
|
1459
|
-
self.add_var_opt('veto-segments', veto_segments)
|
|
1460
|
-
self.__veto_segments = veto_segments
|
|
1461
|
-
|
|
1462
|
-
def get_veto_segments(self):
|
|
1463
|
-
"""
|
|
1464
|
-
Returns the name of the veto-segments file for this node.
|
|
1465
|
-
"""
|
|
1466
|
-
return self.__veto_segments
|
|
1467
|
-
|
|
1468
|
-
def set_veto_segments_name(self, veto_segments_name):
|
|
1469
|
-
"""
|
|
1470
|
-
@param veto_segments_name: name of vetoes in the vetoes xml file to
|
|
1471
|
-
apply.
|
|
1472
|
-
"""
|
|
1473
|
-
self.add_var_opt('veto-segments-name', veto_segments_name)
|
|
1474
|
-
self.__veto_segments_name = veto_segments_name
|
|
1475
|
-
|
|
1476
|
-
def get_veto_segments_name(self):
|
|
1477
|
-
"""
|
|
1478
|
-
Returns the name of the vetoes applied for this node.
|
|
1479
|
-
"""
|
|
1480
|
-
return self.__veto_segments_name
|
|
1481
|
-
|
|
1482
|
-
def set_zero_lag_file(self, zero_lag_file):
|
|
1483
|
-
"""
|
|
1484
|
-
Sets zero_lag_file for input.
|
|
1485
|
-
"""
|
|
1486
|
-
self.add_file_opt( 'zero-lag-file', zero_lag_file )
|
|
1487
|
-
self.__zero_lag_file = zero_lag_file
|
|
1488
|
-
|
|
1489
|
-
def get_zero_lag_file(self):
|
|
1490
|
-
"""
|
|
1491
|
-
Returns zero_lag_file.
|
|
1492
|
-
"""
|
|
1493
|
-
return self.__zero_lag_file
|
|
1494
|
-
|
|
1495
|
-
def set_time_slide_file(self, time_slide_file):
|
|
1496
|
-
"""
|
|
1497
|
-
Sets the time_slide_file for input.
|
|
1498
|
-
"""
|
|
1499
|
-
self.add_file_opt( 'time-slide-file', time_slide_file )
|
|
1500
|
-
self.__time_slide_file = time_slide_file
|
|
1501
|
-
|
|
1502
|
-
def get_time_slide_file(self):
|
|
1503
|
-
"""
|
|
1504
|
-
Returns the time_slide_file.
|
|
1505
|
-
"""
|
|
1506
|
-
return self.__time_slide_file
|
|
1507
|
-
|
|
1508
|
-
class HWinjPageNode(InspiralAnalysisNode):
|
|
1509
|
-
"""
|
|
1510
|
-
A HWinjPageNode runs an instance of a HWinjPageJob
|
|
1511
|
-
in a DAG.
|
|
1512
|
-
"""
|
|
1513
|
-
def __init__(self, job):
|
|
1514
|
-
"""
|
|
1515
|
-
@param job: A HWinjPageJob.
|
|
1516
|
-
"""
|
|
1517
|
-
InspiralAnalysisNode.__init__(self, job)
|
|
1518
|
-
self.__input_cache = None
|
|
1519
|
-
self.__cache_string = None
|
|
1520
|
-
self.__outfile = None
|
|
1521
|
-
self.__segment_dir = None
|
|
1522
|
-
self.__source_xml = None
|
|
1523
|
-
|
|
1524
|
-
def set_input_cache(self, input_cache_name):
|
|
1525
|
-
"""
|
|
1526
|
-
@param input_cache_name: cache file for ligolw_cbc_hardware_inj_page
|
|
1527
|
-
to read.
|
|
1528
|
-
"""
|
|
1529
|
-
self.add_var_opt('cache-file',input_cache_name)
|
|
1530
|
-
self.__input_cache = input_cache_name
|
|
1531
|
-
|
|
1532
|
-
def set_source_xml(self, source_xml):
|
|
1533
|
-
"""
|
|
1534
|
-
input_cache_name: cache file for ligolw_cbc_hardware_inj_page to read.
|
|
1535
|
-
"""
|
|
1536
|
-
self.add_var_opt('source-xml',source_xml)
|
|
1537
|
-
self.__source_xml = source_xml
|
|
1538
|
-
|
|
1539
|
-
def set_cache_string(self,cache_string):
|
|
1540
|
-
"""
|
|
1541
|
-
@param cache_string: pattern to match files within cache
|
|
1542
|
-
"""
|
|
1543
|
-
self.add_var_opt('cache-pattern',cache_string)
|
|
1544
|
-
self.__cache_string=cache_string
|
|
1545
|
-
|
|
1546
|
-
def set_output_file(self,outfile_name):
|
|
1547
|
-
"""
|
|
1548
|
-
@param outfile_name: Name of hw injection page
|
|
1549
|
-
"""
|
|
1550
|
-
self.add_var_opt('outfile',outfile_name)
|
|
1551
|
-
self.__outfile=outfile_name
|
|
1552
|
-
|
|
1553
|
-
def set_segment_dir(self,dir):
|
|
1554
|
-
"""
|
|
1555
|
-
@param dir: directory in which to find hwinj segments
|
|
1556
|
-
"""
|
|
1557
|
-
self.add_var_opt('segment-dir',dir)
|
|
1558
|
-
|
|
1559
|
-
class SireNode(InspiralAnalysisNode):
|
|
1560
|
-
"""
|
|
1561
|
-
A SireNode runs an instance of the single inspiral reader code in a Condor
|
|
1562
|
-
DAG.
|
|
1563
|
-
"""
|
|
1564
|
-
def __init__(self,job):
|
|
1565
|
-
"""
|
|
1566
|
-
job = A CondorDAGJob that can run an instance of lalapps_sire.
|
|
1567
|
-
"""
|
|
1568
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1569
|
-
self.__injection_file = None
|
|
1570
|
-
self.__ifo_tag = None
|
|
1571
|
-
|
|
1572
|
-
def set_ifo(self, ifo):
|
|
1573
|
-
"""
|
|
1574
|
-
Add the list of interferometers
|
|
1575
|
-
"""
|
|
1576
|
-
self.__ifo = ifo
|
|
1577
|
-
self.add_var_opt('ifo-cut',ifo)
|
|
1578
|
-
|
|
1579
|
-
def get_ifo(self):
|
|
1580
|
-
"""
|
|
1581
|
-
Returns the two letter IFO code for this node.
|
|
1582
|
-
"""
|
|
1583
|
-
return self.__ifo
|
|
1584
|
-
|
|
1585
|
-
def set_inj_file(self, file):
|
|
1586
|
-
"""
|
|
1587
|
-
Sets the injection file
|
|
1588
|
-
"""
|
|
1589
|
-
self.__injection_file = file
|
|
1590
|
-
self.add_var_opt('injection-file', file)
|
|
1591
|
-
|
|
1592
|
-
def get_inj_file(self):
|
|
1593
|
-
"""
|
|
1594
|
-
Gets the injection file
|
|
1595
|
-
"""
|
|
1596
|
-
return self.__injection_file
|
|
1597
|
-
|
|
1598
|
-
def set_start(self, start):
|
|
1599
|
-
"""
|
|
1600
|
-
Sets GPS start time
|
|
1601
|
-
"""
|
|
1602
|
-
self.__start = start
|
|
1603
|
-
|
|
1604
|
-
def get_start(self):
|
|
1605
|
-
"""
|
|
1606
|
-
Gets GPS start time
|
|
1607
|
-
"""
|
|
1608
|
-
return self.__start
|
|
1609
|
-
|
|
1610
|
-
def set_end(self, end):
|
|
1611
|
-
"""
|
|
1612
|
-
Sets GPS end time
|
|
1613
|
-
"""
|
|
1614
|
-
self.__end = end
|
|
1615
|
-
|
|
1616
|
-
def get_end(self):
|
|
1617
|
-
"""
|
|
1618
|
-
Gets GPS end time
|
|
1619
|
-
"""
|
|
1620
|
-
return self.__end
|
|
1621
|
-
|
|
1622
|
-
def set_ifo_tag(self,ifo_tag):
|
|
1623
|
-
"""
|
|
1624
|
-
Set the ifo tag that is passed to the analysis code.
|
|
1625
|
-
@param ifo_tag: a string to identify one or more IFOs
|
|
1626
|
-
"""
|
|
1627
|
-
self.__ifo_tag = ifo_tag
|
|
1628
|
-
|
|
1629
|
-
def get_ifo_tag(self):
|
|
1630
|
-
"""
|
|
1631
|
-
Returns the IFO tag string
|
|
1632
|
-
"""
|
|
1633
|
-
return self.__ifo_tag
|
|
1634
|
-
|
|
1635
|
-
def get_output(self):
|
|
1636
|
-
"""
|
|
1637
|
-
get the name of the output file
|
|
1638
|
-
"""
|
|
1639
|
-
if not self.get_ifo():
|
|
1640
|
-
raise InspiralError("ifos have not been set")
|
|
1641
|
-
|
|
1642
|
-
fname = self.get_ifo() + "-SIRE"
|
|
1643
|
-
if self.get_inj_file():
|
|
1644
|
-
fname += "_" + self.get_inj_file().split("-")[1]
|
|
1645
|
-
fname += "_FOUND"
|
|
1646
|
-
|
|
1647
|
-
if self.get_ifo_tag(): fname += "_" + self.get_ifo_tag()
|
|
1648
|
-
if self.get_user_tag(): fname += "_" + self.get_user_tag()
|
|
1649
|
-
|
|
1650
|
-
if (self.get_start() and not self.get_end()) or \
|
|
1651
|
-
(self.get_end() and not self.get_start()):
|
|
1652
|
-
raise InspiralError("If one of start and end is set, both must be")
|
|
1653
|
-
|
|
1654
|
-
if (self.get_start()):
|
|
1655
|
-
duration=self.get_end()- self.get_start()
|
|
1656
|
-
fname += "-" + str(self.get_start()) + "-" + str(duration)
|
|
1657
|
-
|
|
1658
|
-
fname += ".xml"
|
|
1659
|
-
|
|
1660
|
-
return fname
|
|
1661
|
-
|
|
1662
|
-
def get_missed(self):
|
|
1663
|
-
"""
|
|
1664
|
-
get the name of the missed file
|
|
1665
|
-
"""
|
|
1666
|
-
if self.get_inj_file():
|
|
1667
|
-
return self.get_output().replace("FOUND", "MISSED")
|
|
1668
|
-
else:
|
|
1669
|
-
return None
|
|
1670
|
-
|
|
1671
|
-
def finalize(self):
|
|
1672
|
-
"""
|
|
1673
|
-
set the output options
|
|
1674
|
-
"""
|
|
1675
|
-
output = self.get_output()
|
|
1676
|
-
|
|
1677
|
-
self.add_file_opt("output", output,file_is_output_file=True)
|
|
1678
|
-
self.add_file_opt("summary", output.replace("xml", "txt"),file_is_output_file=True)
|
|
1679
|
-
|
|
1680
|
-
if self.get_inj_file():
|
|
1681
|
-
self.add_file_opt('injection-file', self.get_inj_file())
|
|
1682
|
-
self.add_file_opt('missed-injections', self.get_missed(), file_is_output_file=True)
|
|
1683
|
-
|
|
1684
|
-
class CoireNode(InspiralAnalysisNode):
|
|
1685
|
-
"""
|
|
1686
|
-
A CoireNode runs an instance of the inspiral coire code in a Condor
|
|
1687
|
-
DAG.
|
|
1688
|
-
"""
|
|
1689
|
-
def __init__(self,job):
|
|
1690
|
-
"""
|
|
1691
|
-
job = A CondorDAGJob that can run an instance of lalapps_coire.
|
|
1692
|
-
"""
|
|
1693
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1694
|
-
self.__ifos = None
|
|
1695
|
-
self.__ifo_tag = None
|
|
1696
|
-
self.__num_slides = None
|
|
1697
|
-
self.__injection_file = None
|
|
1698
|
-
self.__output_tag = None
|
|
1699
|
-
|
|
1700
|
-
def set_ifos(self, ifos):
|
|
1701
|
-
"""
|
|
1702
|
-
Add the list of interferometers
|
|
1703
|
-
"""
|
|
1704
|
-
self.__ifos = ifos
|
|
1705
|
-
|
|
1706
|
-
def get_ifos(self):
|
|
1707
|
-
"""
|
|
1708
|
-
Returns the ifos
|
|
1709
|
-
"""
|
|
1710
|
-
return self.__ifos
|
|
1711
|
-
|
|
1712
|
-
def set_slides(self, slides):
|
|
1713
|
-
"""
|
|
1714
|
-
Add the number of time slides
|
|
1715
|
-
"""
|
|
1716
|
-
self.__num_slides = slides
|
|
1717
|
-
self.add_var_opt('num-slides',slides)
|
|
1718
|
-
|
|
1719
|
-
def get_slides(self):
|
|
1720
|
-
"""
|
|
1721
|
-
Returns the number of slides
|
|
1722
|
-
"""
|
|
1723
|
-
return self.__num_slides
|
|
1724
|
-
|
|
1725
|
-
def set_inj_file(self, file):
|
|
1726
|
-
"""
|
|
1727
|
-
Sets the injection file
|
|
1728
|
-
"""
|
|
1729
|
-
if file:
|
|
1730
|
-
self.__injection_file = file
|
|
1731
|
-
self.add_var_opt('injection-file', file)
|
|
1732
|
-
|
|
1733
|
-
def get_inj_file(self):
|
|
1734
|
-
"""
|
|
1735
|
-
Gets the injection file
|
|
1736
|
-
"""
|
|
1737
|
-
return self.__injection_file
|
|
1738
|
-
|
|
1739
|
-
def set_start(self, start):
|
|
1740
|
-
"""
|
|
1741
|
-
Sets GPS start time
|
|
1742
|
-
"""
|
|
1743
|
-
self.__start = start
|
|
1744
|
-
|
|
1745
|
-
def get_start(self):
|
|
1746
|
-
"""
|
|
1747
|
-
Gets GPS start time
|
|
1748
|
-
"""
|
|
1749
|
-
return self.__start
|
|
1750
|
-
|
|
1751
|
-
def set_end(self, end):
|
|
1752
|
-
"""
|
|
1753
|
-
Sets GPS end time
|
|
1754
|
-
"""
|
|
1755
|
-
self.__end = end
|
|
1756
|
-
|
|
1757
|
-
def get_end(self):
|
|
1758
|
-
"""
|
|
1759
|
-
Gets GPS end time
|
|
1760
|
-
"""
|
|
1761
|
-
return self.__end
|
|
1762
|
-
|
|
1763
|
-
def set_ifo_tag(self,ifo_tag):
|
|
1764
|
-
"""
|
|
1765
|
-
Set the ifo tag that is passed to the analysis code.
|
|
1766
|
-
@param ifo_tag: a string to identify one or more IFOs
|
|
1767
|
-
"""
|
|
1768
|
-
self.__ifo_tag = ifo_tag
|
|
1769
|
-
|
|
1770
|
-
def get_ifo_tag(self):
|
|
1771
|
-
"""
|
|
1772
|
-
Returns the IFO tag string
|
|
1773
|
-
"""
|
|
1774
|
-
return self.__ifo_tag
|
|
1775
|
-
|
|
1776
|
-
def set_output_tag(self):
|
|
1777
|
-
fname = self.job().get_exec_name().upper()
|
|
1778
|
-
if self.get_slides(): fname += "_SLIDE"
|
|
1779
|
-
if self.get_inj_file():
|
|
1780
|
-
fname += "_" + \
|
|
1781
|
-
self.get_inj_file().split("/")[-1].split(".")[0].split("-")[1]
|
|
1782
|
-
fname += "_FOUND"
|
|
1783
|
-
if self.get_ifo_tag(): fname += "_" + self.get_ifo_tag()
|
|
1784
|
-
if self.get_user_tag(): fname += "_" + self.get_user_tag()
|
|
1785
|
-
self.__output_tag = fname
|
|
1786
|
-
|
|
1787
|
-
def get_output_tag(self):
|
|
1788
|
-
return self.__output_tag
|
|
1789
|
-
|
|
1790
|
-
def get_output(self):
|
|
1791
|
-
"""
|
|
1792
|
-
get the name of the output file
|
|
1793
|
-
"""
|
|
1794
|
-
if not self.get_ifos():
|
|
1795
|
-
raise InspiralError("ifos have not been set")
|
|
1796
|
-
|
|
1797
|
-
self.set_output_tag()
|
|
1798
|
-
fname = self.get_ifos() + '-' + self.get_output_tag()
|
|
1799
|
-
|
|
1800
|
-
if (self.get_start() and not self.get_end()) or \
|
|
1801
|
-
(self.get_end() and not self.get_start()):
|
|
1802
|
-
raise InspiralError("If one of start and end is set, "\
|
|
1803
|
-
"both must be")
|
|
1804
|
-
|
|
1805
|
-
if (self.get_start()):
|
|
1806
|
-
duration=self.get_end() - self.get_start()
|
|
1807
|
-
fname += "-" + str(self.get_start()) + "-" + str(duration)
|
|
1808
|
-
|
|
1809
|
-
fname += ".xml"
|
|
1810
|
-
|
|
1811
|
-
return fname
|
|
1812
|
-
|
|
1813
|
-
def get_missed(self):
|
|
1814
|
-
"""
|
|
1815
|
-
get the name of the missed file
|
|
1816
|
-
"""
|
|
1817
|
-
if self.get_inj_file():
|
|
1818
|
-
return self.get_output().replace("FOUND", "MISSED")
|
|
1819
|
-
else:
|
|
1820
|
-
return None
|
|
1821
|
-
|
|
1822
|
-
def finalize(self):
|
|
1823
|
-
"""
|
|
1824
|
-
set the output options
|
|
1825
|
-
"""
|
|
1826
|
-
output = self.get_output()
|
|
1827
|
-
|
|
1828
|
-
self.add_file_opt("output", output,file_is_output_file=True)
|
|
1829
|
-
self.add_file_opt("summary", output.replace("xml", "txt"),file_is_output_file=True)
|
|
1830
|
-
|
|
1831
|
-
if self.get_inj_file():
|
|
1832
|
-
self.add_file_opt('injection-file', self.get_inj_file())
|
|
1833
|
-
self.add_file_opt('missed-injections', self.get_missed(), file_is_output_file=True)
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
class FrJoinNode(InspiralAnalysisNode):
|
|
1837
|
-
"""
|
|
1838
|
-
A FrJoinNode runs an instance of lalapps_frjoin in a Condor DAG
|
|
1839
|
-
"""
|
|
1840
|
-
def __init__(self,job):
|
|
1841
|
-
"""
|
|
1842
|
-
job = A CondorDAGJob that can run an instance of lalapps_frjoin.
|
|
1843
|
-
"""
|
|
1844
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1845
|
-
|
|
1846
|
-
def set_output(self, outputName):
|
|
1847
|
-
"""
|
|
1848
|
-
Set the output name of the frame file
|
|
1849
|
-
@param outputName: name of the injection file created
|
|
1850
|
-
"""
|
|
1851
|
-
self.add_var_opt('output',outputName)
|
|
1852
|
-
self.add_file_opt('output',outputName,file_is_output_file=True)
|
|
1853
|
-
self.__outputName = outputName
|
|
1854
|
-
|
|
1855
|
-
def get_output(self):
|
|
1856
|
-
"""
|
|
1857
|
-
Get the output name of the frame file
|
|
1858
|
-
"""
|
|
1859
|
-
return self.__outputName
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
class CohBankNode(InspiralAnalysisNode):
|
|
1863
|
-
"""
|
|
1864
|
-
A CohBankNode runs an instance of the coherent code in a Condor DAG.
|
|
1865
|
-
"""
|
|
1866
|
-
def __init__(self,job):
|
|
1867
|
-
"""
|
|
1868
|
-
job = A CondorDAGJob that can run an instance of lalapps_coherent_inspiral.
|
|
1869
|
-
"""
|
|
1870
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1871
|
-
self.__bank = None
|
|
1872
|
-
self.__ifos = None
|
|
1873
|
-
|
|
1874
|
-
def set_bank(self,bank):
|
|
1875
|
-
self.add_var_opt('bank-file', bank)
|
|
1876
|
-
self.add_input_file(bank)
|
|
1877
|
-
self.__bank = bank
|
|
1878
|
-
|
|
1879
|
-
def get_bank(self):
|
|
1880
|
-
return self.__bank
|
|
1881
|
-
|
|
1882
|
-
def set_ifo(self, ifo):
|
|
1883
|
-
"""
|
|
1884
|
-
Add the interferometer to the list of ifos
|
|
1885
|
-
ifo = IFO code (e.g. G1,L1, H1 or H2).
|
|
1886
|
-
"""
|
|
1887
|
-
if ifo == 'G1':
|
|
1888
|
-
self.add_var_opt('g1-triggers','')
|
|
1889
|
-
self.__ifo_g1 = 'G1'
|
|
1890
|
-
elif ifo == 'H1':
|
|
1891
|
-
self.add_var_opt('h1-triggers','')
|
|
1892
|
-
self.__ifo_h1 = 'H1'
|
|
1893
|
-
elif ifo == 'H2':
|
|
1894
|
-
self.add_var_opt('h2-triggers','')
|
|
1895
|
-
self.__ifo_h2 = 'H2'
|
|
1896
|
-
elif ifo == 'L1':
|
|
1897
|
-
self.add_var_opt('l1-triggers','')
|
|
1898
|
-
self.__ifo_l1 = 'L1'
|
|
1899
|
-
elif ifo == 'T1':
|
|
1900
|
-
self.add_var_opt('t1-triggers','')
|
|
1901
|
-
self.__ifo_t1 = 'T1'
|
|
1902
|
-
elif ifo == 'V1':
|
|
1903
|
-
self.add_var_opt('v1-triggers','')
|
|
1904
|
-
self.__ifo_v1 = 'V1'
|
|
1905
|
-
|
|
1906
|
-
def set_ifos(self,ifos):
|
|
1907
|
-
self.add_var_opt('ifos', ifos)
|
|
1908
|
-
self.__ifos = ifos
|
|
1909
|
-
|
|
1910
|
-
def get_ifos(self):
|
|
1911
|
-
return self.__ifos
|
|
1912
|
-
|
|
1913
|
-
def set_num_slides(self, num_slides):
|
|
1914
|
-
"""
|
|
1915
|
-
Set number of time slides to undertake
|
|
1916
|
-
"""
|
|
1917
|
-
self.add_var_opt('num-slides',num_slides)
|
|
1918
|
-
self.__num_slides = num_slides
|
|
1919
|
-
|
|
1920
|
-
def get_output(self):
|
|
1921
|
-
"""
|
|
1922
|
-
Returns the file name of output from the coherent bank.
|
|
1923
|
-
"""
|
|
1924
|
-
|
|
1925
|
-
if not self.get_ifos():
|
|
1926
|
-
raise InspiralError("Ifos have not been set")
|
|
1927
|
-
|
|
1928
|
-
basename = self.get_ifos() + '-COHBANK'
|
|
1929
|
-
|
|
1930
|
-
if self.get_user_tag():
|
|
1931
|
-
basename += '_' + self.get_user_tag()
|
|
1932
|
-
|
|
1933
|
-
filename = basename + '-' + str(self.get_start()) + '-' + \
|
|
1934
|
-
str(self.get_end() - self.get_start()) + '.xml'
|
|
1935
|
-
|
|
1936
|
-
if self.get_zip_output():
|
|
1937
|
-
filename += '.gz'
|
|
1938
|
-
|
|
1939
|
-
self.add_output_file(filename)
|
|
1940
|
-
|
|
1941
|
-
return filename
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
class CohInspBankNode(InspiralAnalysisNode):
|
|
1945
|
-
"""
|
|
1946
|
-
A CohBankNode runs an instance of the coherent code in a Condor DAG.
|
|
1947
|
-
"""
|
|
1948
|
-
def __init__(self,job):
|
|
1949
|
-
"""
|
|
1950
|
-
job = A CondorDAGJob that can run an instance of lalapps_coherent_inspiral.
|
|
1951
|
-
"""
|
|
1952
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
1953
|
-
self.__bank = None
|
|
1954
|
-
self.__ifos = None
|
|
1955
|
-
|
|
1956
|
-
def set_bank(self,bank):
|
|
1957
|
-
self.add_var_opt('bank-file', bank)
|
|
1958
|
-
self.add_input_file(bank)
|
|
1959
|
-
self.__bank = bank
|
|
1960
|
-
|
|
1961
|
-
def get_bank(self):
|
|
1962
|
-
return self.__bank
|
|
1963
|
-
|
|
1964
|
-
def set_ifos(self,ifos):
|
|
1965
|
-
self.add_var_opt('ifos', ifos)
|
|
1966
|
-
self.__ifos = ifos
|
|
1967
|
-
|
|
1968
|
-
def get_ifos(self):
|
|
1969
|
-
return self.__ifos
|
|
1970
|
-
|
|
1971
|
-
def set_num_slides(self, num_slides):
|
|
1972
|
-
"""
|
|
1973
|
-
Set number of time slides to undertake
|
|
1974
|
-
"""
|
|
1975
|
-
self.add_var_opt('num-slides',num_slides)
|
|
1976
|
-
self.__num_slides = num_slides
|
|
1977
|
-
|
|
1978
|
-
def get_output(self):
|
|
1979
|
-
"""
|
|
1980
|
-
Returns the file name of output from the coherent bank.
|
|
1981
|
-
"""
|
|
1982
|
-
|
|
1983
|
-
if not self.get_ifos():
|
|
1984
|
-
raise InspiralError("Ifos have not been set")
|
|
1985
|
-
|
|
1986
|
-
basename = self.get_ifos() + '-COHINSPBANK'
|
|
1987
|
-
|
|
1988
|
-
if self.get_user_tag():
|
|
1989
|
-
basename += '_' + self.get_user_tag()
|
|
1990
|
-
|
|
1991
|
-
filename = basename + '-' + str(self.get_start()) + '-' + \
|
|
1992
|
-
str(self.get_end() - self.get_start()) + '.xml'
|
|
1993
|
-
|
|
1994
|
-
if self.get_zip_output():
|
|
1995
|
-
filename += '.gz'
|
|
1996
|
-
|
|
1997
|
-
self.add_output_file(filename)
|
|
1998
|
-
|
|
1999
|
-
return filename
|
|
2000
|
-
|
|
2001
|
-
# overwrite standard log file names
|
|
2002
|
-
self.set_stdout_file('logs/' + exec_name + '-$(cluster)-$(process).out')
|
|
2003
|
-
self.set_stderr_file('logs/' + exec_name + '-$(cluster)-$(process).err')
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
class ChiaNode(InspiralAnalysisNode):
|
|
2007
|
-
"""
|
|
2008
|
-
A ChiaNode runs an instance of the coherent_inspiral code in a Condor
|
|
2009
|
-
DAG.
|
|
2010
|
-
"""
|
|
2011
|
-
def __init__(self,job):
|
|
2012
|
-
"""
|
|
2013
|
-
job = A CondorDAGJob that can run an instance of lalapps_coherent_inspiral.
|
|
2014
|
-
"""
|
|
2015
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
2016
|
-
|
|
2017
|
-
def set_bank(self,bank):
|
|
2018
|
-
self.add_var_opt('bank-file', bank)
|
|
2019
|
-
self.add_input_file(bank)
|
|
2020
|
-
|
|
2021
|
-
def set_ifo_tag(self,ifo_tag):
|
|
2022
|
-
"""
|
|
2023
|
-
Set the ifo tag that is passed to the analysis code.
|
|
2024
|
-
@param ifo_tag: a string to identify one or more IFOs
|
|
2025
|
-
"""
|
|
2026
|
-
self.__ifo_tag = ifo_tag
|
|
2027
|
-
|
|
2028
|
-
def get_ifo_tag(self):
|
|
2029
|
-
"""
|
|
2030
|
-
Returns the IFO tag string
|
|
2031
|
-
"""
|
|
2032
|
-
return self.__ifo_tag
|
|
2033
|
-
|
|
2034
|
-
def get_output(self):
|
|
2035
|
-
"""
|
|
2036
|
-
Returns the file name of output from coherent inspiral.
|
|
2037
|
-
"""
|
|
2038
|
-
if not self.get_start() or not self.get_end() or not self.get_ifo_tag():
|
|
2039
|
-
raise InspiralError("Start time, end time or ifos have not been set")
|
|
2040
|
-
|
|
2041
|
-
basename = self.get_ifo_tag() + '-CHIA'
|
|
2042
|
-
|
|
2043
|
-
if self.get_user_tag():
|
|
2044
|
-
basename += '_' + self.get_user_tag()
|
|
2045
|
-
|
|
2046
|
-
filename = basename + '-' + str(self.get_start()) + '-' + \
|
|
2047
|
-
str(self.get_end() - self.get_start()) + '.xml'
|
|
2048
|
-
|
|
2049
|
-
if self.get_zip_output():
|
|
2050
|
-
filename += '.gz'
|
|
2051
|
-
|
|
2052
|
-
self.add_output_file(filename)
|
|
2053
|
-
|
|
2054
|
-
return filename
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
class CohireNode(InspiralAnalysisNode):
|
|
2058
|
-
"""
|
|
2059
|
-
A CohireNode runs an instance of the inspiral cohire code in a Condor
|
|
2060
|
-
DAG.
|
|
2061
|
-
"""
|
|
2062
|
-
def __init__(self,job):
|
|
2063
|
-
"""
|
|
2064
|
-
job = A CondorDAGJob that can run an instance of lalapps_cohire.
|
|
2065
|
-
"""
|
|
2066
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
2067
|
-
self.__ifos = None
|
|
2068
|
-
self.__ifo_tag = None
|
|
2069
|
-
self.__num_slides = None
|
|
2070
|
-
self.__injection_file = None
|
|
2071
|
-
self.__output_tag = None
|
|
2072
|
-
|
|
2073
|
-
def set_ifos(self, ifos):
|
|
2074
|
-
"""
|
|
2075
|
-
Add the list of interferometers
|
|
2076
|
-
"""
|
|
2077
|
-
self.__ifos = ifos
|
|
2078
|
-
|
|
2079
|
-
def get_ifos(self):
|
|
2080
|
-
"""
|
|
2081
|
-
Returns the ifos
|
|
2082
|
-
"""
|
|
2083
|
-
return self.__ifos
|
|
2084
|
-
def set_slides(self, slides):
|
|
2085
|
-
"""
|
|
2086
|
-
Add the number of time slides
|
|
2087
|
-
"""
|
|
2088
|
-
self.__num_slides = slides
|
|
2089
|
-
self.add_var_opt('num-slides',slides)
|
|
2090
|
-
|
|
2091
|
-
def get_slides(self):
|
|
2092
|
-
"""
|
|
2093
|
-
Returns the number of slides
|
|
2094
|
-
"""
|
|
2095
|
-
return self.__num_slides
|
|
2096
|
-
|
|
2097
|
-
def set_inj_file(self, file):
|
|
2098
|
-
"""
|
|
2099
|
-
Sets the injection file
|
|
2100
|
-
"""
|
|
2101
|
-
if file:
|
|
2102
|
-
self.__injection_file = file
|
|
2103
|
-
self.add_var_opt('injection-file', file)
|
|
2104
|
-
|
|
2105
|
-
def get_inj_file(self):
|
|
2106
|
-
"""
|
|
2107
|
-
Gets the injection file
|
|
2108
|
-
"""
|
|
2109
|
-
return self.__injection_file
|
|
2110
|
-
|
|
2111
|
-
def set_start(self, start):
|
|
2112
|
-
"""
|
|
2113
|
-
Sets GPS start time
|
|
2114
|
-
"""
|
|
2115
|
-
self.__start = start
|
|
2116
|
-
|
|
2117
|
-
def get_start(self):
|
|
2118
|
-
"""
|
|
2119
|
-
Gets GPS start time
|
|
2120
|
-
"""
|
|
2121
|
-
return self.__start
|
|
2122
|
-
|
|
2123
|
-
def set_end(self, end):
|
|
2124
|
-
"""
|
|
2125
|
-
Sets GPS end time
|
|
2126
|
-
"""
|
|
2127
|
-
self.__end = end
|
|
2128
|
-
|
|
2129
|
-
def get_end(self):
|
|
2130
|
-
"""
|
|
2131
|
-
Gets GPS end time
|
|
2132
|
-
"""
|
|
2133
|
-
return self.__end
|
|
2134
|
-
|
|
2135
|
-
def set_ifo_tag(self,ifo_tag):
|
|
2136
|
-
"""
|
|
2137
|
-
Set the ifo tag that is passed to the analysis code.
|
|
2138
|
-
@param ifo_tag: a string to identify one or more IFOs
|
|
2139
|
-
"""
|
|
2140
|
-
self.__ifo_tag = ifo_tag
|
|
2141
|
-
|
|
2142
|
-
def get_ifo_tag(self):
|
|
2143
|
-
"""
|
|
2144
|
-
Returns the IFO tag string
|
|
2145
|
-
"""
|
|
2146
|
-
return self.__ifo_tag
|
|
2147
|
-
|
|
2148
|
-
def set_output_tag(self):
|
|
2149
|
-
fname = self.job().get_exec_name().upper()
|
|
2150
|
-
if self.get_slides(): fname += "_SLIDE"
|
|
2151
|
-
if self.get_inj_file():
|
|
2152
|
-
fname += "_" + \
|
|
2153
|
-
self.get_inj_file().split("/")[-1].split(".")[0].split("-")[1]
|
|
2154
|
-
fname += "_FOUND"
|
|
2155
|
-
if self.get_ifo_tag(): fname += "_" + self.get_ifo_tag()
|
|
2156
|
-
if self.get_user_tag(): fname += "_" + self.get_user_tag()
|
|
2157
|
-
self.__output_tag = fname
|
|
2158
|
-
|
|
2159
|
-
def get_output_tag(self):
|
|
2160
|
-
return self.__output_tag
|
|
2161
|
-
|
|
2162
|
-
def get_output(self):
|
|
2163
|
-
"""
|
|
2164
|
-
get the name of the output file
|
|
2165
|
-
"""
|
|
2166
|
-
if not self.get_ifos():
|
|
2167
|
-
raise InspiralError("ifos have not been set")
|
|
2168
|
-
|
|
2169
|
-
self.set_output_tag()
|
|
2170
|
-
fname = self.get_ifos() + '-' + self.get_output_tag()
|
|
2171
|
-
|
|
2172
|
-
if (self.get_start() and not self.get_end()) or \
|
|
2173
|
-
(self.get_end() and not self.get_start()):
|
|
2174
|
-
raise InspiralError("If one of start and end is set, "\
|
|
2175
|
-
"both must be")
|
|
2176
|
-
|
|
2177
|
-
if (self.get_start()):
|
|
2178
|
-
duration=self.get_end() - self.get_start()
|
|
2179
|
-
fname += "-" + str(self.get_start()) + "-" + str(duration)
|
|
2180
|
-
|
|
2181
|
-
fname += ".xml"
|
|
2182
|
-
|
|
2183
|
-
return fname
|
|
2184
|
-
|
|
2185
|
-
def get_missed(self):
|
|
2186
|
-
"""
|
|
2187
|
-
get the name of the missed file
|
|
2188
|
-
"""
|
|
2189
|
-
if self.get_inj_file():
|
|
2190
|
-
return self.get_output().replace("FOUND", "MISSED")
|
|
2191
|
-
else:
|
|
2192
|
-
return None
|
|
2193
|
-
|
|
2194
|
-
def finalize(self):
|
|
2195
|
-
"""
|
|
2196
|
-
set the output options
|
|
2197
|
-
"""
|
|
2198
|
-
output = self.get_output()
|
|
2199
|
-
|
|
2200
|
-
self.add_file_opt("output", output,file_is_output_file=True)
|
|
2201
|
-
self.add_file_opt("summary", output.replace("xml", "txt"),file_is_output_file=True)
|
|
2202
|
-
|
|
2203
|
-
if self.get_inj_file():
|
|
2204
|
-
self.add_file_opt('injection-file', self.get_inj_file())
|
|
2205
|
-
self.add_file_opt('missed-injections', self.get_missed(), file_is_output_file=True)
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
class InspInjFindNode( InspiralAnalysisNode ):
|
|
2209
|
-
"""
|
|
2210
|
-
An InspInjFindNode runs an instance of the InspInjJob in a
|
|
2211
|
-
Condor DAG.
|
|
2212
|
-
"""
|
|
2213
|
-
def __init__(self, job):
|
|
2214
|
-
"""
|
|
2215
|
-
@param job: A CondorDAGJob that can run an instance of ligolw_inspinjfind.
|
|
2216
|
-
"""
|
|
2217
|
-
InspiralAnalysisNode.__init__(self, job)
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
##############################################################################
|
|
2221
|
-
#Plotting Jobs and Nodes
|
|
2222
|
-
|
|
2223
|
-
class PlotInspiralrangeJob(InspiralPlottingJob):
|
|
2224
|
-
"""
|
|
2225
|
-
A plotinspiralrange job. The static options are read from the section
|
|
2226
|
-
[plotinspiralrange] in the ini file. The stdout and stderr from the job
|
|
2227
|
-
are directed to the logs directory. The path to the executable is
|
|
2228
|
-
determined from the ini file.
|
|
2229
|
-
"""
|
|
2230
|
-
def __init__(self,cp):
|
|
2231
|
-
"""
|
|
2232
|
-
@param cp = ConfigParser object from which options are read.
|
|
2233
|
-
"""
|
|
2234
|
-
exec_name = 'plotinspiralrange'
|
|
2235
|
-
sections = ['plotinspiralrange']
|
|
2236
|
-
extension = 'html'
|
|
2237
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2238
|
-
|
|
2239
|
-
class PlotInspiralrangeNode(InspiralPlottingNode):
|
|
2240
|
-
"""
|
|
2241
|
-
A PlotInspiralrangeNode runs an instance of the plotinspiral code in a
|
|
2242
|
-
Condor DAG.
|
|
2243
|
-
"""
|
|
2244
|
-
def __init__(self,job):
|
|
2245
|
-
"""
|
|
2246
|
-
job = A CondorDAGJob that can run an instance of plotinspiralrange.
|
|
2247
|
-
"""
|
|
2248
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2249
|
-
|
|
2250
|
-
#######################################################################################
|
|
2251
|
-
|
|
2252
|
-
class PlotInspiralJob(InspiralPlottingJob):
|
|
2253
|
-
"""
|
|
2254
|
-
A plotinspiral job. The static options are read from the section
|
|
2255
|
-
[plotinspiral] in the ini file. The stdout and stderr from the job
|
|
2256
|
-
are directed to the logs directory. The path to the executable is
|
|
2257
|
-
determined from the ini file.
|
|
2258
|
-
"""
|
|
2259
|
-
def __init__(self,cp):
|
|
2260
|
-
"""
|
|
2261
|
-
@param cp = ConfigParser object from which options are read.
|
|
2262
|
-
"""
|
|
2263
|
-
exec_name = 'plotinspiral'
|
|
2264
|
-
sections = ['plotinspiral']
|
|
2265
|
-
extension = 'html'
|
|
2266
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2267
|
-
|
|
2268
|
-
class PlotInspiralNode(InspiralPlottingNode):
|
|
2269
|
-
"""
|
|
2270
|
-
A PlotInspiralNode runs an instance of the plotinspiral code in a Condor DAG.
|
|
2271
|
-
"""
|
|
2272
|
-
def __init__(self,job):
|
|
2273
|
-
"""
|
|
2274
|
-
job = A CondorDAGJob that can run an instance of plotinspiral.
|
|
2275
|
-
"""
|
|
2276
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2277
|
-
|
|
2278
|
-
###########################################################################################
|
|
2279
|
-
|
|
2280
|
-
class PlotThincaJob(InspiralPlottingJob):
|
|
2281
|
-
"""
|
|
2282
|
-
A plotthinca job. The static options are read from the section
|
|
2283
|
-
[plotthinca] in the ini file. The stdout and stderr from the job
|
|
2284
|
-
are directed to the logs directory. The path to the executable is
|
|
2285
|
-
determined from the ini file.
|
|
2286
|
-
"""
|
|
2287
|
-
def __init__(self,cp):
|
|
2288
|
-
"""
|
|
2289
|
-
@param cp = ConfigParser object from which options are read.
|
|
2290
|
-
"""
|
|
2291
|
-
exec_name = 'plotthinca'
|
|
2292
|
-
sections = ['plotthinca']
|
|
2293
|
-
extension = 'html'
|
|
2294
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2295
|
-
self.add_condor_cmd('request_memory', '2500')
|
|
2296
|
-
|
|
2297
|
-
class PlotThincaNode(InspiralPlottingNode):
|
|
2298
|
-
"""
|
|
2299
|
-
A PlotThincaNode runs an instance of the plotthinca code in a Condor DAG.
|
|
2300
|
-
"""
|
|
2301
|
-
def __init__(self,job):
|
|
2302
|
-
"""
|
|
2303
|
-
job = A CondorDAGJob that can run an instance of plotthinca.
|
|
2304
|
-
"""
|
|
2305
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
###########################################################################################
|
|
2309
|
-
|
|
2310
|
-
class PlotCohsnrJob(InspiralPlottingJob):
|
|
2311
|
-
"""
|
|
2312
|
-
A plotthinca job. The static options are read from the section
|
|
2313
|
-
[plotthinca] in the ini file. The stdout and stderr from the job
|
|
2314
|
-
are directed to the logs directory. The path to the executable is
|
|
2315
|
-
determined from the ini file.
|
|
2316
|
-
"""
|
|
2317
|
-
def __init__(self,cp):
|
|
2318
|
-
"""
|
|
2319
|
-
@param cp = ConfigParser object from which options are read.
|
|
2320
|
-
"""
|
|
2321
|
-
exec_name = 'plotcohsnr'
|
|
2322
|
-
sections = ['plotcohsnr']
|
|
2323
|
-
extension = 'html'
|
|
2324
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2325
|
-
|
|
2326
|
-
class PlotCohsnrNode(InspiralPlottingNode):
|
|
2327
|
-
"""
|
|
2328
|
-
A PlotThincaNode runs an instance of the plotthinca code in a Condor DAG.
|
|
2329
|
-
"""
|
|
2330
|
-
def __init__(self,job):
|
|
2331
|
-
"""
|
|
2332
|
-
job = A CondorDAGJob that can run an instance of plotthinca.
|
|
2333
|
-
"""
|
|
2334
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
#######################################################################################
|
|
2338
|
-
|
|
2339
|
-
class PlotNumtemplatesJob(InspiralPlottingJob):
|
|
2340
|
-
"""
|
|
2341
|
-
A plotnumtemplates job. The static options are read from the section
|
|
2342
|
-
[plotnumtemplates] in the ini file. The stdout and stderr from the job
|
|
2343
|
-
are directed to the logs directory. The path to the executable is
|
|
2344
|
-
determined from the ini file.
|
|
2345
|
-
"""
|
|
2346
|
-
def __init__(self,cp):
|
|
2347
|
-
"""
|
|
2348
|
-
@param cp = ConfigParser object from which options are read.
|
|
2349
|
-
"""
|
|
2350
|
-
exec_name = 'plotnumtemplates'
|
|
2351
|
-
sections = ['plotnumtemplates']
|
|
2352
|
-
extension = 'html'
|
|
2353
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2354
|
-
|
|
2355
|
-
class PlotNumtemplatesNode(InspiralPlottingNode):
|
|
2356
|
-
"""
|
|
2357
|
-
A PlotNumtemplatesNode runs an instance of the plotinspiral code in a Condor DAG.
|
|
2358
|
-
"""
|
|
2359
|
-
def __init__(self,job):
|
|
2360
|
-
"""
|
|
2361
|
-
job = A CondorDAGJob that can run an instance of plotnumtemplates.
|
|
2362
|
-
"""
|
|
2363
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2364
|
-
|
|
2365
|
-
##############################################################################
|
|
2366
|
-
|
|
2367
|
-
class PlotEthincaJob(InspiralPlottingJob):
|
|
2368
|
-
"""
|
|
2369
|
-
A plotethinca job. The static options are read from the section
|
|
2370
|
-
[plotethinca] in the ini file. The stdout and stderr from the job
|
|
2371
|
-
are directed to the logs directory. The path to the executable is
|
|
2372
|
-
determined from the ini file.
|
|
2373
|
-
"""
|
|
2374
|
-
def __init__(self,cp):
|
|
2375
|
-
"""
|
|
2376
|
-
@param cp = ConfigParser object from which options are read.
|
|
2377
|
-
"""
|
|
2378
|
-
exec_name = 'plotethinca'
|
|
2379
|
-
sections = ['plotethinca']
|
|
2380
|
-
extension = 'html'
|
|
2381
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2382
|
-
self.add_condor_cmd('request_memory', '2500')
|
|
2383
|
-
|
|
2384
|
-
class PlotEthincaNode(InspiralPlottingNode):
|
|
2385
|
-
"""
|
|
2386
|
-
A PlotEthincaNode runs an instance of the plotinspiral code in a Condor DAG.
|
|
2387
|
-
"""
|
|
2388
|
-
def __init__(self,job):
|
|
2389
|
-
"""
|
|
2390
|
-
job = A CondorDAGJob that can run an instance of plotethinca.
|
|
2391
|
-
"""
|
|
2392
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2393
|
-
|
|
2394
|
-
#############################################################################
|
|
2395
|
-
|
|
2396
|
-
class PlotInspmissedJob(InspiralPlottingJob):
|
|
2397
|
-
"""
|
|
2398
|
-
A plotinspmissed job. The static options are read from the section
|
|
2399
|
-
[plotinspmissed] in the ini file. The stdout and stderr from the job
|
|
2400
|
-
are directed to the logs directory. The path to the executable is
|
|
2401
|
-
determined from the ini file.
|
|
2402
|
-
"""
|
|
2403
|
-
def __init__(self,cp):
|
|
2404
|
-
"""
|
|
2405
|
-
@param cp = ConfigParser object from which options are read.
|
|
2406
|
-
"""
|
|
2407
|
-
exec_name = 'plotinspmissed'
|
|
2408
|
-
sections = ['plotinspmissed']
|
|
2409
|
-
extension = 'html'
|
|
2410
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2411
|
-
|
|
2412
|
-
class PlotInspmissedNode(InspiralPlottingNode):
|
|
2413
|
-
"""
|
|
2414
|
-
A PlotInspmissedNode runs an instance of the plotinspiral code in a Condor DAG.
|
|
2415
|
-
"""
|
|
2416
|
-
def __init__(self,job):
|
|
2417
|
-
"""
|
|
2418
|
-
job = A CondorDAGJob that can run an instance of plotinspmissed.
|
|
2419
|
-
"""
|
|
2420
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2421
|
-
|
|
2422
|
-
#############################################################################
|
|
2423
|
-
|
|
2424
|
-
class PlotEffdistcutJob(InspiralPlottingJob):
|
|
2425
|
-
"""
|
|
2426
|
-
A ploteffdistcut job. The static options are read from the section
|
|
2427
|
-
[ploteffdistcut] in the ini file. The stdout and stderr from the job
|
|
2428
|
-
are directed to the logs directory. The path to the executable is
|
|
2429
|
-
determined from the ini file.
|
|
2430
|
-
"""
|
|
2431
|
-
def __init__(self,cp):
|
|
2432
|
-
"""
|
|
2433
|
-
@param cp = ConfigParser object from which options are read.
|
|
2434
|
-
"""
|
|
2435
|
-
exec_name = 'ploteffdistcut'
|
|
2436
|
-
sections = ['ploteffdistcut']
|
|
2437
|
-
extension = 'html'
|
|
2438
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2439
|
-
|
|
2440
|
-
class PlotEffdistcutNode(InspiralPlottingNode):
|
|
2441
|
-
"""
|
|
2442
|
-
A PlotEffdistcutNode runs an instance of the
|
|
2443
|
-
ploteffdistcut code in a Condor DAG.
|
|
2444
|
-
"""
|
|
2445
|
-
def __init__(self,job):
|
|
2446
|
-
"""
|
|
2447
|
-
job = A CondorDAGJob that can run an instance of ploteffdistcut.
|
|
2448
|
-
"""
|
|
2449
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2450
|
-
|
|
2451
|
-
#############################################################################
|
|
2452
|
-
|
|
2453
|
-
class PlotInspinjJob(InspiralPlottingJob):
|
|
2454
|
-
"""
|
|
2455
|
-
A plotinspinj job. The static options are read from the section
|
|
2456
|
-
[plotinspinj] in the ini file. The stdout and stderr from the job
|
|
2457
|
-
are directed to the logs directory. The path to the executable is
|
|
2458
|
-
determined from the ini file.
|
|
2459
|
-
"""
|
|
2460
|
-
def __init__(self,cp):
|
|
2461
|
-
"""
|
|
2462
|
-
@param cp = ConfigParser object from which options are read.
|
|
2463
|
-
"""
|
|
2464
|
-
exec_name = 'plotinspinj'
|
|
2465
|
-
sections = ['plotinspinj']
|
|
2466
|
-
extension = 'html'
|
|
2467
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2468
|
-
self.add_condor_cmd('request_memory', '2500')
|
|
2469
|
-
|
|
2470
|
-
class PlotInspinjNode(InspiralPlottingNode):
|
|
2471
|
-
"""
|
|
2472
|
-
A PlotInspinjNode runs an instance of the plotinspiral code in a Condor DAG.
|
|
2473
|
-
"""
|
|
2474
|
-
def __init__(self,job):
|
|
2475
|
-
"""
|
|
2476
|
-
job = A CondorDAGJob that can run an instance of plotinspinj.
|
|
2477
|
-
"""
|
|
2478
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2479
|
-
|
|
2480
|
-
#############################################################################
|
|
2481
|
-
|
|
2482
|
-
class PlotSnrchiJob(InspiralPlottingJob):
|
|
2483
|
-
"""
|
|
2484
|
-
A plotsnrchi job. The static options are read from the section
|
|
2485
|
-
[plotsnrchi] in the ini file. The stdout and stderr from the job
|
|
2486
|
-
are directed to the logs directory. The path to the executable is
|
|
2487
|
-
determined from the ini file.
|
|
2488
|
-
"""
|
|
2489
|
-
def __init__(self,cp):
|
|
2490
|
-
"""
|
|
2491
|
-
@param cp = ConfigParser object from which options are read.
|
|
2492
|
-
"""
|
|
2493
|
-
exec_name = 'plotsnrchi'
|
|
2494
|
-
sections = ['plotsnrchi']
|
|
2495
|
-
extension = 'html'
|
|
2496
|
-
InspiralPlottingJob.__init__(self,cp,sections,exec_name,extension)
|
|
2497
|
-
self.add_condor_cmd('request_memory', '2500')
|
|
2498
|
-
|
|
2499
|
-
class PlotSnrchiNode(InspiralPlottingNode):
|
|
2500
|
-
"""
|
|
2501
|
-
A PlotSnrchiNode runs an instance of the plotinspiral code in a Condor DAG.
|
|
2502
|
-
"""
|
|
2503
|
-
def __init__(self,job):
|
|
2504
|
-
"""
|
|
2505
|
-
job = A CondorDAGJob that can run an instance of plotsnrchi.
|
|
2506
|
-
"""
|
|
2507
|
-
InspiralPlottingNode.__init__(self,job)
|
|
2508
|
-
|
|
2509
|
-
#############################################################################
|
|
2510
|
-
|
|
2511
|
-
class PlotGRBtimeslideStatsJob(InspiralAnalysisJob):
|
|
2512
|
-
"""
|
|
2513
|
-
A plotgrbtimeslidestats job. The static options are read from the section
|
|
2514
|
-
[grbtimeslidestats] in the ini file. The stdout and stderr from the job
|
|
2515
|
-
are directed to the logs directory. The path to the executable is
|
|
2516
|
-
determined from the ini file.
|
|
2517
|
-
"""
|
|
2518
|
-
def __init__(self,cp):
|
|
2519
|
-
"""
|
|
2520
|
-
@param cp = ConfigParser object from which options are read.
|
|
2521
|
-
"""
|
|
2522
|
-
exec_name = 'pylal_grbtimeslide_stats'
|
|
2523
|
-
sections = ['grbtimeslidestats']
|
|
2524
|
-
extension = 'html'
|
|
2525
|
-
InspiralAnalysisJob.__init__(self,cp,sections,exec_name,extension)
|
|
2526
|
-
self.add_condor_cmd('getenv', 'True')
|
|
2527
|
-
|
|
2528
|
-
class PlotGRBtimeslideStatsNode(InspiralAnalysisNode):
|
|
2529
|
-
"""
|
|
2530
|
-
A PlotGRBtimeslideStatsNode runs an instance of the pylal_grbtimeslide_stats code in a Condor DAG.
|
|
2531
|
-
"""
|
|
2532
|
-
def __init__(self,job):
|
|
2533
|
-
"""
|
|
2534
|
-
job = A CondorDAGJob that can run an instance of pylal_grbtimeslide_stats.
|
|
2535
|
-
"""
|
|
2536
|
-
InspiralAnalysisNode.__init__(self,job)
|
|
2537
|
-
|
|
2538
|
-
#############################################################################
|
|
2539
|
-
|
|
2540
|
-
class MiniFollowupsJob(InspiralPlottingJob):
|
|
2541
|
-
"""
|
|
2542
|
-
A minifollowups job. Static options are read from the
|
|
2543
|
-
[minifollowups] section in the ini file.
|
|
2544
|
-
"""
|
|
2545
|
-
def __init__(self, cp):
|
|
2546
|
-
"""
|
|
2547
|
-
@param cp: ConfigParser object from which options are read.
|
|
2548
|
-
"""
|
|
2549
|
-
exec_name = 'minifollowups'
|
|
2550
|
-
sections = ['minifollowups','omega-scans']
|
|
2551
|
-
extension = None
|
|
2552
|
-
InspiralPlottingJob.__init__(self, cp, sections, exec_name, extension)
|
|
2553
|
-
self.add_condor_cmd('request_memory', '2500')
|
|
2554
|
-
|
|
2555
|
-
def set_time_slides(self):
|
|
2556
|
-
"""
|
|
2557
|
-
Turns on the --time-slides argument.
|
|
2558
|
-
"""
|
|
2559
|
-
self.add_opt('time-slides', '')
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
class MiniFollowupsNode(InspiralPlottingNode):
|
|
2563
|
-
"""
|
|
2564
|
-
A mininfollowups node.
|
|
2565
|
-
"""
|
|
2566
|
-
def __init__(self, job):
|
|
2567
|
-
"""
|
|
2568
|
-
@param job: a MiniFollowupsJob
|
|
2569
|
-
"""
|
|
2570
|
-
InspiralAnalysisNode.__init__(self, job)
|
|
2571
|
-
self.__cache_file = None
|
|
2572
|
-
self.__cache_string = None
|
|
2573
|
-
self.__prefix = None
|
|
2574
|
-
self.__suffix = None
|
|
2575
|
-
self.__input_xml = None
|
|
2576
|
-
self.__input_xml_summary = None
|
|
2577
|
-
self.__output_html_table = None
|
|
2578
|
-
self.__table_name = None
|
|
2579
|
-
|
|
2580
|
-
def set_cache_file(self, cache_file):
|
|
2581
|
-
"""
|
|
2582
|
-
Set the ihope cache file to use.
|
|
2583
|
-
"""
|
|
2584
|
-
self.add_file_opt( 'cache-file', cache_file )
|
|
2585
|
-
self.__cache_file = cache_file
|
|
2586
|
-
|
|
2587
|
-
def get_cache_file(self):
|
|
2588
|
-
"""
|
|
2589
|
-
Returns the cache file that's set.
|
|
2590
|
-
"""
|
|
2591
|
-
return self.__cache_file
|
|
2592
|
-
|
|
2593
|
-
def set_cache_string(self, cache_string):
|
|
2594
|
-
"""
|
|
2595
|
-
Set the ihope cache file to use.
|
|
2596
|
-
"""
|
|
2597
|
-
self.add_file_opt( 'cache-string', cache_string )
|
|
2598
|
-
self.__cache_string = cache_string
|
|
2599
|
-
|
|
2600
|
-
def get_cache_string(self):
|
|
2601
|
-
"""
|
|
2602
|
-
Returns the cache file that's set.
|
|
2603
|
-
"""
|
|
2604
|
-
return self.__cache_string
|
|
2605
|
-
|
|
2606
|
-
def set_prefix(self, prefix):
|
|
2607
|
-
"""
|
|
2608
|
-
Sets the prefix option, which is used for plot names.
|
|
2609
|
-
"""
|
|
2610
|
-
self.add_var_opt( 'prefix', prefix )
|
|
2611
|
-
self.__prefix = prefix
|
|
2612
|
-
|
|
2613
|
-
def get_prefix(self):
|
|
2614
|
-
"""
|
|
2615
|
-
Return the prefix that's set.
|
|
2616
|
-
"""
|
|
2617
|
-
return self.__prefix
|
|
2618
|
-
|
|
2619
|
-
def set_suffix(self, suffix):
|
|
2620
|
-
"""
|
|
2621
|
-
Sets the suffix option, which is used for plot names.
|
|
2622
|
-
"""
|
|
2623
|
-
self.add_var_opt( 'suffix', suffix )
|
|
2624
|
-
self.__suffix = suffix
|
|
2625
|
-
|
|
2626
|
-
def get_suffix(self):
|
|
2627
|
-
"""
|
|
2628
|
-
Return the suffix that's set.
|
|
2629
|
-
"""
|
|
2630
|
-
return self.__suffix
|
|
2631
|
-
|
|
2632
|
-
def set_input_xml(self, input_xml):
|
|
2633
|
-
"""
|
|
2634
|
-
Sets the input xml.
|
|
2635
|
-
"""
|
|
2636
|
-
self.add_var_opt( 'input-xml', input_xml)
|
|
2637
|
-
self.__input_xml = input_xml
|
|
2638
|
-
|
|
2639
|
-
def get_input_xml(self):
|
|
2640
|
-
"""
|
|
2641
|
-
Return the input_xml that's set.
|
|
2642
|
-
"""
|
|
2643
|
-
return self.__input_xml
|
|
2644
|
-
|
|
2645
|
-
def set_input_xml_summary(self, input_xml_summary):
|
|
2646
|
-
"""
|
|
2647
|
-
Sets the input xml.
|
|
2648
|
-
"""
|
|
2649
|
-
self.add_var_opt( 'input-xml-summary', input_xml_summary)
|
|
2650
|
-
self.__input_xml_summary = input_xml_summary
|
|
2651
|
-
|
|
2652
|
-
def get_input_xml_summary(self):
|
|
2653
|
-
"""
|
|
2654
|
-
Return the input_xml_summary that's set.
|
|
2655
|
-
"""
|
|
2656
|
-
return self.__input_xml_summary
|
|
2657
|
-
|
|
2658
|
-
def set_output_html_table(self, output_html_table):
|
|
2659
|
-
"""
|
|
2660
|
-
Sets the input xml.
|
|
2661
|
-
"""
|
|
2662
|
-
self.add_var_opt( 'output-html-table', output_html_table)
|
|
2663
|
-
self.__output_html_table = output_html_table
|
|
2664
|
-
|
|
2665
|
-
def get_output_html_table(self):
|
|
2666
|
-
"""
|
|
2667
|
-
Return the output_html_table that's set.
|
|
2668
|
-
"""
|
|
2669
|
-
return self.__output_html_table
|
|
2670
|
-
|
|
2671
|
-
def set_table_name(self, table_name):
|
|
2672
|
-
"""
|
|
2673
|
-
Sets the table-name argument.
|
|
2674
|
-
"""
|
|
2675
|
-
self.add_var_opt( 'table-name', table_name )
|
|
2676
|
-
self.__table_name = table_name
|
|
2677
|
-
|
|
2678
|
-
def get_table_name(self):
|
|
2679
|
-
"""
|
|
2680
|
-
Return the table_name that's set.
|
|
2681
|
-
"""
|
|
2682
|
-
return self.__table_name
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
#############################################################################
|
|
2686
|
-
# following are types of pipeline.SqliteJobs and Nodes
|
|
2687
|
-
|
|
2688
|
-
class DBSimplifyJob(pipeline.SqliteJob):
|
|
2689
|
-
"""
|
|
2690
|
-
A DBSimplify job. The static options are read from the section
|
|
2691
|
-
[dbsimplify] in the ini file.
|
|
2692
|
-
"""
|
|
2693
|
-
def __init__(self, cp):
|
|
2694
|
-
"""
|
|
2695
|
-
@param cp: ConfigParser object from which options are read.
|
|
2696
|
-
"""
|
|
2697
|
-
exec_name = 'dbsimplify'
|
|
2698
|
-
sections = ['dbsimplify']
|
|
2699
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
class DBSimplifyNode(pipeline.SqliteNode):
|
|
2703
|
-
"""
|
|
2704
|
-
A DBSimplify node.
|
|
2705
|
-
"""
|
|
2706
|
-
def __init__(self, job):
|
|
2707
|
-
"""
|
|
2708
|
-
@param job: a DBSimplifyJob
|
|
2709
|
-
"""
|
|
2710
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
class ComputeDurationsJob(pipeline.SqliteJob):
|
|
2714
|
-
"""
|
|
2715
|
-
A ComputeDurations job. The static options are read from the section
|
|
2716
|
-
[compute_durations] in the ini file.
|
|
2717
|
-
"""
|
|
2718
|
-
def __init__(self, cp):
|
|
2719
|
-
"""
|
|
2720
|
-
@param cp: ConfigParser object from which options are read.
|
|
2721
|
-
"""
|
|
2722
|
-
exec_name = 'compute_durations'
|
|
2723
|
-
sections = ['compute_durations']
|
|
2724
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
class ComputeDurationsNode(pipeline.SqliteNode):
|
|
2728
|
-
"""
|
|
2729
|
-
A ComputeDurations node.
|
|
2730
|
-
"""
|
|
2731
|
-
def __init__(self, job):
|
|
2732
|
-
"""
|
|
2733
|
-
@param job: a ComputeDurationsJob
|
|
2734
|
-
"""
|
|
2735
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
class DBAddInjJob(pipeline.SqliteJob):
|
|
2739
|
-
"""
|
|
2740
|
-
A DBAddInj job. The static options are read from the section
|
|
2741
|
-
[dbaddinj] in the ini file.
|
|
2742
|
-
"""
|
|
2743
|
-
def __init__(self, cp):
|
|
2744
|
-
"""
|
|
2745
|
-
@param cp: ConfigParser object from which options are read.
|
|
2746
|
-
"""
|
|
2747
|
-
exec_name = 'dbaddinj'
|
|
2748
|
-
sections = ['dbaddinj']
|
|
2749
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
class DBAddInjNode(pipeline.SqliteNode):
|
|
2753
|
-
"""
|
|
2754
|
-
A DBAddInj node.
|
|
2755
|
-
"""
|
|
2756
|
-
def __init__(self, job ):
|
|
2757
|
-
"""
|
|
2758
|
-
@param job: a DBAddInj job
|
|
2759
|
-
"""
|
|
2760
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
2761
|
-
self.__injection_file = None
|
|
2762
|
-
self.__inj_tag = None
|
|
2763
|
-
|
|
2764
|
-
def set_injection_file( self, injection_file ):
|
|
2765
|
-
"""
|
|
2766
|
-
@param injection_file: Injection file for dbaddinj to
|
|
2767
|
-
add to the database.
|
|
2768
|
-
"""
|
|
2769
|
-
self.add_file_opt( 'injection-file', injection_file )
|
|
2770
|
-
self.__injection_file = injection_file
|
|
2771
|
-
|
|
2772
|
-
def get_injection_file( self ):
|
|
2773
|
-
"""
|
|
2774
|
-
Returns injection file for this node.
|
|
2775
|
-
"""
|
|
2776
|
-
return self._injection_file
|
|
2777
|
-
|
|
2778
|
-
def set_inj_tag( self, inj_tag):
|
|
2779
|
-
"""
|
|
2780
|
-
@param inj_tag: Injection tag used to name the injection files
|
|
2781
|
-
"""
|
|
2782
|
-
self.add_var_opt( 'sim-tag', inj_tag )
|
|
2783
|
-
self.__inj_tag = inj_tag
|
|
2784
|
-
|
|
2785
|
-
def get_inj_tag( self):
|
|
2786
|
-
"""
|
|
2787
|
-
Returns injection_tag for this node.
|
|
2788
|
-
"""
|
|
2789
|
-
return self.__inj_tag
|
|
2790
|
-
|
|
2791
|
-
class RepopCoincJob(pipeline.SqliteJob):
|
|
2792
|
-
"""
|
|
2793
|
-
A repop_coinc job. The static options are read from the section
|
|
2794
|
-
[repop_coinc] in the ini file.
|
|
2795
|
-
"""
|
|
2796
|
-
def __init__(self, cp):
|
|
2797
|
-
"""
|
|
2798
|
-
@param cp: ConfigParser object from which options are read.
|
|
2799
|
-
"""
|
|
2800
|
-
exec_name = 'repop_coinc'
|
|
2801
|
-
sections = ['repop_coinc']
|
|
2802
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
class RepopCoincNode(pipeline.SqliteNode):
|
|
2806
|
-
"""
|
|
2807
|
-
A repop_coinc node.
|
|
2808
|
-
"""
|
|
2809
|
-
def __init__(self, job):
|
|
2810
|
-
"""
|
|
2811
|
-
@param job: a RepopCoincJob
|
|
2812
|
-
"""
|
|
2813
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
class DBInjFindJob(pipeline.SqliteJob):
|
|
2817
|
-
"""
|
|
2818
|
-
A dbinjfind job. The static options are read from the section
|
|
2819
|
-
[dbinjfind] in the ini file.
|
|
2820
|
-
"""
|
|
2821
|
-
def __init__(self, cp):
|
|
2822
|
-
"""
|
|
2823
|
-
@param cp: ConfigParser object from which options are read.
|
|
2824
|
-
"""
|
|
2825
|
-
exec_name = 'dbinjfind'
|
|
2826
|
-
sections = ['dbinjfind']
|
|
2827
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
class DBInjFindNode(pipeline.SqliteNode):
|
|
2831
|
-
"""
|
|
2832
|
-
A dbinjfind node.
|
|
2833
|
-
"""
|
|
2834
|
-
def __init__(self, job):
|
|
2835
|
-
"""
|
|
2836
|
-
@param job: a DBInjFindJob
|
|
2837
|
-
"""
|
|
2838
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
class ClusterCoincsJob(pipeline.SqliteJob):
|
|
2842
|
-
"""
|
|
2843
|
-
A cluster coincs job. The static options are read from the section
|
|
2844
|
-
[cluster_coincs] in the ini file.
|
|
2845
|
-
"""
|
|
2846
|
-
def __init__(self, cp):
|
|
2847
|
-
"""
|
|
2848
|
-
@param cp: ConfigParser object from which options are read.
|
|
2849
|
-
"""
|
|
2850
|
-
exec_name = 'cluster_coincs'
|
|
2851
|
-
sections = ['cluster_coincs']
|
|
2852
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
class ClusterCoincsNode(pipeline.SqliteNode):
|
|
2856
|
-
"""
|
|
2857
|
-
A ClusterCoincs node.
|
|
2858
|
-
"""
|
|
2859
|
-
def __init__(self, job):
|
|
2860
|
-
"""
|
|
2861
|
-
@param job: a ClusterCoincsJob
|
|
2862
|
-
"""
|
|
2863
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
class CFarJob(pipeline.SqliteJob):
|
|
2867
|
-
"""
|
|
2868
|
-
A cfar job. The static options are read from the section [cfar] in
|
|
2869
|
-
the ini file.
|
|
2870
|
-
"""
|
|
2871
|
-
def __init__(self, cp, sections):
|
|
2872
|
-
"""
|
|
2873
|
-
@param cp: ConfigParser object from which options are read.
|
|
2874
|
-
@param sections: list of sections for cp to read from
|
|
2875
|
-
"""
|
|
2876
|
-
exec_name = 'cfar'
|
|
2877
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
class CFarNode(pipeline.SqliteNode):
|
|
2881
|
-
"""
|
|
2882
|
-
A CFar node.
|
|
2883
|
-
"""
|
|
2884
|
-
def __init__(self, job):
|
|
2885
|
-
"""
|
|
2886
|
-
@param job: a CFarJob
|
|
2887
|
-
"""
|
|
2888
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
class LigolwCBCPrintJob(pipeline.SqliteJob):
|
|
2892
|
-
"""
|
|
2893
|
-
A LigolwCBCPrintJob is a generic job class for ligolw_cbc_print* programs, e.g., ligolw_cbc_printlc.
|
|
2894
|
-
"""
|
|
2895
|
-
def __init__(self, cp, exec_name, sections):
|
|
2896
|
-
"""
|
|
2897
|
-
@param cp: ConfigParser object from which options are read.
|
|
2898
|
-
@param exec_name UNDOCUMENTED
|
|
2899
|
-
@param sections: list of sections for cp to read from
|
|
2900
|
-
"""
|
|
2901
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
class LigolwCBCPrintNode(pipeline.SqliteNode):
|
|
2905
|
-
"""
|
|
2906
|
-
A LigolwCBCPrintJob is a generic node class for ligolw_cbc_print* programs, e.g., ligolw_cbc_printlc.
|
|
2907
|
-
This class offers options common to these programs.
|
|
2908
|
-
"""
|
|
2909
|
-
def __init__(self, job):
|
|
2910
|
-
"""
|
|
2911
|
-
@param job: a PrintLCJob
|
|
2912
|
-
"""
|
|
2913
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
2914
|
-
self.__extract_to_xml = None
|
|
2915
|
-
self.__extract_to_database = None
|
|
2916
|
-
self.__exclude_coincs = None
|
|
2917
|
-
self.__include_only_coincs = None
|
|
2918
|
-
self.__sim_tag = None
|
|
2919
|
-
self.__output_format = None
|
|
2920
|
-
self.__columns = None
|
|
2921
|
-
|
|
2922
|
-
def set_extract_to_xml(self, xml_filename):
|
|
2923
|
-
"""
|
|
2924
|
-
Sets the extract-to-xml option.
|
|
2925
|
-
"""
|
|
2926
|
-
self.add_var_opt('extract-to-xml', xml_filename)
|
|
2927
|
-
self.__extract_to_xml = xml_filename
|
|
2928
|
-
|
|
2929
|
-
def get_extract_to_xml(self):
|
|
2930
|
-
"""
|
|
2931
|
-
Gets xml-filename if extract-to-xml is set.
|
|
2932
|
-
"""
|
|
2933
|
-
return self.__extract_to_xml
|
|
2934
|
-
|
|
2935
|
-
def set_extract_to_database(self, database_filename):
|
|
2936
|
-
"""
|
|
2937
|
-
Sets the extract-to-database option.
|
|
2938
|
-
"""
|
|
2939
|
-
self.add_var_opt('extract-to-database', database_filename)
|
|
2940
|
-
self.__extract_to_database = database_filename
|
|
2941
|
-
|
|
2942
|
-
def get_extract_to_database(self):
|
|
2943
|
-
"""
|
|
2944
|
-
Gets database-filename if extract-to-database is set.
|
|
2945
|
-
"""
|
|
2946
|
-
return self.__extract_to_database
|
|
2947
|
-
|
|
2948
|
-
def set_exclude_coincs(self, exclude_coincs):
|
|
2949
|
-
"""
|
|
2950
|
-
Sets exclude-coincs option.
|
|
2951
|
-
"""
|
|
2952
|
-
self.add_var_opt('exclude-coincs', exclude_coincs)
|
|
2953
|
-
self.__exclude_coincs = exclude_coincs
|
|
2954
|
-
|
|
2955
|
-
def get_exclude_coincs(self):
|
|
2956
|
-
"""
|
|
2957
|
-
Gets exclude-coincs option.
|
|
2958
|
-
"""
|
|
2959
|
-
return self.__exclude_coincs
|
|
2960
|
-
|
|
2961
|
-
def set_include_only_coincs(self, include_only_coincs):
|
|
2962
|
-
"""
|
|
2963
|
-
Sets include-only-coincs option.
|
|
2964
|
-
"""
|
|
2965
|
-
self.add_var_opt('include-only-coincs', include_only_coincs)
|
|
2966
|
-
self.__include_only_coincs = include_only_coincs
|
|
2967
|
-
|
|
2968
|
-
def get_include_only_coincs(self):
|
|
2969
|
-
"""
|
|
2970
|
-
Gets include-only-coincs option.
|
|
2971
|
-
"""
|
|
2972
|
-
return self.__include_only_coincs
|
|
2973
|
-
|
|
2974
|
-
def set_sim_tag(self, sim_tag):
|
|
2975
|
-
"""
|
|
2976
|
-
Sets the --sim-tag option.
|
|
2977
|
-
"""
|
|
2978
|
-
self.add_var_opt('sim-tag', sim_tag)
|
|
2979
|
-
self.__sim_tag = sim_tag
|
|
2980
|
-
|
|
2981
|
-
def get_sim_tag(self):
|
|
2982
|
-
"""
|
|
2983
|
-
Gets sim-tag option.
|
|
2984
|
-
"""
|
|
2985
|
-
return self.__sim_tag
|
|
2986
|
-
|
|
2987
|
-
def set_output_format(self, output_format):
|
|
2988
|
-
"""
|
|
2989
|
-
Sets the output-format option. (Note that the default
|
|
2990
|
-
for all ligolw_cbc_print* jobs is xml.)
|
|
2991
|
-
"""
|
|
2992
|
-
self.add_var_opt('output-format', output_format)
|
|
2993
|
-
self.__output_format = output_format
|
|
2994
|
-
|
|
2995
|
-
def get_output_format(self):
|
|
2996
|
-
"""
|
|
2997
|
-
Gets the output-format option.
|
|
2998
|
-
"""
|
|
2999
|
-
return self.__output_format
|
|
3000
|
-
|
|
3001
|
-
def set_columns(self, columns):
|
|
3002
|
-
"""
|
|
3003
|
-
Sets the columns option.
|
|
3004
|
-
"""
|
|
3005
|
-
self.add_var_opt('columns', columns)
|
|
3006
|
-
self.__columns = columns
|
|
3007
|
-
|
|
3008
|
-
def get_columns(self):
|
|
3009
|
-
"""
|
|
3010
|
-
Gets the columns option.
|
|
3011
|
-
"""
|
|
3012
|
-
return self.__columns
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
class PrintLCNode(LigolwCBCPrintNode):
|
|
3016
|
-
"""
|
|
3017
|
-
A special instance of LigolwCBCPrintNode that adds printlc-specific methods.
|
|
3018
|
-
"""
|
|
3019
|
-
def __init__(self, job):
|
|
3020
|
-
"""
|
|
3021
|
-
@param job: a LigolwCBCPrintJob
|
|
3022
|
-
"""
|
|
3023
|
-
LigolwCBCPrintNode.__init__(self, job)
|
|
3024
|
-
self.__datatype = None
|
|
3025
|
-
|
|
3026
|
-
def set_datatype(self, datatype):
|
|
3027
|
-
"""
|
|
3028
|
-
Sets datatype option.
|
|
3029
|
-
"""
|
|
3030
|
-
self.add_var_opt('datatype', datatype)
|
|
3031
|
-
self.__datatype = datatype
|
|
3032
|
-
|
|
3033
|
-
def get_datatype(self):
|
|
3034
|
-
"""
|
|
3035
|
-
Gets datatype.
|
|
3036
|
-
"""
|
|
3037
|
-
return self.__datatype
|
|
3038
|
-
|
|
3039
|
-
class PrintSimsNode(LigolwCBCPrintNode):
|
|
3040
|
-
"""
|
|
3041
|
-
A special instance of LigolwCBCPrintNode that adds printsims-specific methods.
|
|
3042
|
-
"""
|
|
3043
|
-
def __init__(self, job):
|
|
3044
|
-
"""
|
|
3045
|
-
@param job: a LigolwCBCPrintJob
|
|
3046
|
-
"""
|
|
3047
|
-
LigolwCBCPrintNode.__init__(self, job)
|
|
3048
|
-
self.__comparison_datatype = None
|
|
3049
|
-
self.__simulation_table = None
|
|
3050
|
-
self.__recovery_table = None
|
|
3051
|
-
|
|
3052
|
-
def set_comparison_datatype(self, datatype):
|
|
3053
|
-
"""
|
|
3054
|
-
Sets comparison-datatype option.
|
|
3055
|
-
"""
|
|
3056
|
-
self.add_var_opt('comparison-datatype', datatype)
|
|
3057
|
-
self.__comparison_datatype = datatype
|
|
3058
|
-
|
|
3059
|
-
def get_comparison_datatype(self):
|
|
3060
|
-
"""
|
|
3061
|
-
Gets comparison-datatype.
|
|
3062
|
-
"""
|
|
3063
|
-
return self.__comparison_datatype
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
class PrintMissedNode(LigolwCBCPrintNode):
|
|
3067
|
-
"""
|
|
3068
|
-
A special instance of LigolwCBCPrintNode that adds printmissed-specific methods.
|
|
3069
|
-
"""
|
|
3070
|
-
def __init__(self, job):
|
|
3071
|
-
"""
|
|
3072
|
-
@param job: a LigolwCBCPrintJob
|
|
3073
|
-
"""
|
|
3074
|
-
LigolwCBCPrintNode.__init__(self, job)
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
class PlotSlidesJob(pipeline.SqliteJob):
|
|
3078
|
-
"""
|
|
3079
|
-
A plotslides job. The static options are read from the sections [plot_input]
|
|
3080
|
-
and [plotslides].
|
|
3081
|
-
"""
|
|
3082
|
-
def __init__(self, cp):
|
|
3083
|
-
"""
|
|
3084
|
-
@param cp: ConfigParser object from which options are read.
|
|
3085
|
-
"""
|
|
3086
|
-
exec_name = 'plotslides'
|
|
3087
|
-
sections = ['plot_input', 'plotslides']
|
|
3088
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
3089
|
-
|
|
3090
|
-
def set_plot_playground_only(self):
|
|
3091
|
-
"""
|
|
3092
|
-
Sets plot-playground-only option. This causes job to only plot playground.
|
|
3093
|
-
"""
|
|
3094
|
-
self.add_opt('plot-playground-only','')
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
class PlotSlidesNode(pipeline.SqliteNode):
|
|
3098
|
-
"""
|
|
3099
|
-
A PlotSlides node.
|
|
3100
|
-
"""
|
|
3101
|
-
def __init__(self, job):
|
|
3102
|
-
"""
|
|
3103
|
-
@param job: a PlotSlidesJob
|
|
3104
|
-
"""
|
|
3105
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
class PlotCumhistJob(pipeline.SqliteJob):
|
|
3109
|
-
"""
|
|
3110
|
-
A plotcumhist job. The static options are read from the sections [plot_input] and
|
|
3111
|
-
[plotcumhist].
|
|
3112
|
-
"""
|
|
3113
|
-
def __init__(self, cp):
|
|
3114
|
-
"""
|
|
3115
|
-
@param cp: ConfigParser object from which options are read.
|
|
3116
|
-
"""
|
|
3117
|
-
exec_name = 'plotcumhist'
|
|
3118
|
-
sections = ['plot_input', 'plotcumhist']
|
|
3119
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
3120
|
-
|
|
3121
|
-
def set_plot_playground_only(self):
|
|
3122
|
-
"""
|
|
3123
|
-
Sets plot-playground-only option. This causes job to only plot playground.
|
|
3124
|
-
"""
|
|
3125
|
-
self.add_opt('plot-playground-only','')
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
class PlotCumhistNode(pipeline.SqliteNode):
|
|
3129
|
-
"""
|
|
3130
|
-
A PlotCumhist node.
|
|
3131
|
-
"""
|
|
3132
|
-
def __init__(self, job):
|
|
3133
|
-
"""
|
|
3134
|
-
@param job: a PlotCumhist Job
|
|
3135
|
-
"""
|
|
3136
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
class PlotIfarJob(pipeline.SqliteJob):
|
|
3140
|
-
"""
|
|
3141
|
-
A plotifar job. The static options are read from the [plotifar] section.
|
|
3142
|
-
"""
|
|
3143
|
-
def __init__(self, cp):
|
|
3144
|
-
"""
|
|
3145
|
-
@param cp: ConfigParser object from which options are read.
|
|
3146
|
-
"""
|
|
3147
|
-
exec_name = 'plotifar'
|
|
3148
|
-
sections = ['plot_input','plotifar']
|
|
3149
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
class PlotIfarNode(pipeline.SqliteNode):
|
|
3153
|
-
"""
|
|
3154
|
-
A PlotIfar node.
|
|
3155
|
-
"""
|
|
3156
|
-
def __init__(self, job):
|
|
3157
|
-
"""
|
|
3158
|
-
@param job: a PlotIfarJob
|
|
3159
|
-
"""
|
|
3160
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
3161
|
-
self.__datatype = None
|
|
3162
|
-
|
|
3163
|
-
def set_datatype(self, datatype):
|
|
3164
|
-
"""
|
|
3165
|
-
Sets datatype option.
|
|
3166
|
-
"""
|
|
3167
|
-
self.add_var_opt('datatype', datatype)
|
|
3168
|
-
self.__datatype = datatype
|
|
3169
|
-
|
|
3170
|
-
def get_datatype(self):
|
|
3171
|
-
"""
|
|
3172
|
-
Gets datatype.
|
|
3173
|
-
"""
|
|
3174
|
-
return self.__datatype
|
|
3175
|
-
|
|
3176
|
-
class PlotFMJob(pipeline.SqliteJob):
|
|
3177
|
-
"""
|
|
3178
|
-
A plotfm job. The static options are read from the [plotfm] seciont.
|
|
3179
|
-
"""
|
|
3180
|
-
def __init__(self, cp):
|
|
3181
|
-
"""
|
|
3182
|
-
@param cp: ConfigParser object from which objects are read.
|
|
3183
|
-
"""
|
|
3184
|
-
exec_name = 'plotfm'
|
|
3185
|
-
sections = ['plot_input', 'plotfm']
|
|
3186
|
-
pipeline.SqliteJob.__init__(self, cp, sections, exec_name)
|
|
3187
|
-
|
|
3188
|
-
class PlotFMNode(pipeline.SqliteNode):
|
|
3189
|
-
"""
|
|
3190
|
-
A PlotFM node.
|
|
3191
|
-
"""
|
|
3192
|
-
def __init__(self, job):
|
|
3193
|
-
"""
|
|
3194
|
-
@param job: a PlotFMJob
|
|
3195
|
-
"""
|
|
3196
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
3197
|
-
self.__sim_tag = None
|
|
3198
|
-
|
|
3199
|
-
def set_sim_tag(self, sim_tag):
|
|
3200
|
-
"""
|
|
3201
|
-
Sets the --sim-tag option.
|
|
3202
|
-
"""
|
|
3203
|
-
self.add_var_opt('sim-tag', sim_tag)
|
|
3204
|
-
self.__sim_tag = sim_tag
|
|
3205
|
-
|
|
3206
|
-
def get_sim_tag(self):
|
|
3207
|
-
"""
|
|
3208
|
-
Gets sim-tag option.
|
|
3209
|
-
"""
|
|
3210
|
-
return self.__sim_tag
|
|
3211
|
-
|
|
3212
|
-
##############################################################################
|
|
3213
|
-
# some functions to make life easier later
|
|
3214
|
-
|
|
3215
|
-
def overlap_test(interval1, interval2, slide_sec=0):
|
|
3216
|
-
"""
|
|
3217
|
-
Test whether the two intervals could possibly overlap with one of them being
|
|
3218
|
-
slid by a maximum time of slide_sec. Perform three tests:
|
|
3219
|
-
1) Does the start of interval 1 lie within interval 2's range (with the
|
|
3220
|
-
start decremented by slide_sec and the end incremented by slide_sec)
|
|
3221
|
-
2) Does the end of interval 1 lie within interval 2's range (with the start
|
|
3222
|
-
decremented by slide_sec and the end incremented by slide_sec)
|
|
3223
|
-
3) Does interval 1 completely cover (the extended) interval 2,
|
|
3224
|
-
ie is interval_1 start before (interval 2 start - slide_sec) AND
|
|
3225
|
-
interval 1 end after (interval 2 end + slide_sec)
|
|
3226
|
-
If any of the above conditions are satisfied then return True, else False.
|
|
3227
|
-
"""
|
|
3228
|
-
start1 = interval1.start()
|
|
3229
|
-
end1 = interval1.end()
|
|
3230
|
-
left = interval2.start() - slide_sec
|
|
3231
|
-
right = interval2.end() + slide_sec
|
|
3232
|
-
|
|
3233
|
-
return (start1 >= left and start1 <= right) or \
|
|
3234
|
-
(end1 >= left and end1 <= right) or \
|
|
3235
|
-
(start1 <= left and end1 >= right)
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
class SearchVolumeJob(pipeline.SqliteJob):
|
|
3239
|
-
"""
|
|
3240
|
-
A search volume job. Computes the observed physical volume
|
|
3241
|
-
above a specified FAR; if FAR is not specified, computes the
|
|
3242
|
-
volume above the loudest event (open box) or FAR=1/livetime
|
|
3243
|
-
(closed box).
|
|
3244
|
-
"""
|
|
3245
|
-
def __init__(self, cp):
|
|
3246
|
-
"""
|
|
3247
|
-
@param cp: ConfigParser object from which options are read.
|
|
3248
|
-
"""
|
|
3249
|
-
exec_name = 'search_volume'
|
|
3250
|
-
pipeline.SqliteJob.__init__(self, cp, ['search-volume'], exec_name)
|
|
3251
|
-
self.add_condor_cmd('environment',"KMP_LIBRARY=serial;MKL_SERIAL=yes")
|
|
3252
|
-
|
|
3253
|
-
class SearchVolumeNode(pipeline.SqliteNode):
|
|
3254
|
-
"""
|
|
3255
|
-
A search volume node.
|
|
3256
|
-
"""
|
|
3257
|
-
def __init__(self, job):
|
|
3258
|
-
"""
|
|
3259
|
-
"""
|
|
3260
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
3261
|
-
|
|
3262
|
-
def add_database(self, db):
|
|
3263
|
-
self.add_var_arg(db)
|
|
3264
|
-
|
|
3265
|
-
def set_output_cache(self, file):
|
|
3266
|
-
self.add_var_opt("output-cache", file)
|
|
3267
|
-
|
|
3268
|
-
def set_user_tag(self, tag):
|
|
3269
|
-
self.add_var_opt("user-tag", tag)
|
|
3270
|
-
|
|
3271
|
-
def set_veto_segments_name(self, name):
|
|
3272
|
-
self.add_var_opt("veto-segments-name", name)
|
|
3273
|
-
|
|
3274
|
-
def set_open_box(self):
|
|
3275
|
-
self.add_var_arg("--open-box")
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
class SearchUpperLimitJob(pipeline.SqliteJob):
|
|
3279
|
-
"""
|
|
3280
|
-
A search upper limit job. Compute the search upper limit from the search
|
|
3281
|
-
volume output. Generates upper limit plots.
|
|
3282
|
-
"""
|
|
3283
|
-
def __init__(self, cp):
|
|
3284
|
-
"""
|
|
3285
|
-
@param cp: ConfigParser object from which options are read.
|
|
3286
|
-
sections: list of sections for cp to read from
|
|
3287
|
-
"""
|
|
3288
|
-
exec_name = 'search_upper_limit'
|
|
3289
|
-
pipeline.SqliteJob.__init__(self, cp, ['upper-limit'], exec_name)
|
|
3290
|
-
self.add_condor_cmd('environment',"KMP_LIBRARY=serial;MKL_SERIAL=yes")
|
|
3291
|
-
|
|
3292
|
-
class SearchUpperLimitNode(pipeline.SqliteNode):
|
|
3293
|
-
"""
|
|
3294
|
-
A search upper limit node.
|
|
3295
|
-
"""
|
|
3296
|
-
def __init__(self, job):
|
|
3297
|
-
"""
|
|
3298
|
-
@param job: a SearchUpperLimitJob
|
|
3299
|
-
"""
|
|
3300
|
-
pipeline.SqliteNode.__init__(self, job)
|
|
3301
|
-
self.open_box = False
|
|
3302
|
-
|
|
3303
|
-
def add_input_cache(self, input_cache):
|
|
3304
|
-
self.add_var_arg(input_cache)
|
|
3305
|
-
|
|
3306
|
-
def set_user_tag(self, tag):
|
|
3307
|
-
self.add_var_opt("user-tag", tag)
|
|
3308
|
-
|
|
3309
|
-
def set_open_box(self):
|
|
3310
|
-
'''
|
|
3311
|
-
Set the open box flag.
|
|
3312
|
-
'''
|
|
3313
|
-
if not self.open_box:
|
|
3314
|
-
self.open_box = True
|
|
3315
|
-
self.add_var_arg("--open-box")
|
|
3316
|
-
|
|
3317
|
-
class MVSCDagGenerationJob(InspiralAnalysisJob):
|
|
3318
|
-
"""
|
|
3319
|
-
a job that generates the mvsc_dag, which will be run as an external subdag
|
|
3320
|
-
"""
|
|
3321
|
-
def __init__(self, cp):
|
|
3322
|
-
"""
|
|
3323
|
-
@param cp: ConfigParser object from which options are read.
|
|
3324
|
-
"""
|
|
3325
|
-
exec_name = "mvsc_dag"
|
|
3326
|
-
universe = "vanilla"
|
|
3327
|
-
sections = "[mvsc_dag]"
|
|
3328
|
-
executable = cp.get('condor',exec_name)
|
|
3329
|
-
pipeline.CondorDAGJob.__init__(self, universe, executable)
|
|
3330
|
-
pipeline.AnalysisJob.__init__(self, cp)
|
|
3331
|
-
self.add_condor_cmd('getenv','True')
|
|
3332
|
-
self.set_stdout_file('logs/' + exec_name + '-$(cluster)-$(process).out')
|
|
3333
|
-
self.set_stderr_file('logs/' + exec_name + '-$(cluster)-$(process).err')
|
|
3334
|
-
self.set_sub_file(exec_name + '.sub')
|
|
3335
|
-
|
|
3336
|
-
class MVSCDagGenerationNode(InspiralAnalysisNode):
|
|
3337
|
-
"""
|
|
3338
|
-
the node that runs the mvsc dag generation script for a given configuration
|
|
3339
|
-
generally the different nodes will be for different categories of vetoes
|
|
3340
|
-
"""
|
|
3341
|
-
def __init__(self, job):
|
|
3342
|
-
InspiralAnalysisNode.__init__(self, job)
|
|
3343
|
-
def set_database(self, database):
|
|
3344
|
-
self.add_var_arg(database)
|
|
3345
|
-
def set_user_tag(self, tag):
|
|
3346
|
-
self.add_var_opt("user-tag",tag)
|
|
3347
|
-
class ExtendedCoincJob(InspiralAnalysisJob):
|
|
3348
|
-
"""
|
|
3349
|
-
job to calculate the extende background for zero far events
|
|
3350
|
-
"""
|
|
3351
|
-
def __init__(self, cp):
|
|
3352
|
-
"""
|
|
3353
|
-
cp = ConfigParser object from which options are read.
|
|
3354
|
-
sections = sections of the ConfigParser that get added to the opts
|
|
3355
|
-
exec_name = exec_name name in ConfigParser
|
|
3356
|
-
"""
|
|
3357
|
-
|
|
3358
|
-
exec_name = 'extended_background'
|
|
3359
|
-
sections = []
|
|
3360
|
-
extension = 'html'
|
|
3361
|
-
InspiralAnalysisJob.__init__(self, cp, sections, exec_name, extension)
|
|
3362
|
-
self.add_condor_cmd('getenv','True')
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
class ExtendedCoincNode(InspiralAnalysisNode):
|
|
3366
|
-
"""
|
|
3367
|
-
Node to calculate the extended background for a zero far event
|
|
3368
|
-
"""
|
|
3369
|
-
def __init__(self, job):
|
|
3370
|
-
InspiralAnalysisNode.__init__(self, job)
|
|
3371
|
-
|
|
3372
|
-
def set_coinc_threshold(self, coinc_threshold):
|
|
3373
|
-
self.add_var_opt('coinc-threshold', coinc_threshold)
|
|
3374
|
-
|
|
3375
|
-
def set_ihope_base_dir(self, base_dir):
|
|
3376
|
-
self.add_var_opt('ihope-base-dir', base_dir)
|
|
3377
|
-
|
|
3378
|
-
def set_param_ranges(self, param_ranges):
|
|
3379
|
-
self.add_var_opt('param-ranges', param_ranges)
|
|
3380
|
-
|
|
3381
|
-
def set_ethinca(self, ethinca):
|
|
3382
|
-
self.add_var_opt('e-thinca-parameter', ethinca)
|
|
3383
|
-
|
|
3384
|
-
def set_slide_step(self, slide_step):
|
|
3385
|
-
self.add_var_opt('slide-step', slide_step)
|
|
3386
|
-
|
|
3387
|
-
def set_veto_window(self, veto_window):
|
|
3388
|
-
self.add_var_opt('veto-window', veto_window)
|
|
3389
|
-
|
|
3390
|
-
def set_new_snr_cut(self, new_snr_cut):
|
|
3391
|
-
self.add_var_opt('new-snr-cut', new_snr_cut)
|
|
3392
|
-
|
|
3393
|
-
def set_loudest_event_glob(self, event_glob):
|
|
3394
|
-
self.add_var_opt('loudest-event-glob', event_glob)
|