lalsuite 7.26.2.dev20260106__cp314-cp314-macosx_13_0_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (749) hide show
  1. lal/.dylibs/Python +0 -0
  2. lal/.dylibs/libaec.0.dylib +0 -0
  3. lal/.dylibs/libbrotlicommon.1.2.0.dylib +0 -0
  4. lal/.dylibs/libbrotlidec.1.2.0.dylib +0 -0
  5. lal/.dylibs/libcfitsio.10.4.4.1.dylib +0 -0
  6. lal/.dylibs/libcrypto.3.dylib +0 -0
  7. lal/.dylibs/libcurl.4.dylib +0 -0
  8. lal/.dylibs/libfftw3.3.dylib +0 -0
  9. lal/.dylibs/libfftw3f.3.dylib +0 -0
  10. lal/.dylibs/libframel.8.48.4.dylib +0 -0
  11. lal/.dylibs/libgsl.28.dylib +0 -0
  12. lal/.dylibs/libgslcblas.0.dylib +0 -0
  13. lal/.dylibs/libhdf5.310.dylib +0 -0
  14. lal/.dylibs/libhdf5_hl.310.dylib +0 -0
  15. lal/.dylibs/libiconv.2.dylib +0 -0
  16. lal/.dylibs/libidn2.0.dylib +0 -0
  17. lal/.dylibs/libintl.8.dylib +0 -0
  18. lal/.dylibs/liblal.20.dylib +0 -0
  19. lal/.dylibs/liblalburst.8.dylib +0 -0
  20. lal/.dylibs/liblalframe.14.dylib +0 -0
  21. lal/.dylibs/liblalinference.23.dylib +0 -0
  22. lal/.dylibs/liblalinspiral.18.dylib +0 -0
  23. lal/.dylibs/liblalmetaio.11.dylib +0 -0
  24. lal/.dylibs/liblalpulsar.30.dylib +0 -0
  25. lal/.dylibs/liblalsimulation.37.dylib +0 -0
  26. lal/.dylibs/liblalsupport.14.dylib +0 -0
  27. lal/.dylibs/libmetaio.1.dylib +0 -0
  28. lal/.dylibs/libnghttp2.14.dylib +0 -0
  29. lal/.dylibs/libpsl.5.dylib +0 -0
  30. lal/.dylibs/libssl.3.dylib +0 -0
  31. lal/.dylibs/libsz.2.dylib +0 -0
  32. lal/.dylibs/libunistring.5.dylib +0 -0
  33. lal/.dylibs/libz.1.3.1.dylib +0 -0
  34. lal/.dylibs/libzstd.1.5.7.dylib +0 -0
  35. lal/__init__.py +145 -0
  36. lal/_lal.cpython-314-darwin.so +0 -0
  37. lal/_lal_swig.py +12 -0
  38. lal/antenna.py +1200 -0
  39. lal/git_version.py +64 -0
  40. lal/gpstime.py +233 -0
  41. lal/iterutils.py +408 -0
  42. lal/pipeline.py +3139 -0
  43. lal/rate.py +2455 -0
  44. lal/series.py +244 -0
  45. lal/utils/__init__.py +29 -0
  46. lal/utils/cache.py +379 -0
  47. lal/utils/series.py +277 -0
  48. lalapps/__init__.py +26 -0
  49. lalapps/bin/lal_cache +0 -0
  50. lalapps/bin/lal_fftw_wisdom +0 -0
  51. lalapps/bin/lal_fftwf_wisdom +0 -0
  52. lalapps/bin/lal_simd_detect +0 -0
  53. lalapps/bin/lal_tconvert +0 -0
  54. lalapps/bin/lal_version +0 -0
  55. lalapps/bin/lalapps_ComputeAntennaPattern +16 -0
  56. lalapps/bin/lalapps_ComputeFstatBenchmark +16 -0
  57. lalapps/bin/lalapps_ComputeFstatLatticeCount +16 -0
  58. lalapps/bin/lalapps_ComputeFstatMCUpperLimit +16 -0
  59. lalapps/bin/lalapps_ComputeFstatistic_v2 +16 -0
  60. lalapps/bin/lalapps_ComputePSD +16 -0
  61. lalapps/bin/lalapps_CopySFTs +16 -0
  62. lalapps/bin/lalapps_DistanceVsMass +0 -0
  63. lalapps/bin/lalapps_DriveHoughMulti +16 -0
  64. lalapps/bin/lalapps_FstatMetric_v2 +16 -0
  65. lalapps/bin/lalapps_HierarchSearchGCT +16 -0
  66. lalapps/bin/lalapps_HierarchicalSearch +16 -0
  67. lalapps/bin/lalapps_MakeSFTDAG +16 -0
  68. lalapps/bin/lalapps_MakeSFTs +16 -0
  69. lalapps/bin/lalapps_Makefakedata_v4 +16 -0
  70. lalapps/bin/lalapps_Makefakedata_v5 +16 -0
  71. lalapps/bin/lalapps_PredictFstat +16 -0
  72. lalapps/bin/lalapps_PrintDetectorState +16 -0
  73. lalapps/bin/lalapps_SFTclean +16 -0
  74. lalapps/bin/lalapps_SFTvalidate +16 -0
  75. lalapps/bin/lalapps_StringAddFrame +0 -0
  76. lalapps/bin/lalapps_StringSearch +0 -0
  77. lalapps/bin/lalapps_Weave +16 -0
  78. lalapps/bin/lalapps_WeaveCompare +16 -0
  79. lalapps/bin/lalapps_WeaveConcat +16 -0
  80. lalapps/bin/lalapps_WeaveSetup +16 -0
  81. lalapps/bin/lalapps_WriteSFTsfromSFDBs +16 -0
  82. lalapps/bin/lalapps_animate +0 -0
  83. lalapps/bin/lalapps_binj +0 -0
  84. lalapps/bin/lalapps_blindinj +0 -0
  85. lalapps/bin/lalapps_cache +16 -0
  86. lalapps/bin/lalapps_calfacs +0 -0
  87. lalapps/bin/lalapps_cbc_stochasticbank +0 -0
  88. lalapps/bin/lalapps_chirplen +0 -0
  89. lalapps/bin/lalapps_coh_PTF_inspiral +0 -0
  90. lalapps/bin/lalapps_coinj +0 -0
  91. lalapps/bin/lalapps_combine_crosscorr_toplists +16 -0
  92. lalapps/bin/lalapps_compareFstats +16 -0
  93. lalapps/bin/lalapps_compareSFTs +16 -0
  94. lalapps/bin/lalapps_create_time_correction_ephemeris +16 -0
  95. lalapps/bin/lalapps_dumpSFT +16 -0
  96. lalapps/bin/lalapps_effdist +0 -0
  97. lalapps/bin/lalapps_exc_resp +0 -0
  98. lalapps/bin/lalapps_fftw_wisdom +16 -0
  99. lalapps/bin/lalapps_fftwf_wisdom +16 -0
  100. lalapps/bin/lalapps_fits_header_getval +16 -0
  101. lalapps/bin/lalapps_fits_header_list +16 -0
  102. lalapps/bin/lalapps_fits_overview +16 -0
  103. lalapps/bin/lalapps_fits_table_list +16 -0
  104. lalapps/bin/lalapps_fr_ninja +0 -0
  105. lalapps/bin/lalapps_frextr +0 -0
  106. lalapps/bin/lalapps_frinfo +0 -0
  107. lalapps/bin/lalapps_frjoin +0 -0
  108. lalapps/bin/lalapps_frread +0 -0
  109. lalapps/bin/lalapps_frview +0 -0
  110. lalapps/bin/lalapps_gwf2xml +0 -0
  111. lalapps/bin/lalapps_heterodyne_pulsar +16 -0
  112. lalapps/bin/lalapps_inspawgfile +0 -0
  113. lalapps/bin/lalapps_inspfrinj +0 -0
  114. lalapps/bin/lalapps_inspinj +0 -0
  115. lalapps/bin/lalapps_inspiralDistance +0 -0
  116. lalapps/bin/lalapps_knope +16 -0
  117. lalapps/bin/lalapps_knope_automation_script +16 -0
  118. lalapps/bin/lalapps_knope_collate_results +16 -0
  119. lalapps/bin/lalapps_knope_result_page +16 -0
  120. lalapps/bin/lalapps_makeblindinj +85 -0
  121. lalapps/bin/lalapps_makeblindinj_himass +67 -0
  122. lalapps/bin/lalapps_ninja +0 -0
  123. lalapps/bin/lalapps_path2cache +16 -0
  124. lalapps/bin/lalapps_power +0 -0
  125. lalapps/bin/lalapps_pulsar_crosscorr_v2 +16 -0
  126. lalapps/bin/lalapps_pulsar_frequency_evolution +16 -0
  127. lalapps/bin/lalapps_pulsar_parameter_estimation_nested +16 -0
  128. lalapps/bin/lalapps_random_bank +0 -0
  129. lalapps/bin/lalapps_randombank +0 -0
  130. lalapps/bin/lalapps_run_pulsar_crosscorr_v2 +16 -0
  131. lalapps/bin/lalapps_searchsum2cache +16 -0
  132. lalapps/bin/lalapps_spec_avg +16 -0
  133. lalapps/bin/lalapps_spec_avg_long +16 -0
  134. lalapps/bin/lalapps_spec_coherence +16 -0
  135. lalapps/bin/lalapps_spininj +0 -0
  136. lalapps/bin/lalapps_splitSFTs +16 -0
  137. lalapps/bin/lalapps_splitbank +0 -0
  138. lalapps/bin/lalapps_ssbtodetector +16 -0
  139. lalapps/bin/lalapps_synthesizeBstatMC +16 -0
  140. lalapps/bin/lalapps_synthesizeLVStats +16 -0
  141. lalapps/bin/lalapps_synthesizeTransientStats +16 -0
  142. lalapps/bin/lalapps_tconvert +16 -0
  143. lalapps/bin/lalapps_tmpltbank +0 -0
  144. lalapps/bin/lalapps_version +0 -0
  145. lalapps/bin/lalapps_xtefitstoframe +0 -0
  146. lalapps/bin/lalburst_version +0 -0
  147. lalapps/bin/lalfr-cat +0 -0
  148. lalapps/bin/lalfr-cksum +0 -0
  149. lalapps/bin/lalfr-cut +0 -0
  150. lalapps/bin/lalfr-dump +0 -0
  151. lalapps/bin/lalfr-fmt +0 -0
  152. lalapps/bin/lalfr-paste +0 -0
  153. lalapps/bin/lalfr-print +0 -0
  154. lalapps/bin/lalfr-split +0 -0
  155. lalapps/bin/lalfr-stat +0 -0
  156. lalapps/bin/lalfr-stream +0 -0
  157. lalapps/bin/lalfr-vis +0 -0
  158. lalapps/bin/lalframe_version +0 -0
  159. lalapps/bin/lalinference_bench +0 -0
  160. lalapps/bin/lalinference_burst +0 -0
  161. lalapps/bin/lalinference_datadump +0 -0
  162. lalapps/bin/lalinference_injectedlike +0 -0
  163. lalapps/bin/lalinference_mpi_wrapper +59 -0
  164. lalapps/bin/lalinference_nest +0 -0
  165. lalapps/bin/lalinference_version +0 -0
  166. lalapps/bin/lalinspiral_version +0 -0
  167. lalapps/bin/lalmetaio_version +0 -0
  168. lalapps/bin/lalpulsar_ComputeAntennaPattern +0 -0
  169. lalapps/bin/lalpulsar_ComputeFstatBenchmark +0 -0
  170. lalapps/bin/lalpulsar_ComputeFstatLatticeCount +0 -0
  171. lalapps/bin/lalpulsar_ComputeFstatMCUpperLimit +0 -0
  172. lalapps/bin/lalpulsar_ComputeFstatistic_v2 +0 -0
  173. lalapps/bin/lalpulsar_ComputePSD +0 -0
  174. lalapps/bin/lalpulsar_DriveHoughMulti +0 -0
  175. lalapps/bin/lalpulsar_FstatMetric_v2 +0 -0
  176. lalapps/bin/lalpulsar_HierarchSearchGCT +0 -0
  177. lalapps/bin/lalpulsar_HierarchicalSearch +0 -0
  178. lalapps/bin/lalpulsar_MakeSFTs +0 -0
  179. lalapps/bin/lalpulsar_Makefakedata_v4 +0 -0
  180. lalapps/bin/lalpulsar_Makefakedata_v5 +0 -0
  181. lalapps/bin/lalpulsar_PredictFstat +0 -0
  182. lalapps/bin/lalpulsar_PrintDetectorState +0 -0
  183. lalapps/bin/lalpulsar_SFTclean +0 -0
  184. lalapps/bin/lalpulsar_SFTvalidate +0 -0
  185. lalapps/bin/lalpulsar_Weave +0 -0
  186. lalapps/bin/lalpulsar_WeaveCompare +0 -0
  187. lalapps/bin/lalpulsar_WeaveConcat +0 -0
  188. lalapps/bin/lalpulsar_WeaveSetup +0 -0
  189. lalapps/bin/lalpulsar_WriteSFTsfromSFDBs +0 -0
  190. lalapps/bin/lalpulsar_compareFstats +0 -0
  191. lalapps/bin/lalpulsar_compareSFTs +0 -0
  192. lalapps/bin/lalpulsar_create_time_correction_ephemeris +0 -0
  193. lalapps/bin/lalpulsar_crosscorr_v2 +0 -0
  194. lalapps/bin/lalpulsar_dumpSFT +0 -0
  195. lalapps/bin/lalpulsar_fits_header_getval +0 -0
  196. lalapps/bin/lalpulsar_fits_header_list +0 -0
  197. lalapps/bin/lalpulsar_fits_overview +0 -0
  198. lalapps/bin/lalpulsar_fits_table_list +0 -0
  199. lalapps/bin/lalpulsar_frequency_evolution +0 -0
  200. lalapps/bin/lalpulsar_heterodyne +0 -0
  201. lalapps/bin/lalpulsar_parameter_estimation_nested +0 -0
  202. lalapps/bin/lalpulsar_spec_avg +0 -0
  203. lalapps/bin/lalpulsar_spec_avg_long +0 -0
  204. lalapps/bin/lalpulsar_spec_coherence +0 -0
  205. lalapps/bin/lalpulsar_splitSFTs +0 -0
  206. lalapps/bin/lalpulsar_ssbtodetector +0 -0
  207. lalapps/bin/lalpulsar_synthesizeBstatMC +0 -0
  208. lalapps/bin/lalpulsar_synthesizeLVStats +0 -0
  209. lalapps/bin/lalpulsar_synthesizeTransientStats +0 -0
  210. lalapps/bin/lalpulsar_version +0 -0
  211. lalapps/bin/lalsim-bh-qnmode +0 -0
  212. lalapps/bin/lalsim-bh-ringdown +0 -0
  213. lalapps/bin/lalsim-bh-sphwf +0 -0
  214. lalapps/bin/lalsim-burst +0 -0
  215. lalapps/bin/lalsim-detector-noise +0 -0
  216. lalapps/bin/lalsim-detector-strain +0 -0
  217. lalapps/bin/lalsim-inject +0 -0
  218. lalapps/bin/lalsim-inspiral +0 -0
  219. lalapps/bin/lalsim-ns-eos-table +0 -0
  220. lalapps/bin/lalsim-ns-mass-radius +0 -0
  221. lalapps/bin/lalsim-ns-params +0 -0
  222. lalapps/bin/lalsim-sgwb +0 -0
  223. lalapps/bin/lalsim-unicorn +0 -0
  224. lalapps/bin/lalsimulation_version +0 -0
  225. lalapps/cosmicstring.py +691 -0
  226. lalapps/data/BNSMasses.dat +65022 -0
  227. lalapps/data/CorrelationMatrix.csv +15 -0
  228. lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF1_META.dat +1882 -0
  229. lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF2_META.dat +1939 -0
  230. lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF3_META.dat +1784 -0
  231. lalapps/data/LALSimNeutronStarEOS_ABHT_QMC_RMF4_META.dat +2074 -0
  232. lalapps/data/LALSimNeutronStarEOS_ALF1.dat +435 -0
  233. lalapps/data/LALSimNeutronStarEOS_ALF2.dat +453 -0
  234. lalapps/data/LALSimNeutronStarEOS_ALF3.dat +441 -0
  235. lalapps/data/LALSimNeutronStarEOS_ALF4.dat +441 -0
  236. lalapps/data/LALSimNeutronStarEOS_AP1.dat +212 -0
  237. lalapps/data/LALSimNeutronStarEOS_AP2.dat +212 -0
  238. lalapps/data/LALSimNeutronStarEOS_AP3.dat +212 -0
  239. lalapps/data/LALSimNeutronStarEOS_AP4.dat +210 -0
  240. lalapps/data/LALSimNeutronStarEOS_APR.dat +500 -0
  241. lalapps/data/LALSimNeutronStarEOS_APR4_EPP.dat +1447 -0
  242. lalapps/data/LALSimNeutronStarEOS_BBB2.dat +84 -0
  243. lalapps/data/LALSimNeutronStarEOS_BGN1H1.dat +123 -0
  244. lalapps/data/LALSimNeutronStarEOS_BHF_BBB2.dat +499 -0
  245. lalapps/data/LALSimNeutronStarEOS_BL_CHIRAL_META.dat +1534 -0
  246. lalapps/data/LALSimNeutronStarEOS_BPAL12.dat +61 -0
  247. lalapps/data/LALSimNeutronStarEOS_BSK19.dat +310 -0
  248. lalapps/data/LALSimNeutronStarEOS_BSK20.dat +310 -0
  249. lalapps/data/LALSimNeutronStarEOS_BSK21.dat +310 -0
  250. lalapps/data/LALSimNeutronStarEOS_ENG.dat +108 -0
  251. lalapps/data/LALSimNeutronStarEOS_FPS.dat +129 -0
  252. lalapps/data/LALSimNeutronStarEOS_GMSR_BSK14_BSK24.dat +1010 -0
  253. lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL59_BSK24.dat +1009 -0
  254. lalapps/data/LALSimNeutronStarEOS_GMSR_DHSL69_BSK24.dat +1009 -0
  255. lalapps/data/LALSimNeutronStarEOS_GMSR_F0_BSK24.dat +1010 -0
  256. lalapps/data/LALSimNeutronStarEOS_GMSR_H1_BSK24.dat +1009 -0
  257. lalapps/data/LALSimNeutronStarEOS_GMSR_H2_BSK24.dat +1010 -0
  258. lalapps/data/LALSimNeutronStarEOS_GMSR_H3_BSK24.dat +1010 -0
  259. lalapps/data/LALSimNeutronStarEOS_GMSR_H4_BSK24.dat +1010 -0
  260. lalapps/data/LALSimNeutronStarEOS_GMSR_H5_BSK24.dat +1009 -0
  261. lalapps/data/LALSimNeutronStarEOS_GMSR_LN55_BSK24.dat +1010 -0
  262. lalapps/data/LALSimNeutronStarEOS_GMSR_SLY5_BSK24.dat +1010 -0
  263. lalapps/data/LALSimNeutronStarEOS_GNH3.dat +71 -0
  264. lalapps/data/LALSimNeutronStarEOS_GPPVA_DD2_BSK24.dat +1009 -0
  265. lalapps/data/LALSimNeutronStarEOS_GPPVA_DDME2_BSK24.dat +1010 -0
  266. lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2H_BSK24.dat +1009 -0
  267. lalapps/data/LALSimNeutronStarEOS_GPPVA_FSU2_BSK24.dat +1010 -0
  268. lalapps/data/LALSimNeutronStarEOS_GPPVA_NL3WRL55_BSK24.dat +1010 -0
  269. lalapps/data/LALSimNeutronStarEOS_GS1.dat +136 -0
  270. lalapps/data/LALSimNeutronStarEOS_GS2.dat +100 -0
  271. lalapps/data/LALSimNeutronStarEOS_H1.dat +114 -0
  272. lalapps/data/LALSimNeutronStarEOS_H2.dat +114 -0
  273. lalapps/data/LALSimNeutronStarEOS_H3.dat +98 -0
  274. lalapps/data/LALSimNeutronStarEOS_H4.dat +664 -0
  275. lalapps/data/LALSimNeutronStarEOS_H5.dat +703 -0
  276. lalapps/data/LALSimNeutronStarEOS_H6.dat +509 -0
  277. lalapps/data/LALSimNeutronStarEOS_H7.dat +703 -0
  278. lalapps/data/LALSimNeutronStarEOS_HQC18.dat +388 -0
  279. lalapps/data/LALSimNeutronStarEOS_KDE0V.dat +500 -0
  280. lalapps/data/LALSimNeutronStarEOS_KDE0V1.dat +500 -0
  281. lalapps/data/LALSimNeutronStarEOS_KDE0V1_BSK24.dat +1388 -0
  282. lalapps/data/LALSimNeutronStarEOS_KDE0V_BSK24.dat +1398 -0
  283. lalapps/data/LALSimNeutronStarEOS_MPA1.dat +102 -0
  284. lalapps/data/LALSimNeutronStarEOS_MS1.dat +122 -0
  285. lalapps/data/LALSimNeutronStarEOS_MS1B.dat +126 -0
  286. lalapps/data/LALSimNeutronStarEOS_MS1B_PP.dat +1447 -0
  287. lalapps/data/LALSimNeutronStarEOS_MS1_PP.dat +1447 -0
  288. lalapps/data/LALSimNeutronStarEOS_MS2.dat +48 -0
  289. lalapps/data/LALSimNeutronStarEOS_PAL6.dat +148 -0
  290. lalapps/data/LALSimNeutronStarEOS_PCL2.dat +134 -0
  291. lalapps/data/LALSimNeutronStarEOS_PCP_BSK24_BSK24.dat +1010 -0
  292. lalapps/data/LALSimNeutronStarEOS_PS.dat +165 -0
  293. lalapps/data/LALSimNeutronStarEOS_QMC700.dat +117 -0
  294. lalapps/data/LALSimNeutronStarEOS_RG_SLY4_BSK24.dat +1010 -0
  295. lalapps/data/LALSimNeutronStarEOS_RS.dat +500 -0
  296. lalapps/data/LALSimNeutronStarEOS_RS_BSK24.dat +1356 -0
  297. lalapps/data/LALSimNeutronStarEOS_SK255.dat +500 -0
  298. lalapps/data/LALSimNeutronStarEOS_SK255_BSK24.dat +1066 -0
  299. lalapps/data/LALSimNeutronStarEOS_SK272.dat +500 -0
  300. lalapps/data/LALSimNeutronStarEOS_SKA.dat +500 -0
  301. lalapps/data/LALSimNeutronStarEOS_SKA_BSK24.dat +1433 -0
  302. lalapps/data/LALSimNeutronStarEOS_SKB.dat +500 -0
  303. lalapps/data/LALSimNeutronStarEOS_SKB_BSK24.dat +1373 -0
  304. lalapps/data/LALSimNeutronStarEOS_SKI2.dat +500 -0
  305. lalapps/data/LALSimNeutronStarEOS_SKI2_BSK24.dat +1348 -0
  306. lalapps/data/LALSimNeutronStarEOS_SKI3.dat +500 -0
  307. lalapps/data/LALSimNeutronStarEOS_SKI3_BSK24.dat +1355 -0
  308. lalapps/data/LALSimNeutronStarEOS_SKI4.dat +497 -0
  309. lalapps/data/LALSimNeutronStarEOS_SKI4_BSK24.dat +1348 -0
  310. lalapps/data/LALSimNeutronStarEOS_SKI5.dat +500 -0
  311. lalapps/data/LALSimNeutronStarEOS_SKI6.dat +500 -0
  312. lalapps/data/LALSimNeutronStarEOS_SKI6_BSK24.dat +1358 -0
  313. lalapps/data/LALSimNeutronStarEOS_SKMP.dat +498 -0
  314. lalapps/data/LALSimNeutronStarEOS_SKOP.dat +500 -0
  315. lalapps/data/LALSimNeutronStarEOS_SKOP_BSK24.dat +1373 -0
  316. lalapps/data/LALSimNeutronStarEOS_SLY.dat +99 -0
  317. lalapps/data/LALSimNeutronStarEOS_SLY2.dat +500 -0
  318. lalapps/data/LALSimNeutronStarEOS_SLY230A.dat +500 -0
  319. lalapps/data/LALSimNeutronStarEOS_SLY230A_BSK24.dat +1116 -0
  320. lalapps/data/LALSimNeutronStarEOS_SLY2_BSK24.dat +1106 -0
  321. lalapps/data/LALSimNeutronStarEOS_SLY4.dat +100 -0
  322. lalapps/data/LALSimNeutronStarEOS_SLY9.dat +498 -0
  323. lalapps/data/LALSimNeutronStarEOS_SLY9_BSK24.dat +1083 -0
  324. lalapps/data/LALSimNeutronStarEOS_SQM1.dat +176 -0
  325. lalapps/data/LALSimNeutronStarEOS_SQM2.dat +180 -0
  326. lalapps/data/LALSimNeutronStarEOS_SQM3.dat +176 -0
  327. lalapps/data/LALSimNeutronStarEOS_WFF1.dat +109 -0
  328. lalapps/data/LALSimNeutronStarEOS_WFF2.dat +109 -0
  329. lalapps/data/LALSimNeutronStarEOS_WFF3.dat +107 -0
  330. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDLZ1_BSK24.dat +1227 -0
  331. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDME2_BSK24.dat +1272 -0
  332. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_DDMEX_BSK24.dat +1280 -0
  333. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_GM1_BSK24.dat +1288 -0
  334. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_MTVTC_BSK24.dat +1288 -0
  335. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_NL3_BSK24.dat +1230 -0
  336. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_PKDD_BSK24.dat +1288 -0
  337. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TM1_BSK24.dat +1288 -0
  338. lalapps/data/LALSimNeutronStarEOS_XMLSLZ_TW99_BSK24.dat +1288 -0
  339. lalapps/data/LIGO-P1200087-v18-AdV_BNS_OPTIMIZED.txt +3000 -0
  340. lalapps/data/LIGO-P1200087-v18-AdV_DESIGN.txt +3000 -0
  341. lalapps/data/LIGO-P1200087-v18-AdV_EARLY_HIGH.txt +3000 -0
  342. lalapps/data/LIGO-P1200087-v18-AdV_EARLY_LOW.txt +3000 -0
  343. lalapps/data/LIGO-P1200087-v18-AdV_LATE_HIGH.txt +3000 -0
  344. lalapps/data/LIGO-P1200087-v18-AdV_LATE_LOW.txt +3000 -0
  345. lalapps/data/LIGO-P1200087-v18-AdV_MID_HIGH.txt +3000 -0
  346. lalapps/data/LIGO-P1200087-v18-AdV_MID_LOW.txt +3000 -0
  347. lalapps/data/LIGO-P1200087-v18-aLIGO_BNS_OPTIMIZED.txt +3000 -0
  348. lalapps/data/LIGO-P1200087-v18-aLIGO_DESIGN.txt +3000 -0
  349. lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_HIGH.txt +3000 -0
  350. lalapps/data/LIGO-P1200087-v18-aLIGO_EARLY_LOW.txt +3000 -0
  351. lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_HIGH.txt +3000 -0
  352. lalapps/data/LIGO-P1200087-v18-aLIGO_LATE_LOW.txt +3000 -0
  353. lalapps/data/LIGO-P1200087-v18-aLIGO_MID_HIGH.txt +3000 -0
  354. lalapps/data/LIGO-P1200087-v18-aLIGO_MID_LOW.txt +3000 -0
  355. lalapps/data/LIGO-P1600143-v18-CE.txt +3000 -0
  356. lalapps/data/LIGO-P1600143-v18-CE_Pessimistic.txt +3000 -0
  357. lalapps/data/LIGO-P1600143-v18-CE_Wideband.txt +3000 -0
  358. lalapps/data/LIGO-P1600143-v18-ET_D.txt +3000 -0
  359. lalapps/data/LIGO-T0900288-v3-BHBH_20deg.txt +3000 -0
  360. lalapps/data/LIGO-T0900288-v3-High_Freq.txt +3000 -0
  361. lalapps/data/LIGO-T0900288-v3-NO_SRM.txt +3000 -0
  362. lalapps/data/LIGO-T0900288-v3-NSNS_Opt.txt +3000 -0
  363. lalapps/data/LIGO-T0900288-v3-ZERO_DET_high_P.txt +3000 -0
  364. lalapps/data/LIGO-T0900288-v3-ZERO_DET_low_P.txt +3000 -0
  365. lalapps/data/LIGO-T1600593-v1-KAGRA_Design.txt +4000 -0
  366. lalapps/data/LIGO-T1600593-v1-KAGRA_Early.txt +4000 -0
  367. lalapps/data/LIGO-T1600593-v1-KAGRA_Late.txt +4000 -0
  368. lalapps/data/LIGO-T1600593-v1-KAGRA_Mid.txt +4000 -0
  369. lalapps/data/LIGO-T1600593-v1-KAGRA_Opening.txt +4000 -0
  370. lalapps/data/LIGO-T1800042-v5-aLIGO_APLUS.txt +3000 -0
  371. lalapps/data/LIGO-T1800044-v5-aLIGO_DESIGN.txt +3000 -0
  372. lalapps/data/LIGO-T1800545-v1-AdV_O3low.txt +3000 -0
  373. lalapps/data/LIGO-T1800545-v1-AdV_O4.txt +3000 -0
  374. lalapps/data/LIGO-T1800545-v1-AdV_O4intermediate.txt +3000 -0
  375. lalapps/data/LIGO-T1800545-v1-KAGRA_128Mpc.txt +1000 -0
  376. lalapps/data/LIGO-T1800545-v1-KAGRA_25Mpc.txt +1000 -0
  377. lalapps/data/LIGO-T1800545-v1-KAGRA_80Mpc.txt +1000 -0
  378. lalapps/data/LIGO-T1800545-v1-aLIGO_140Mpc.txt +1000 -0
  379. lalapps/data/LIGO-T1800545-v1-aLIGO_175Mpc.txt +2792 -0
  380. lalapps/data/LIGO-T1800545-v1-aLIGO_O3low.txt +2792 -0
  381. lalapps/data/bimodalMeans.csv +3 -0
  382. lalapps/data/config_tiger_example.ini +150 -0
  383. lalapps/data/fiducialBBH.xml +67 -0
  384. lalapps/data/fiducialBNS.xml +67 -0
  385. lalapps/data/inspsrcs100Mpc.errors +38735 -0
  386. lalapps/data/lalinference_pipe_example.ini +573 -0
  387. lalapps/data/lib_pipe_example.ini +303 -0
  388. lalapps/data/power_pipe.ini +129 -0
  389. lalapps/data/unimodalMeans.csv +2 -0
  390. lalapps/git_version.py +64 -0
  391. lalburst/SimBurstUtils.py +324 -0
  392. lalburst/SnglBurstUtils.py +367 -0
  393. lalburst/__init__.py +7 -0
  394. lalburst/_lalburst.cpython-314-darwin.so +0 -0
  395. lalburst/_lalburst_swig.py +16 -0
  396. lalburst/binjfind.py +824 -0
  397. lalburst/bucluster.py +409 -0
  398. lalburst/burca.py +315 -0
  399. lalburst/burca_tailor.py +349 -0
  400. lalburst/cafe.py +579 -0
  401. lalburst/calc_likelihood.py +145 -0
  402. lalburst/cs_gamma.cpython-314-darwin.so +0 -0
  403. lalburst/date.py +118 -0
  404. lalburst/git_version.py +64 -0
  405. lalburst/offsetvector.py +278 -0
  406. lalburst/packing.py +170 -0
  407. lalburst/power.py +1457 -0
  408. lalburst/snglcluster.py +136 -0
  409. lalburst/snglcoinc.py +2637 -0
  410. lalburst/stringutils.py +607 -0
  411. lalburst/timeslides.py +236 -0
  412. lalframe/__init__.py +7 -0
  413. lalframe/_lalframe.cpython-314-darwin.so +0 -0
  414. lalframe/_lalframe_swig.py +14 -0
  415. lalframe/frread.py +324 -0
  416. lalframe/git_version.py +64 -0
  417. lalframe/utils/__init__.py +25 -0
  418. lalframe/utils/frtools.py +61 -0
  419. lalinference/__init__.py +7 -0
  420. lalinference/_bayespputils.cpython-314-darwin.so +0 -0
  421. lalinference/_lalinference.cpython-314-darwin.so +0 -0
  422. lalinference/_lalinference_swig.py +19 -0
  423. lalinference/bayespputils.py +7479 -0
  424. lalinference/bayestar/__init__.py +2 -0
  425. lalinference/bayestar/deprecation.py +72 -0
  426. lalinference/git_version.py +64 -0
  427. lalinference/imrtgr/__init__.py +0 -0
  428. lalinference/imrtgr/imrtgrutils.py +168 -0
  429. lalinference/imrtgr/nrutils.py +1366 -0
  430. lalinference/imrtgr/pneqns.py +250 -0
  431. lalinference/io/__init__.py +31 -0
  432. lalinference/io/hdf5.py +365 -0
  433. lalinference/lalinference_pipe_utils.py +3617 -0
  434. lalinference/nest2pos.py +151 -0
  435. lalinference/plot/__init__.py +34 -0
  436. lalinference/plot/spindisk.py +104 -0
  437. lalinference/tiger/__init__.py +0 -0
  438. lalinference/tiger/make_injtimes.py +634 -0
  439. lalinference/tiger/omegascans_dag.py +691 -0
  440. lalinference/tiger/postproc.py +1338 -0
  441. lalinference/wrapper.py +231 -0
  442. lalinspiral/__init__.py +7 -0
  443. lalinspiral/_lalinspiral.cpython-314-darwin.so +0 -0
  444. lalinspiral/_lalinspiral_swig.py +18 -0
  445. lalinspiral/_thinca.cpython-314-darwin.so +0 -0
  446. lalinspiral/git_version.py +64 -0
  447. lalinspiral/inspinjfind.py +485 -0
  448. lalinspiral/thinca.py +509 -0
  449. lalmetaio/__init__.py +7 -0
  450. lalmetaio/_lalmetaio.cpython-314-darwin.so +0 -0
  451. lalmetaio/_lalmetaio_swig.py +14 -0
  452. lalmetaio/git_version.py +64 -0
  453. lalpulsar/NstarTools.py +259 -0
  454. lalpulsar/PulsarParametersWrapper.py +938 -0
  455. lalpulsar/__init__.py +7 -0
  456. lalpulsar/_lalpulsar.cpython-314-darwin.so +0 -0
  457. lalpulsar/_lalpulsar_swig.py +17 -0
  458. lalpulsar/git_version.py +64 -0
  459. lalpulsar/knope_utils.py +6497 -0
  460. lalpulsar/lineFileParser.py +264 -0
  461. lalpulsar/metric_utils.py +78 -0
  462. lalpulsar/piecewise_model/__init__.py +7 -0
  463. lalpulsar/piecewise_model/basis_functions.py +156 -0
  464. lalpulsar/piecewise_model/class_definitions.py +323 -0
  465. lalpulsar/piecewise_model/errors.py +37 -0
  466. lalpulsar/piecewise_model/estimating_knots.py +833 -0
  467. lalpulsar/piecewise_model/gte_and_other_methods.py +189 -0
  468. lalpulsar/piecewise_model/mols_for_gte.py +269 -0
  469. lalpulsar/piecewise_model/pw_fstat.py +813 -0
  470. lalpulsar/piecewise_model/pw_model_simulations.py +156 -0
  471. lalpulsar/piecewise_model/sampling_methods.py +186 -0
  472. lalpulsar/piecewise_model/semicoherent_metric_methods.py +375 -0
  473. lalpulsar/piecewise_model/tbank_estimates.py +293 -0
  474. lalpulsar/public_sft_directory.py +82 -0
  475. lalpulsar/pulsarhtmlutils.py +1395 -0
  476. lalpulsar/pulsarpputils.py +3638 -0
  477. lalpulsar/simulateCW.py +602 -0
  478. lalpulsar/simulateHeterodynedCW.py +591 -0
  479. lalsimulation/__init__.py +7 -0
  480. lalsimulation/_lalsimulation.cpython-314-darwin.so +0 -0
  481. lalsimulation/_lalsimulation_swig.py +14 -0
  482. lalsimulation/git_version.py +64 -0
  483. lalsimulation/gwsignal/__init__.py +9 -0
  484. lalsimulation/gwsignal/core/__init__.py +2 -0
  485. lalsimulation/gwsignal/core/conditioning_subroutines.py +196 -0
  486. lalsimulation/gwsignal/core/errors.py +136 -0
  487. lalsimulation/gwsignal/core/gw.py +206 -0
  488. lalsimulation/gwsignal/core/parameter_conventions.py +122 -0
  489. lalsimulation/gwsignal/core/utils.py +329 -0
  490. lalsimulation/gwsignal/core/waveform.py +725 -0
  491. lalsimulation/gwsignal/core/waveform_conditioning.py +455 -0
  492. lalsimulation/gwsignal/models/__init__.py +29 -0
  493. lalsimulation/gwsignal/models/pyseobnr_model.py +452 -0
  494. lalsimulation/nrfits/NRSur3dq8Remnant.py +92 -0
  495. lalsimulation/nrfits/NRSur7dq4Remnant.py +469 -0
  496. lalsimulation/nrfits/__init__.py +1 -0
  497. lalsimulation/nrfits/eval_fits.py +364 -0
  498. lalsimulation/nrfits/nrfits.py +78 -0
  499. lalsimulation/nrfits/pn_spin_evolution_wrapper.py +92 -0
  500. lalsimulation/nrfits/quaternion_utils.py +74 -0
  501. lalsimulation/tilts_at_infinity/__init__.py +2 -0
  502. lalsimulation/tilts_at_infinity/calc_tilts_prec_avg_regularized.py +1424 -0
  503. lalsimulation/tilts_at_infinity/hybrid_spin_evolution.py +461 -0
  504. lalsimulation/tilts_at_infinity/tilts_at_infinity_utils.py +167 -0
  505. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesBurstPPAnalysis +305 -0
  506. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesBurstPostProc +1364 -0
  507. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesCombinePTMCMCh5s +100 -0
  508. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesCombinePosteriors +235 -0
  509. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesCompPos +1121 -0
  510. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesDIEvidence +68 -0
  511. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesGraceDBinfo +182 -0
  512. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesMCMC2pos +314 -0
  513. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPPAnalysis +322 -0
  514. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPlotSpinDisk +42 -0
  515. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPosToSimBurst +227 -0
  516. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPosToSimInspiral +307 -0
  517. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesPostProc +1345 -0
  518. lalsuite-7.26.2.dev20260106.data/scripts/cbcBayesThermoInt +107 -0
  519. lalsuite-7.26.2.dev20260106.data/scripts/imrtgr_imr_consistency_test +796 -0
  520. lalsuite-7.26.2.dev20260106.data/scripts/lal_cache +6 -0
  521. lalsuite-7.26.2.dev20260106.data/scripts/lal_fftw_wisdom +6 -0
  522. lalsuite-7.26.2.dev20260106.data/scripts/lal_fftwf_wisdom +6 -0
  523. lalsuite-7.26.2.dev20260106.data/scripts/lal_path2cache +148 -0
  524. lalsuite-7.26.2.dev20260106.data/scripts/lal_searchsum2cache +172 -0
  525. lalsuite-7.26.2.dev20260106.data/scripts/lal_simd_detect +6 -0
  526. lalsuite-7.26.2.dev20260106.data/scripts/lal_tconvert +6 -0
  527. lalsuite-7.26.2.dev20260106.data/scripts/lal_version +6 -0
  528. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeAntennaPattern +6 -0
  529. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeFstatBenchmark +6 -0
  530. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeFstatLatticeCount +6 -0
  531. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeFstatMCUpperLimit +6 -0
  532. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputeFstatistic_v2 +6 -0
  533. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ComputePSD +6 -0
  534. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_CopySFTs +6 -0
  535. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_DistanceVsMass +6 -0
  536. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_DriveHoughMulti +6 -0
  537. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_FstatMetric_v2 +6 -0
  538. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_HierarchSearchGCT +6 -0
  539. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_HierarchicalSearch +6 -0
  540. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_MakeSFTDAG +6 -0
  541. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_MakeSFTs +6 -0
  542. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_Makefakedata_v4 +6 -0
  543. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_Makefakedata_v5 +6 -0
  544. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_PredictFstat +6 -0
  545. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_PrintDetectorState +6 -0
  546. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_SFTclean +6 -0
  547. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_SFTvalidate +6 -0
  548. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_StringAddFrame +6 -0
  549. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_StringSearch +6 -0
  550. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_Weave +6 -0
  551. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_WeaveCompare +6 -0
  552. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_WeaveConcat +6 -0
  553. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_WeaveSetup +6 -0
  554. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_WriteSFTsfromSFDBs +6 -0
  555. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_animate +6 -0
  556. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_binj +6 -0
  557. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_blindinj +6 -0
  558. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_cache +6 -0
  559. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_cafe +99 -0
  560. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_calfacs +6 -0
  561. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_cbc_stochasticbank +6 -0
  562. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_chirplen +6 -0
  563. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_coh_PTF_inspiral +6 -0
  564. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_coinj +6 -0
  565. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_combine_crosscorr_toplists +6 -0
  566. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_compareFstats +6 -0
  567. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_compareSFTs +6 -0
  568. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_cosmicstring_pipe +525 -0
  569. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_create_time_correction_ephemeris +6 -0
  570. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_dumpSFT +6 -0
  571. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_effdist +6 -0
  572. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_exc_resp +6 -0
  573. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fftw_wisdom +6 -0
  574. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fftwf_wisdom +6 -0
  575. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fits_header_getval +6 -0
  576. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fits_header_list +6 -0
  577. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fits_overview +6 -0
  578. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fits_table_list +6 -0
  579. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_fr_ninja +6 -0
  580. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frextr +6 -0
  581. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frinfo +6 -0
  582. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frjoin +6 -0
  583. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frread +6 -0
  584. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_frview +6 -0
  585. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_gwf2xml +6 -0
  586. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_heterodyne_pulsar +6 -0
  587. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_inspawgfile +6 -0
  588. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_inspfrinj +6 -0
  589. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_inspinj +6 -0
  590. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_inspiralDistance +6 -0
  591. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_knope +6 -0
  592. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_knope_automation_script +6 -0
  593. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_knope_collate_results +6 -0
  594. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_knope_result_page +6 -0
  595. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_makeblindinj +6 -0
  596. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_makeblindinj_himass +6 -0
  597. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ninja +6 -0
  598. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_path2cache +6 -0
  599. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_power +6 -0
  600. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_power_likelihood_pipe +219 -0
  601. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_power_pipe +417 -0
  602. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_pulsar_crosscorr_v2 +6 -0
  603. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_pulsar_frequency_evolution +6 -0
  604. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_pulsar_parameter_estimation_nested +6 -0
  605. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_random_bank +6 -0
  606. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_randombank +6 -0
  607. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_run_pulsar_crosscorr_v2 +6 -0
  608. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_searchsum2cache +6 -0
  609. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_spec_avg +6 -0
  610. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_spec_avg_long +6 -0
  611. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_spec_coherence +6 -0
  612. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_spininj +6 -0
  613. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_splitSFTs +6 -0
  614. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_splitbank +6 -0
  615. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_ssbtodetector +6 -0
  616. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_apply_vetoes +171 -0
  617. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_calc_likelihood +172 -0
  618. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_contour_plotter +141 -0
  619. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_contour_plotter_largeloops +133 -0
  620. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_cs_gamma +110 -0
  621. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_cs_gamma_largeloops +119 -0
  622. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_final +1064 -0
  623. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_meas_likelihood +264 -0
  624. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_plot_binj +543 -0
  625. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_string_plot_likelihood +380 -0
  626. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_synthesizeBstatMC +6 -0
  627. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_synthesizeLVStats +6 -0
  628. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_synthesizeTransientStats +6 -0
  629. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_tconvert +6 -0
  630. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_tmpltbank +6 -0
  631. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_version +6 -0
  632. lalsuite-7.26.2.dev20260106.data/scripts/lalapps_xtefitstoframe +6 -0
  633. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_cluster +156 -0
  634. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_coinc +224 -0
  635. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_cut +425 -0
  636. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_gen_timeslides +254 -0
  637. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_inj_pic +254 -0
  638. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_injfind +170 -0
  639. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_plot_tisi +165 -0
  640. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_calc_likelihood +182 -0
  641. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_final +1369 -0
  642. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_meas_likelihood +206 -0
  643. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_plot_binj +934 -0
  644. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_power_plot_binjtf +302 -0
  645. lalsuite-7.26.2.dev20260106.data/scripts/lalburst_version +6 -0
  646. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-cat +6 -0
  647. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-cksum +6 -0
  648. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-cut +6 -0
  649. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-dump +6 -0
  650. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-fmt +6 -0
  651. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-paste +6 -0
  652. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-print +6 -0
  653. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-split +6 -0
  654. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-stat +6 -0
  655. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-stream +6 -0
  656. lalsuite-7.26.2.dev20260106.data/scripts/lalfr-vis +6 -0
  657. lalsuite-7.26.2.dev20260106.data/scripts/lalframe_version +6 -0
  658. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_bench +6 -0
  659. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_burst +6 -0
  660. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_burst_pp_pipe +220 -0
  661. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_coherence_test +139 -0
  662. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_compute_roq_weights +404 -0
  663. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_cpnest +58 -0
  664. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_datadump +6 -0
  665. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_evolve_spins_and_append_samples +202 -0
  666. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_injectedlike +6 -0
  667. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_merge_posteriors +57 -0
  668. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_mpi_wrapper +6 -0
  669. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_multi_pipe +144 -0
  670. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_nest +6 -0
  671. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_nest2pos +286 -0
  672. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_pipe +512 -0
  673. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_pp_pipe +229 -0
  674. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_review_test +362 -0
  675. lalsuite-7.26.2.dev20260106.data/scripts/lalinference_version +6 -0
  676. lalsuite-7.26.2.dev20260106.data/scripts/lalinspiral_injfind +206 -0
  677. lalsuite-7.26.2.dev20260106.data/scripts/lalinspiral_thinca +240 -0
  678. lalsuite-7.26.2.dev20260106.data/scripts/lalinspiral_version +6 -0
  679. lalsuite-7.26.2.dev20260106.data/scripts/lalmetaio_version +6 -0
  680. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeAntennaPattern +6 -0
  681. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeFstatBenchmark +6 -0
  682. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeFstatLatticeCount +6 -0
  683. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeFstatMCUpperLimit +6 -0
  684. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputeFstatistic_v2 +6 -0
  685. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ComputePSD +6 -0
  686. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_CopyPublicSFTs +216 -0
  687. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_DriveHoughMulti +6 -0
  688. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_FstatMetric_v2 +6 -0
  689. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_HierarchSearchGCT +6 -0
  690. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_HierarchicalSearch +6 -0
  691. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_MakeSFTDAG +1142 -0
  692. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_MakeSFTs +6 -0
  693. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_Makefakedata_v4 +6 -0
  694. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_Makefakedata_v5 +6 -0
  695. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_MoveSFTs +208 -0
  696. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_PiecewiseSearch +963 -0
  697. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_PredictFstat +6 -0
  698. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_PrintDetectorState +6 -0
  699. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_SFTclean +6 -0
  700. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_SFTvalidate +6 -0
  701. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_Weave +6 -0
  702. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_WeaveCompare +6 -0
  703. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_WeaveConcat +6 -0
  704. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_WeaveSetup +6 -0
  705. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_WriteSFTsfromSFDBs +6 -0
  706. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_compareFstats +6 -0
  707. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_compareSFTs +6 -0
  708. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_create_time_correction_ephemeris +6 -0
  709. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_crosscorr_v2 +6 -0
  710. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_dumpSFT +6 -0
  711. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_fits_header_getval +6 -0
  712. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_fits_header_list +6 -0
  713. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_fits_overview +6 -0
  714. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_fits_table_list +6 -0
  715. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_frequency_evolution +6 -0
  716. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_heterodyne +6 -0
  717. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_knope +145 -0
  718. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_knope_automation_script +731 -0
  719. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_knope_collate_results +675 -0
  720. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_knope_result_page +2977 -0
  721. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_parameter_estimation_nested +6 -0
  722. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_spec_avg +6 -0
  723. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_spec_avg_long +6 -0
  724. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_spec_coherence +6 -0
  725. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_splitSFTs +6 -0
  726. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_ssbtodetector +6 -0
  727. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_synthesizeBstatMC +6 -0
  728. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_synthesizeLVStats +6 -0
  729. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_synthesizeTransientStats +6 -0
  730. lalsuite-7.26.2.dev20260106.data/scripts/lalpulsar_version +6 -0
  731. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-bh-qnmode +6 -0
  732. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-bh-ringdown +6 -0
  733. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-bh-sphwf +6 -0
  734. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-burst +6 -0
  735. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-detector-noise +6 -0
  736. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-detector-strain +6 -0
  737. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-inject +6 -0
  738. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-inspiral +6 -0
  739. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-ns-eos-table +6 -0
  740. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-ns-mass-radius +6 -0
  741. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-ns-params +6 -0
  742. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-sgwb +6 -0
  743. lalsuite-7.26.2.dev20260106.data/scripts/lalsim-unicorn +6 -0
  744. lalsuite-7.26.2.dev20260106.data/scripts/lalsimulation_version +6 -0
  745. lalsuite-7.26.2.dev20260106.dist-info/METADATA +90 -0
  746. lalsuite-7.26.2.dev20260106.dist-info/RECORD +749 -0
  747. lalsuite-7.26.2.dev20260106.dist-info/WHEEL +6 -0
  748. lalsuite-7.26.2.dev20260106.dist-info/licenses/COPYING +339 -0
  749. lalsuite-7.26.2.dev20260106.dist-info/top_level.txt +9 -0
lalburst/binjfind.py ADDED
@@ -0,0 +1,824 @@
1
+ # Copyright (C) 2006-2021 Kipp Cannon
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify it
4
+ # under the terms of the GNU General Public License as published by the
5
+ # Free Software Foundation; either version 2 of the License, or (at your
6
+ # option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful, but
9
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11
+ # Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16
+
17
+
18
+ #
19
+ # =============================================================================
20
+ #
21
+ # Preamble
22
+ #
23
+ # =============================================================================
24
+ #
25
+
26
+
27
+ """
28
+ Burst injection identification library. Contains code providing the
29
+ capacity to search a list of sngl_burst burst candidates for events
30
+ matching entries in a sim_burst list of software injections, recording the
31
+ matches as burst <--> injection coincidences using the standard coincidence
32
+ infrastructure. Also, any pre-recorded burst <--> burst coincidences are
33
+ checked for cases where all the burst events in a coincidence match an
34
+ injection, and these are recorded as coinc <--> injection coincidences,
35
+ again using the standard coincidence infrastructure.
36
+ """
37
+
38
+
39
+ import bisect
40
+ import sys
41
+
42
+
43
+ from igwn_ligolw import lsctables
44
+ from igwn_ligolw.utils import coincs as ligolw_coincs
45
+ from igwn_ligolw.utils import process as ligolw_process
46
+ from igwn_ligolw.utils import search_summary as ligolw_search_summary
47
+ from igwn_ligolw.utils import time_slide as ligolw_time_slide
48
+ import lal
49
+ import igwn_segments as segments
50
+ from . import burca
51
+ from . import SimBurstUtils
52
+
53
+
54
+ __author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
55
+ from .git_version import date as __date__
56
+ from .git_version import version as __version__
57
+
58
+
59
+ #
60
+ # =============================================================================
61
+ #
62
+ # Speed Hacks
63
+ #
64
+ # =============================================================================
65
+ #
66
+
67
+
68
+ #
69
+ # Construct a subclass of the sngl_burst row class with the methods that
70
+ # are needed
71
+ #
72
+
73
+
74
+ class SnglBurst(lsctables.SnglBurst):
75
+ __slots__ = ()
76
+
77
+ #
78
+ # compare self's end time to the LIGOTimeGPS instance other.
79
+ # allows bisection searches by GPS time to find ranges of triggers
80
+ # quickly
81
+ #
82
+
83
+ def __lt__(self, other):
84
+ return self.end < other
85
+
86
+ def __le__(self, other):
87
+ return self.end <= other
88
+
89
+ def __eq__(self, other):
90
+ return self.end == other
91
+
92
+ def __ne__(self, other):
93
+ return self.end != other
94
+
95
+ def __ge__(self, other):
96
+ return self.end >= other
97
+
98
+ def __gt__(self, other):
99
+ return self.end > other
100
+
101
+
102
+ lsctables.SnglBurstTable.RowType = lsctables.SnglBurst = SnglBurst
103
+
104
+
105
+ #
106
+ # place-holder class for sim_inspiral table's row class so that
107
+ # time_slide_id attributes can be assigned to it (this would normally be
108
+ # prevented by the __slots__ mechanism). FIXME: delete when the
109
+ # sim_inspiral table has a time_slide_id column
110
+ #
111
+
112
+
113
+ class SimInspiral(lsctables.SimInspiral):
114
+ pass
115
+
116
+
117
+ lsctables.SimInspiralTable.RowType = lsctables.SimInspiral = SimInspiral
118
+
119
+
120
+ #
121
+ # =============================================================================
122
+ #
123
+ # Document Interface
124
+ #
125
+ # =============================================================================
126
+ #
127
+
128
+
129
+ ExcessPowerSBBCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 1, description = "sim_burst<-->sngl_burst coincidences")
130
+ ExcessPowerSIBCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 4, description = "sim_inspiral<-->sngl_burst coincidences")
131
+ ExcessPowerSBCCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 2, description = "sim_burst<-->coinc_event coincidences (exact)")
132
+ ExcessPowerSBCNearCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 3, description = "sim_burst<-->coinc_event coincidences (nearby)")
133
+ ExcessPowerSICCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 5, description = "sim_inspiral<-->coinc_event coincidences (exact)")
134
+ ExcessPowerSICNearCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 6, description = "sim_inspiral<-->coinc_event coincidences (nearby)")
135
+
136
+
137
+ StringCuspSBBCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 1, description = "sim_burst<-->sngl_burst coincidences")
138
+ StringCuspSIBCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 4, description = "sim_inspiral<-->sngl_burst coincidences")
139
+ StringCuspSBCCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 2, description = "sim_burst<-->coinc_event coincidences (exact)")
140
+ StringCuspSBCNearCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 3, description = "sim_burst<-->coinc_event coincidences (nearby)")
141
+ StringCuspSICCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 5, description = "sim_inspiral<-->coinc_event coincidences (exact)")
142
+ StringCuspSICNearCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 6, description = "sim_inspiral<-->coinc_event coincidences (nearby)")
143
+
144
+
145
+ OmegaBBCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 0, description = "sngl_burst<-->sngl_burst coincidences")
146
+ OmegaSBBCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 1, description = "sim_burst<-->sngl_burst coincidences")
147
+ OmegaSIBCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 4, description = "sim_inspiral<-->sngl_burst coincidences")
148
+ OmegaSBCCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 2, description = "sim_burst<-->coinc_event coincidences (exact)")
149
+ OmegaSBCNearCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 3, description = "sim_burst<-->coinc_event coincidences (nearby)")
150
+ OmegaSICCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 5, description = "sim_inspiral<-->coinc_event coincidences (exact)")
151
+ OmegaSICNearCoincDef = lsctables.CoincDef(search = "omega", search_coinc_type = 6, description = "sim_inspiral<-->coinc_event coincidences (nearby)")
152
+
153
+ CWBBBCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 0, description = "sngl_burst<-->sngl_burst coincidences")
154
+ CWBSBBCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 1, description = "sim_burst<-->sngl_burst coincidences")
155
+ CWBSIBCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 4, description = "sim_inspiral<-->sngl_burst coincidences")
156
+ CWBSBCCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 2, description = "sim_burst<-->coinc_event coincidences (exact)")
157
+ CWBSBCNearCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 3, description = "sim_burst<-->coinc_event coincidences (nearby)")
158
+ CWBSICCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 5, description = "sim_inspiral<-->coinc_event coincidences (exact)")
159
+ CWBSICNearCoincDef = lsctables.CoincDef(search = "waveburst", search_coinc_type = 6, description = "sim_inspiral<-->coinc_event coincidences (nearby)")
160
+
161
+
162
+ class DocContents(object):
163
+ """
164
+ A wrapper interface to the XML document.
165
+ """
166
+ def __init__(self, xmldoc, b_b_def, sb_b_def, si_b_def, sb_c_e_def, sb_c_n_def, si_c_e_def, si_c_n_def, process, livetime_program):
167
+ #
168
+ # store the process row
169
+ #
170
+
171
+ self.process = process
172
+
173
+ #
174
+ # locate the sngl_burst, time_slide and injection tables
175
+ #
176
+
177
+ self.snglbursttable = lsctables.SnglBurstTable.get_table(xmldoc)
178
+ try:
179
+ self.simbursttable = lsctables.SimBurstTable.get_table(xmldoc)
180
+ except ValueError:
181
+ self.simbursttable = None
182
+ try:
183
+ self.siminspiraltable = lsctables.SimInspiralTable.get_table(xmldoc)
184
+ except ValueError:
185
+ self.siminspiraltable = None
186
+ try:
187
+ timeslidetable = lsctables.TimeSlideTable.get_table(xmldoc)
188
+ except ValueError:
189
+ timeslidetable = None
190
+ if timeslidetable is not None:
191
+ self.offsetvectors = timeslidetable.as_dict()
192
+ else:
193
+ self.offsetvectors = {}
194
+
195
+ #
196
+ # store the longest duration of a burst event
197
+ #
198
+
199
+ if self.snglbursttable:
200
+ self.longestduration = max(self.snglbursttable.getColumnByName("duration"))
201
+ else:
202
+ self.longestduration = 0.0
203
+
204
+ #
205
+ # get a segmentlistdict indicating the times when the jobs
206
+ # that produced burst events could have produced output
207
+ #
208
+
209
+ self.seglists = ligolw_search_summary.segmentlistdict_fromsearchsummary(xmldoc, livetime_program).coalesce()
210
+
211
+ #
212
+ # FIXME: in the future, the sim_inspiral table should
213
+ # indicate time slide at which the injection was done, like
214
+ # the sim_burst table does. for now, fake it by giving
215
+ # each one a time_slide_id attribute. this is the only
216
+ # reason why a place-holder class is required for the
217
+ # SimInspiral row type; that class can be deleted when
218
+ # this is no longer needed
219
+ #
220
+
221
+ if self.siminspiraltable is not None:
222
+ time_slide_id = ligolw_time_slide.get_time_slide_id(xmldoc, {}.fromkeys(self.seglists, 0.0), create_new = process, superset_ok = True, nonunique_ok = False)
223
+ for sim in self.siminspiraltable:
224
+ sim.time_slide_id = time_slide_id
225
+
226
+ #
227
+ # get coinc_definer rows for sim_* <--> sngl_burst coincs
228
+ # for whichever sim_* tables are present; this creates a
229
+ # coinc_definer table if the document doesn't have one
230
+ #
231
+
232
+ if self.simbursttable is not None:
233
+ self.sb_b_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, sb_b_def.search, sb_b_def.search_coinc_type, create_new = True, description = sb_b_def.description)
234
+ else:
235
+ self.sb_b_coinc_def_id = None
236
+ if self.siminspiraltable is not None:
237
+ self.si_b_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, si_b_def.search, si_b_def.search_coinc_type, create_new = True, description = si_b_def.description)
238
+ else:
239
+ self.si_b_coinc_def_id = None
240
+
241
+ #
242
+ # get coinc_def_id's for sngl_burst <--> sngl_burst, and
243
+ # both kinds of sim_* <--> coinc_event coincs. set all to
244
+ # None if this document does not contain any sngl_burst
245
+ # <--> sngl_burst coincs.
246
+ #
247
+
248
+ try:
249
+ b_b_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, b_b_def.search, b_b_def.search_coinc_type, create_new = False)
250
+ except KeyError:
251
+ b_b_coinc_def_id = None
252
+ self.sb_c_e_coinc_def_id = None
253
+ self.sb_c_n_coinc_def_id = None
254
+ self.si_c_e_coinc_def_id = None
255
+ self.si_c_n_coinc_def_id = None
256
+ else:
257
+ if self.simbursttable is not None:
258
+ self.sb_c_e_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, sb_c_e_def.search, sb_c_e_def.search_coinc_type, create_new = True, description = sb_c_e_def.description)
259
+ self.sb_c_n_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, sb_c_n_def.search, sb_c_n_def.search_coinc_type, create_new = True, description = sb_c_n_def.description)
260
+ else:
261
+ self.sb_c_e_coinc_def_id = None
262
+ self.sb_c_n_coinc_def_id = None
263
+ if self.siminspiraltable is not None:
264
+ self.si_c_e_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, si_c_e_def.search, si_c_e_def.search_coinc_type, create_new = True, description = si_c_e_def.description)
265
+ self.si_c_n_coinc_def_id = ligolw_coincs.get_coinc_def_id(xmldoc, si_c_n_def.search, si_c_n_def.search_coinc_type, create_new = True, description = si_c_n_def.description)
266
+ else:
267
+ self.si_c_e_coinc_def_id = None
268
+ self.si_c_n_coinc_def_id = None
269
+
270
+ #
271
+ # get coinc table, create one if needed
272
+ #
273
+
274
+ try:
275
+ self.coinctable = lsctables.CoincTable.get_table(xmldoc)
276
+ except ValueError:
277
+ self.coinctable = lsctables.CoincTable.new()
278
+ xmldoc.childNodes[0].appendChild(self.coinctable)
279
+ self.coinctable.sync_next_id()
280
+
281
+ #
282
+ # get coinc_map table, create one if needed
283
+ #
284
+
285
+ try:
286
+ self.coincmaptable = lsctables.CoincMapTable.get_table(xmldoc)
287
+ except ValueError:
288
+ self.coincmaptable = lsctables.CoincMapTable.new()
289
+ xmldoc.childNodes[0].appendChild(self.coincmaptable)
290
+
291
+ #
292
+ # index the document
293
+ #
294
+
295
+ # index sngl_burst table
296
+ index = dict((row.event_id, row) for row in self.snglbursttable)
297
+ # find IDs of burst<-->burst coincs
298
+ self.coincs = dict((row.coinc_event_id, []) for row in self.coinctable if row.coinc_def_id == b_b_coinc_def_id)
299
+ # construct event list for each burst<-->burst coinc
300
+ for row in self.coincmaptable:
301
+ try:
302
+ self.coincs[row.coinc_event_id].append(index[row.event_id])
303
+ except KeyError:
304
+ pass
305
+ del index
306
+ # sort the event list for each coin by peak time and
307
+ # convert to tuples for speed
308
+ for coinc_event_id, events in self.coincs.items():
309
+ events.sort(key = lambda event: event.peak)
310
+ self.coincs[coinc_event_id] = tuple(events)
311
+ # convert dictionary to a list of (coinc_event_id, events)
312
+ # tuples and create a coinc_event_id to offset vector
313
+ # look-up table
314
+ self.coincs = self.coincs.items()
315
+ self.coincoffsets = dict((row.coinc_event_id, self.offsetvectors[row.time_slide_id]) for row in self.coinctable if row.coinc_def_id == b_b_coinc_def_id)
316
+
317
+ #
318
+ # represent the sngl_burst table as a dictionary indexed by
319
+ # instrument whose values are the event lists for those
320
+ # instruments sorted by peak time. sort the coincs list by
321
+ # the peak time of the first (earliest) event in each coinc
322
+ # (recall that the event tuple for each coinc has been
323
+ # time-ordered)
324
+ #
325
+
326
+ self.snglbursttable = dict((instrument, sorted((event for event in self.snglbursttable if event.ifo == instrument), key = lambda event: event.peak)) for instrument in set(self.snglbursttable.getColumnByName("ifo")))
327
+ self.coincs.sort(key = lambda coinc_id_events: coinc_id_events[1][0].peak)
328
+
329
+ def bursts_near_peaktime(self, t, window, offsetvector):
330
+ """
331
+ Return a list of the burst events whose peak times (with
332
+ offsetvector added) are within window seconds of t. This
333
+ is not used to define any coincidences, only to provide a
334
+ short list of burst events for use in more costly
335
+ comparison tests.
336
+ """
337
+ # instead of adding the offsets to each burst trigger, the
338
+ # offsets are subtracted from the times against which the
339
+ # bursts are compared
340
+ return sum((events[bisect.bisect_left(events, t - offsetvector[instrument] - window):bisect.bisect_right(events, t - offsetvector[instrument] + window)] for instrument, events in self.snglbursttable.items()), [])
341
+
342
+ def coincs_near_peaktime(self, t, window, offsetvector):
343
+ """
344
+ Return a list of the (coinc_event_id, event list) tuples in
345
+ which at least one burst event's peak time is within window
346
+ seconds of t. This is not used to define any coincidences,
347
+ only to provide a short list of coinc events for use in
348
+ more costly comparison tests.
349
+ """
350
+ #
351
+ # burst events within window of t
352
+ #
353
+
354
+ near_events = set(self.bursts_near_peaktime(t, window, offsetvector))
355
+
356
+ #
357
+ # coincs that involve at least one of those burst events
358
+ # and were found following the application of an offset
359
+ # vector consistent with the injection offset vector
360
+ #
361
+
362
+ return [(coinc_event_id, events) for coinc_event_id, events in self.coincs if set(events) & near_events and offsetvector.contains(self.coincoffsets[coinc_event_id])]
363
+
364
+ def new_coinc(self, coinc_def_id, time_slide_id):
365
+ """
366
+ Construct a new coinc_event row attached to the given
367
+ process, and belonging to the set of coincidences defined
368
+ by the given coinc_def_id.
369
+ """
370
+ coinc = self.coinctable.RowType()
371
+ coinc.process_id = self.process.process_id
372
+ coinc.coinc_def_id = coinc_def_id
373
+ coinc.coinc_event_id = self.coinctable.get_next_id()
374
+ coinc.time_slide_id = time_slide_id
375
+ coinc.set_instruments(None)
376
+ coinc.nevents = 0
377
+ coinc.likelihood = None
378
+ self.coinctable.append(coinc)
379
+ return coinc
380
+
381
+
382
+ #
383
+ # =============================================================================
384
+ #
385
+ # Add Process Information
386
+ #
387
+ # =============================================================================
388
+ #
389
+
390
+
391
+ process_program_name = "lalburst_injfind"
392
+
393
+
394
+ def append_process(xmldoc, match_algorithm, comment):
395
+ """
396
+ Convenience wrapper for adding process metadata to the document.
397
+ """
398
+ return ligolw_process.register_to_xmldoc(
399
+ xmldoc,
400
+ program = process_program_name,
401
+ paramdict = {
402
+ "match_algorithm": match_algorithm
403
+ },
404
+ version = __version__,
405
+ cvs_repository = "lscsoft",
406
+ cvs_entry_time = __date__,
407
+ comment = comment
408
+ )
409
+
410
+
411
+ #
412
+ # =============================================================================
413
+ #
414
+ # Injection <--> Burst Event Comparison Tests
415
+ #
416
+ # =============================================================================
417
+ #
418
+
419
+
420
+ def StringCuspSnglCompare(sim, burst, offsetvector):
421
+ """
422
+ Return False (injection matches event) if an autocorrelation-width
423
+ window centred on the injection is continuous with the time
424
+ interval of the burst.
425
+ """
426
+ tinj = sim.time_at_instrument(burst.ifo, offsetvector)
427
+ window = SimBurstUtils.stringcusp_autocorrelation_width / 2
428
+ # uncomment last part of expression to impose an amplitude cut
429
+ return segments.segment(tinj - window, tinj + window).disjoint(burst.period) #or abs(sim.amplitude / SimBurstUtils.string_amplitude_in_instrument(sim, burst.ifo, offsetvector)) > 3
430
+
431
+
432
+ def ExcessPowerSnglCompare(sim, burst, offsetvector):
433
+ """
434
+ Return False (injection matches event) if the peak time and centre
435
+ frequency of sim lie within the time-frequency tile of burst.
436
+ """
437
+ return (sim.time_at_instrument(burst.ifo, offsetvector) not in burst.period) or (sim.frequency not in burst.band)
438
+
439
+
440
+ def OmegaSnglCompare(sim, burst, offsetvector, delta_t = 10.0):
441
+ """
442
+ Return False (injection matches event) if the time of the sim and
443
+ the peak time of the burst event differ by less than or equal to
444
+ delta_t seconds.
445
+ """
446
+ return abs(float(sim.time_at_instrument(burst.ifo, offsetvector) - burst.peak)) > delta_t
447
+
448
+ def CWBSnglCompare(sim, burst, offsetvector, delta_t = 10.0):
449
+ """
450
+ Return False (injection matches event) if the time of the sim and
451
+ the peak time of the burst event differ by less than or equal to
452
+ delta_t seconds.
453
+ """
454
+ return abs(float(sim.time_at_instrument(burst.ifo, offsetvector) - burst.peak)) > delta_t
455
+
456
+
457
+ def StringCuspNearCoincCompare(sim, burst, offsetvector):
458
+ """
459
+ Return False (injection matches coinc) if the peak time of the sim
460
+ is "near" the burst event.
461
+ """
462
+ tinj = sim.time_at_instrument(burst.ifo, offsetvector)
463
+ window = SimBurstUtils.stringcusp_autocorrelation_width / 2 + SimBurstUtils.burst_is_near_injection_window
464
+ return segments.segment(tinj - window, tinj + window).disjoint(burst.period)
465
+
466
+
467
+ def ExcessPowerNearCoincCompare(sim, burst, offsetvector):
468
+ """
469
+ Return False (injection matches coinc) if the peak time of the sim
470
+ is "near" the burst event.
471
+ """
472
+ tinj = sim.time_at_instrument(burst.ifo, offsetvector)
473
+ window = SimBurstUtils.burst_is_near_injection_window
474
+ return segments.segment(tinj - window, tinj + window).disjoint(burst.period)
475
+
476
+
477
+ def OmegaNearCoincCompare(sim, burst, offsetvector):
478
+ """
479
+ Return False (injection matches coinc) if the peak time of the sim
480
+ is "near" the burst event.
481
+ """
482
+ return OmegaSnglCompare(sim, burst, offsetvector, delta_t = 20.0 + burst.duration / 2)
483
+
484
+ def CWBNearCoincCompare(sim, burst, offsetvector):
485
+ """
486
+ Return False (injection matches coinc) if the peak time of the sim
487
+ is "near" the burst event.
488
+ """
489
+ return OmegaSnglCompare(sim, burst, offsetvector, delta_t = 20.0 + burst.duration / 2)
490
+
491
+
492
+ #
493
+ # =============================================================================
494
+ #
495
+ # Build sim_* <--> sngl_burst Coincidences
496
+ #
497
+ # =============================================================================
498
+ #
499
+
500
+
501
+ def find_sngl_burst_matches(contents, sim, comparefunc, sieve_window):
502
+ """
503
+ Scan the burst table for triggers matching sim. sieve_window is
504
+ used in a bisection search to quickly identify burst events within
505
+ that many seconds of the injection's peak time at the geocentre;
506
+ it should be larger than the greatest time difference that can
507
+ separate a burst event's peak time from an injection's peak time at
508
+ the geocentre and the two still be considered a match.
509
+ """
510
+ offsetvector = contents.offsetvectors[sim.time_slide_id]
511
+ return [burst for burst in contents.bursts_near_peaktime(sim.time_geocent, sieve_window, offsetvector) if not comparefunc(sim, burst, offsetvector)]
512
+
513
+
514
+ def add_sim_burst_coinc(contents, sim, events, coinc_def_id):
515
+ """
516
+ Create a coinc_event in the coinc table, and add arcs in the
517
+ coinc_event_map table linking the sim_burst row and the list of
518
+ sngl_burst rows to the new coinc_event row.
519
+ """
520
+ # the coinc always carries the same time_slide_id as the injection
521
+ coinc = contents.new_coinc(coinc_def_id, sim.time_slide_id)
522
+ coinc.set_instruments(set(event.ifo for event in events))
523
+ coinc.nevents = len(events)
524
+
525
+ coincmap = contents.coincmaptable.RowType()
526
+ coincmap.coinc_event_id = coinc.coinc_event_id
527
+ coincmap.table_name = sim.simulation_id.table_name
528
+ coincmap.event_id = sim.simulation_id
529
+ contents.coincmaptable.append(coincmap)
530
+
531
+ for event in events:
532
+ coincmap = contents.coincmaptable.RowType()
533
+ coincmap.coinc_event_id = coinc.coinc_event_id
534
+ coincmap.table_name = event.event_id.table_name
535
+ coincmap.event_id = event.event_id
536
+ contents.coincmaptable.append(coincmap)
537
+
538
+ return coinc
539
+
540
+
541
+ #
542
+ # =============================================================================
543
+ #
544
+ # Build sim_burst <--> coinc Coincidences
545
+ #
546
+ # =============================================================================
547
+ #
548
+
549
+
550
+ def find_exact_coinc_matches(coincs, sim, comparefunc, seglists, offsetvector):
551
+ """
552
+ Return a set of the coinc_event_ids of the burst<-->burst coincs in
553
+ which all burst events match sim and to which all instruments on at
554
+ the time of the sim contributed events.
555
+ """
556
+ # note: this doesn't check that the coinc and the sim share
557
+ # compatible offset vectors, it is assumed this condition was
558
+ # applied in the .coincs_near_peaktime() method that was used to
559
+ # assemble the list of candidate coincs
560
+
561
+ # comparefunc() returns False --> event matches sim
562
+ # any() --> at least one compare returns True == not all events match
563
+ # not any() --> all events match sim
564
+ on_instruments = SimBurstUtils.on_instruments(sim, seglists, offsetvector)
565
+ return set(coinc_event_id for coinc_event_id, events in coincs if on_instruments.issubset(set(event.ifo for event in events)) and not any(comparefunc(sim, event, offsetvector) for event in events))
566
+
567
+
568
+ def find_near_coinc_matches(coincs, sim, comparefunc, offsetvector):
569
+ """
570
+ Return a set of the coinc_event_ids of the burst<-->burst coincs in
571
+ which at least one burst event matches sim.
572
+ """
573
+ # note: this doesn't check that the coinc and the sim share
574
+ # compatible offset vectors, it is assumed this condition was
575
+ # applied in the .coincs_near_peaktime() method that was used to
576
+ # assemble the list of candidate coincs
577
+
578
+ # comparefunc() returns False --> event matches sim
579
+ # all() --> all compares return True == no events match
580
+ # not all() --> at least one event matches sim
581
+ return set(coinc_event_id for coinc_event_id, events in coincs if not all(comparefunc(sim, event, offsetvector) for event in events))
582
+
583
+
584
+ def add_sim_coinc_coinc(contents, sim, coinc_event_ids, coinc_def_id):
585
+ """
586
+ Create a coinc_event in the coinc table, and add arcs in the
587
+ coinc_event_map table linking the sim_burst row and the list of
588
+ coinc_event rows to the new coinc_event row.
589
+ """
590
+ # the coinc always carries the same time_slide_id as the injection
591
+ coinc = contents.new_coinc(coinc_def_id, sim.time_slide_id)
592
+ coinc.nevents = len(coinc_event_ids)
593
+
594
+ coincmap = contents.coincmaptable.RowType()
595
+ coincmap.coinc_event_id = coinc.coinc_event_id
596
+ coincmap.table_name = sim.simulation_id.table_name
597
+ coincmap.event_id = sim.simulation_id
598
+ contents.coincmaptable.append(coincmap)
599
+
600
+ for coinc_event_id in coinc_event_ids:
601
+ coincmap = contents.coincmaptable.RowType()
602
+ coincmap.coinc_event_id = coinc.coinc_event_id
603
+ coincmap.table_name = coinc_event_id.table_name
604
+ coincmap.event_id = coinc_event_id
605
+ contents.coincmaptable.append(coincmap)
606
+
607
+ return coinc
608
+
609
+
610
+ #
611
+ # =============================================================================
612
+ #
613
+ # Library API
614
+ #
615
+ # =============================================================================
616
+ #
617
+
618
+
619
+ def binjfind(xmldoc, process, search, snglcomparefunc, nearcoinccomparefunc, verbose = False):
620
+ #
621
+ # Analyze the document's contents.
622
+ #
623
+
624
+ if verbose:
625
+ print("indexing ...", file=sys.stderr)
626
+
627
+ b_b_def = {
628
+ "StringCusp": burca.StringCuspBBCoincDef,
629
+ "excesspower": burca.ExcessPowerBBCoincDef,
630
+ "waveburst": CWBBBCoincDef,
631
+ "omega": OmegaBBCoincDef
632
+ }[search]
633
+ sb_b_def = {
634
+ "StringCusp": StringCuspSBBCoincDef,
635
+ "excesspower": ExcessPowerSBBCoincDef,
636
+ "waveburst": CWBSBBCoincDef,
637
+ "omega": OmegaSBBCoincDef
638
+ }[search]
639
+ si_b_def = {
640
+ "StringCusp": StringCuspSIBCoincDef,
641
+ "excesspower": ExcessPowerSIBCoincDef,
642
+ "waveburst": CWBSIBCoincDef,
643
+ "omega": OmegaSIBCoincDef
644
+ }[search]
645
+ sb_c_e_def = {
646
+ "StringCusp": StringCuspSBCCoincDef,
647
+ "excesspower": ExcessPowerSBCCoincDef,
648
+ "waveburst": CWBSBCCoincDef,
649
+ "omega": OmegaSBCCoincDef
650
+ }[search]
651
+ sb_c_n_def = {
652
+ "StringCusp": StringCuspSBCNearCoincDef,
653
+ "excesspower": ExcessPowerSBCNearCoincDef,
654
+ "waveburst": CWBSBCNearCoincDef,
655
+ "omega": OmegaSBCNearCoincDef
656
+ }[search]
657
+ si_c_e_def = {
658
+ "StringCusp": StringCuspSICCoincDef,
659
+ "excesspower": ExcessPowerSICCoincDef,
660
+ "waveburst": CWBSICCoincDef,
661
+ "omega": OmegaSICCoincDef
662
+ }[search]
663
+ si_c_n_def = {
664
+ "StringCusp": StringCuspSICNearCoincDef,
665
+ "excesspower": ExcessPowerSICNearCoincDef,
666
+ "waveburst": CWBSICNearCoincDef,
667
+ "omega": OmegaSICNearCoincDef
668
+ }[search]
669
+
670
+ contents = DocContents(
671
+ xmldoc = xmldoc,
672
+ b_b_def = b_b_def,
673
+ sb_b_def = sb_b_def,
674
+ si_b_def = si_b_def,
675
+ sb_c_e_def = sb_c_e_def,
676
+ sb_c_n_def = sb_c_n_def,
677
+ si_c_e_def = si_c_e_def,
678
+ si_c_n_def = si_c_n_def,
679
+ process = process,
680
+ livetime_program = {
681
+ "StringCusp": "StringSearch",
682
+ "excesspower": "lalapps_power",
683
+ "omega": None, # FIXME: this causes all segments in the search_summary table to be retrieved
684
+ "waveburst": None # FIXME: this causes all segments in the search_summary table to be retrieved
685
+ }[search]
686
+ )
687
+
688
+ #
689
+ # set the window for the sieve in bursts_near_peaktime(). this
690
+ # window is the amount of time such that if an injection's peak
691
+ # time and a burst event's peak time differ by more than this it is
692
+ # *impossible* for them to match one another.
693
+ #
694
+
695
+ # the radius of Earth in light seconds == the most an injection's
696
+ # peak time column can differ from the time it peaks in an
697
+ # instrument. 1.25 = add 25% for good luck (we're not being
698
+ # careful with asphericity here, so a bit of padding is needed
699
+ # anyway, just make sure it's enough).
700
+ burst_peak_time_window = lal.REARTH_SI / lal.C_SI * 1.25
701
+
702
+ # add the duration of the longest burst event (the most a burst
703
+ # event's peak time could differ from either the start or stop time
704
+ # of the event)
705
+ burst_peak_time_window += contents.longestduration
706
+
707
+ # add a search-specific padding
708
+ #
709
+ # for the string search this is 1/2 the typical width of a whitened
710
+ # template's autocorrelation function (because this is added to a
711
+ # time window somewhere)
712
+ #
713
+ # for omega, the number should be larger than the largest delta_t
714
+ # passed to OmegaSnglCompare() not including the duration of the
715
+ # burst event (already taken into account above)
716
+ burst_peak_time_window += {
717
+ "StringCusp": SimBurstUtils.stringcusp_autocorrelation_width / 2,
718
+ "excesspower": 0.0,
719
+ "omega": 30.0,
720
+ "waveburst": 30.0
721
+ }[search]
722
+
723
+ #
724
+ # set the window for identifying coincs near a peak time
725
+ # FIXME: this is kinda specific to the excess power search.
726
+ #
727
+
728
+ coinc_peak_time_window = burst_peak_time_window + SimBurstUtils.burst_is_near_injection_window
729
+
730
+ #
731
+ # Search for sim_burst <--> * coincidences
732
+ #
733
+
734
+ if contents.simbursttable is not None:
735
+ N = len(contents.simbursttable)
736
+
737
+ #
738
+ # Find sim_burst <--> sngl_burst coincidences.
739
+ #
740
+
741
+ if verbose:
742
+ print("constructing %s:" % sb_b_def.description, file=sys.stderr)
743
+ for n, sim in enumerate(contents.simbursttable):
744
+ if verbose:
745
+ print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
746
+ events = find_sngl_burst_matches(contents, sim, snglcomparefunc, burst_peak_time_window)
747
+ if events:
748
+ add_sim_burst_coinc(contents, sim, events, contents.sb_b_coinc_def_id)
749
+ if verbose:
750
+ print("\t100.0%", file=sys.stderr)
751
+
752
+ #
753
+ # Find sim_burst <--> coinc_event coincidences.
754
+ #
755
+
756
+ if verbose:
757
+ print("constructing %s and %s:" % (sb_c_e_def.description, sb_c_n_def.description), file=sys.stderr)
758
+ for n, sim in enumerate(contents.simbursttable):
759
+ if verbose:
760
+ print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
761
+ offsetvector = contents.offsetvectors[sim.time_slide_id]
762
+ coincs = contents.coincs_near_peaktime(sim.time_geocent, coinc_peak_time_window, offsetvector)
763
+ exact_coinc_event_ids = find_exact_coinc_matches(coincs, sim, snglcomparefunc, contents.seglists, offsetvector)
764
+ near_coinc_event_ids = find_near_coinc_matches(coincs, sim, nearcoinccomparefunc, offsetvector)
765
+ assert exact_coinc_event_ids.issubset(near_coinc_event_ids)
766
+ if exact_coinc_event_ids:
767
+ add_sim_coinc_coinc(contents, sim, exact_coinc_event_ids, contents.sb_c_e_coinc_def_id)
768
+ if near_coinc_event_ids:
769
+ add_sim_coinc_coinc(contents, sim, near_coinc_event_ids, contents.sb_c_n_coinc_def_id)
770
+ if verbose:
771
+ print("\t100.0%", file=sys.stderr)
772
+ elif verbose:
773
+ print("no %s table in document, skipping" % lsctables.SimBurstTable.tableName, file=sys.stderr)
774
+
775
+ #
776
+ # Search for sim_inspiral <--> * coincidences
777
+ #
778
+
779
+ if contents.siminspiraltable is not None:
780
+ N = len(contents.siminspiraltable)
781
+
782
+ #
783
+ # Find sim_inspiral <--> sngl_burst coincidences.
784
+ #
785
+
786
+ if verbose:
787
+ print("constructing %s:" % si_b_def.description, file=sys.stderr)
788
+ for n, sim in enumerate(contents.siminspiraltable):
789
+ if verbose:
790
+ print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
791
+ events = find_sngl_burst_matches(contents, sim, snglcomparefunc, burst_peak_time_window)
792
+ if events:
793
+ add_sim_burst_coinc(contents, sim, events, contents.si_b_coinc_def_id)
794
+ if verbose:
795
+ print("\t100.0%", file=sys.stderr)
796
+
797
+ #
798
+ # Find sim_inspiral <--> coinc_event coincidences.
799
+ #
800
+
801
+ if verbose:
802
+ print("constructing %s and %s:" % (si_c_e_def.description, si_c_n_def.description), file=sys.stderr)
803
+ for n, sim in enumerate(contents.siminspiraltable):
804
+ if verbose:
805
+ print("\t%.1f%%\r" % (100.0 * n / N), end=' ', file=sys.stderr)
806
+ offsetvector = contents.offsetvectors[sim.time_slide_id]
807
+ coincs = contents.coincs_near_peaktime(sim.time_geocent, coinc_peak_time_window, offsetvector)
808
+ exact_coinc_event_ids = find_exact_coinc_matches(coincs, sim, snglcomparefunc, contents.seglists, offsetvector)
809
+ near_coinc_event_ids = find_near_coinc_matches(coincs, sim, nearcoinccomparefunc, offsetvector)
810
+ assert exact_coinc_event_ids.issubset(near_coinc_event_ids)
811
+ if exact_coinc_event_ids:
812
+ add_sim_coinc_coinc(contents, sim, exact_coinc_event_ids, contents.si_c_e_coinc_def_id)
813
+ if near_coinc_event_ids:
814
+ add_sim_coinc_coinc(contents, sim, near_coinc_event_ids, contents.si_c_n_coinc_def_id)
815
+ if verbose:
816
+ print("\t100.0%", file=sys.stderr)
817
+ elif verbose:
818
+ print("no %s table in document, skipping" % lsctables.SimInspiralTable.tableName, file=sys.stderr)
819
+
820
+ #
821
+ # Done.
822
+ #
823
+
824
+ return xmldoc