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/burca.py ADDED
@@ -0,0 +1,315 @@
1
+ # Copyright (C) 2006--2011,2013,2015--2019,2021 Kipp Cannon
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify it
4
+ # under the terms of the GNU General Public License as published by the
5
+ # Free Software Foundation; either version 2 of the License, or (at your
6
+ # option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful, but
9
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11
+ # Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16
+
17
+
18
+ #
19
+ # =============================================================================
20
+ #
21
+ # Preamble
22
+ #
23
+ # =============================================================================
24
+ #
25
+
26
+
27
+ from bisect import bisect_left, bisect_right
28
+ import itertools
29
+ import math
30
+ import sys
31
+
32
+
33
+ from igwn_ligolw import lsctables
34
+ from igwn_segments import PosInfinity
35
+ from . import snglcoinc
36
+
37
+
38
+ __author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
39
+ from .git_version import date as __date__
40
+ from .git_version import version as __version__
41
+
42
+
43
+ #
44
+ # =============================================================================
45
+ #
46
+ # CoincTables Customizations
47
+ #
48
+ # =============================================================================
49
+ #
50
+
51
+
52
+ #
53
+ # For use with excess power.
54
+ #
55
+
56
+
57
+ ExcessPowerBBCoincDef = lsctables.CoincDef(search = "excesspower", search_coinc_type = 0, description = "sngl_burst<-->sngl_burst coincidences")
58
+
59
+
60
+ class ExcessPowerCoincTables(snglcoinc.CoincTables):
61
+ def __init__(self, xmldoc):
62
+ super(ExcessPowerCoincTables, self).__init__(xmldoc)
63
+
64
+ # find the multi_burst table or create one if not found
65
+ try:
66
+ self.multibursttable = lsctables.MultiBurstTable.get_table(xmldoc)
67
+ except ValueError:
68
+ self.multibursttable = lsctables.MultiBurstTable.new(("process_id", "duration", "central_freq", "bandwidth", "snr", "confidence", "amplitude", "coinc_event_id"))
69
+ xmldoc.childNodes[0].appendChild(self.multibursttable)
70
+
71
+ def make_multi_burst(self, process_id, coinc_event_id, events, offset_vector):
72
+ multiburst = self.multibursttable.RowType(
73
+ process_id = process_id,
74
+ coinc_event_id = coinc_event_id,
75
+ # populate the false alarm rate with none.
76
+ false_alarm_rate = None
77
+ )
78
+
79
+ # snr = root sum of ms_snr squares
80
+
81
+ multiburst.snr = math.sqrt(sum(event.ms_snr**2.0 for event in events))
82
+
83
+ # peak time = ms_snr squared weighted average of peak times
84
+ # (no attempt to account for inter-site delays).
85
+ # LIGOTimeGPS objects don't like being multiplied by
86
+ # things, so the first event's peak time is used as a
87
+ # reference epoch.
88
+
89
+ t = events[0].peak + offset_vector[events[0].ifo]
90
+ multiburst.peak = t + sum(event.ms_snr**2.0 * float(event.peak + offset_vector[event.ifo] - t) for event in events) / multiburst.snr**2.0
91
+
92
+ # duration = ms_snr squared weighted average of durations
93
+
94
+ multiburst.duration = sum(event.ms_snr**2.0 * event.duration for event in events) / multiburst.snr**2.0
95
+
96
+ # central_freq = ms_snr squared weighted average of peak
97
+ # frequencies
98
+
99
+ multiburst.central_freq = sum(event.ms_snr**2.0 * event.peak_frequency for event in events) / multiburst.snr**2.0
100
+
101
+ # bandwidth = ms_snr squared weighted average of bandwidths
102
+
103
+ multiburst.bandwidth = sum(event.ms_snr**2.0 * event.bandwidth for event in events) / multiburst.snr**2.0
104
+
105
+ # confidence = minimum of confidences
106
+
107
+ multiburst.confidence = min(event.confidence for event in events)
108
+
109
+ # "amplitude" = h_rss of event with highest confidence
110
+
111
+ multiburst.amplitude = max(events, key = lambda event: event.ms_confidence).ms_hrss
112
+
113
+ # done
114
+
115
+ return multiburst
116
+
117
+ def coinc_rows(self, process_id, time_slide_id, events, table_name):
118
+ coinc, coincmaps = super(ExcessPowerCoincTables, self).coinc_rows(process_id, time_slide_id, events, table_name)
119
+ coinc.insts = (event.ifo for event in events)
120
+ return coinc, coincmaps, self.make_multi_burst(process_id, coinc.coinc_event_id, events, self.time_slide_index[time_slide_id])
121
+
122
+ def append_coinc(self, coinc, coincmaps, multiburst):
123
+ coinc = super(ExcessPowerCoincTables, self).append_coinc(coinc, coincmaps)
124
+ multiburst.coinc_event_id = coinc.coinc_event_id
125
+ self.multibursttable.append(multiburst)
126
+ return coinc
127
+
128
+
129
+ #
130
+ # For use with string cusp
131
+ #
132
+
133
+
134
+ StringCuspBBCoincDef = lsctables.CoincDef(search = "StringCusp", search_coinc_type = 0, description = "sngl_burst<-->sngl_burst coincidences")
135
+
136
+
137
+ class StringCuspCoincTables(snglcoinc.CoincTables):
138
+ def coinc_rows(self, process_id, time_slide_id, events, table_name):
139
+ coinc, coincmaps = super(StringCuspCoincTables, self).coinc_rows(process_id, time_slide_id, events, table_name)
140
+ coinc.insts = (event.ifo for event in events)
141
+ return coinc, coincmaps
142
+
143
+
144
+ #
145
+ # =============================================================================
146
+ #
147
+ # Coincidence Generators
148
+ #
149
+ # =============================================================================
150
+ #
151
+
152
+
153
+ #
154
+ # For use with excess power coincidence test
155
+ #
156
+
157
+
158
+ class ep_coincgen_doubles(snglcoinc.coincgen_doubles):
159
+ class singlesqueue(snglcoinc.coincgen_doubles.singlesqueue):
160
+ @staticmethod
161
+ def event_time(event):
162
+ return event.peak
163
+
164
+
165
+ class get_coincs(object):
166
+ @staticmethod
167
+ def max_edge_peak_delta(events):
168
+ # the largest difference between any event's peak
169
+ # time and either its start or stop times
170
+ if not events:
171
+ return 0.0
172
+ return max(max(float(event.peak - event.start), float(event.start + event.duration - event.peak)) for event in events)
173
+
174
+ @staticmethod
175
+ def comparefunc(a, offseta, b, coinc_window):
176
+ if abs(a.central_freq - b.central_freq) > (a.bandwidth + b.bandwidth) / 2:
177
+ return True
178
+
179
+ astart = a.start + offseta
180
+ bstart = b.start
181
+ if astart > bstart + b.duration + coinc_window:
182
+ # a starts after the end of b
183
+ return True
184
+
185
+ if bstart > astart + a.duration + coinc_window:
186
+ # b starts after the end of a
187
+ return True
188
+
189
+ # time-frequency times intersect
190
+ return False
191
+
192
+ def __init__(self, events):
193
+ self.events = events
194
+ self.times = tuple(map(ep_coincgen_doubles.singlesqueue.event_time, events))
195
+ # for this instance, replace the method with the
196
+ # pre-computed value
197
+ self.max_edge_peak_delta = self.max_edge_peak_delta(events)
198
+
199
+ def __call__(self, event_a, offset_a, coinc_window):
200
+ # event_a's peak time
201
+ peak = event_a.peak
202
+
203
+ # difference between event_a's peak and start times
204
+ dt = float(peak - event_a.start)
205
+
206
+ # largest difference between event_a's peak time
207
+ # and either its start or stop times
208
+ dt = max(dt, event_a.duration - dt)
209
+
210
+ # add our own max_edge_peak_delta and the light
211
+ # travel time between the two instruments (when
212
+ # done, if event_a's peak time differs by more than
213
+ # this much from the peak time of an event in this
214
+ # list then it is *impossible* for them to be
215
+ # coincident)
216
+ dt += self.max_edge_peak_delta + coinc_window
217
+
218
+ # apply time shift
219
+ peak += offset_a
220
+
221
+ # extract the subset of events from this list that
222
+ # pass coincidence with event_a (use bisection
223
+ # searches for the minimum and maximum allowed peak
224
+ # times to quickly identify a subset of the full
225
+ # list)
226
+ return [event_b for event_b in self.events[bisect_left(self.times, peak - dt) : bisect_right(self.times, peak + dt)] if not self.comparefunc(event_a, offset_a, event_b, coinc_window)]
227
+
228
+
229
+
230
+ #
231
+ # For use with string coincidence test
232
+ #
233
+
234
+
235
+ class string_coincgen_doubles(ep_coincgen_doubles):
236
+ class get_coincs(object):
237
+ def __init__(self, events):
238
+ self.events = events
239
+ self.times = tuple(map(string_coincgen_doubles.singlesqueue.event_time, events))
240
+
241
+ def __call__(self, event_a, offset_a, coinc_window):
242
+ peak = event_a.peak + offset_a
243
+ template_id = event_a.template_id
244
+ return [event for event in self.events[bisect_left(self.times, peak - coinc_window) : bisect_right(self.times, peak + coinc_window)] if event.template_id == template_id]
245
+
246
+
247
+ #
248
+ # =============================================================================
249
+ #
250
+ # Library API
251
+ #
252
+ # =============================================================================
253
+ #
254
+
255
+
256
+ def burca(
257
+ xmldoc,
258
+ process_id,
259
+ coincgen_doubles,
260
+ CoincTables,
261
+ coinc_definer_row,
262
+ delta_t,
263
+ ntuple_comparefunc = lambda events, offset_vector: False,
264
+ min_instruments = 2,
265
+ incremental = True,
266
+ verbose = False
267
+ ):
268
+ #
269
+ # prepare the coincidence table interface.
270
+ #
271
+
272
+ if verbose:
273
+ print("indexing ...", file=sys.stderr)
274
+ coinc_tables = CoincTables(xmldoc, coinc_definer_row)
275
+
276
+ #
277
+ # construct offset vector assembly graph
278
+ #
279
+
280
+ time_slide_graph = snglcoinc.TimeSlideGraph(coincgen_doubles, coinc_tables.time_slide_index, delta_t, min_instruments = min_instruments, verbose = verbose)
281
+
282
+ #
283
+ # collect events.
284
+ #
285
+
286
+ sngl_burst_table = lsctables.SnglBurstTable.get_table(xmldoc)
287
+ if not incremental:
288
+ # normal version: push everything into the graph, then
289
+ # pull out all coincs in one operation below using the
290
+ # final flush
291
+ for instrument, events in itertools.groupby(sorted(sngl_burst_table, key = lambda row: row.ifo), lambda event: event.ifo):
292
+ time_slide_graph.push(instrument, tuple(events), PosInfinity)
293
+ else:
294
+ # slower diagnostic version. simulate an online
295
+ # incremental analysis by pushing events into the graph in
296
+ # time order and collecting candidates as we go. we still
297
+ # do the final flush operation below.
298
+ for instrument, events in itertools.groupby(sorted(sngl_burst_table, key = lambda row: (row.peak, row.ifo)), lambda event: event.ifo):
299
+ events = tuple(events)
300
+ if time_slide_graph.push(instrument, events, max(event.peak for event in events)):
301
+ for node, events in time_slide_graph.pull(coinc_sieve = ntuple_comparefunc):
302
+ coinc_tables.append_coinc(*coinc_tables.coinc_rows(process_id, node.time_slide_id, events, "sngl_burst"))
303
+
304
+ #
305
+ # retrieve all remaining coincidences.
306
+ #
307
+
308
+ for node, events in time_slide_graph.pull(coinc_sieve = ntuple_comparefunc, flush = True):
309
+ coinc_tables.append_coinc(*coinc_tables.coinc_rows(process_id, node.time_slide_id, events, "sngl_burst"))
310
+
311
+ #
312
+ # done
313
+ #
314
+
315
+ return xmldoc
@@ -0,0 +1,349 @@
1
+ # Copyright (C) 2007--2021 Kipp Cannon
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify it
4
+ # under the terms of the GNU General Public License as published by the
5
+ # Free Software Foundation; either version 2 of the License, or (at your
6
+ # option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful, but
9
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11
+ # Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16
+
17
+
18
+ #
19
+ # =============================================================================
20
+ #
21
+ # Preamble
22
+ #
23
+ # =============================================================================
24
+ #
25
+
26
+
27
+ import copy
28
+ import itertools
29
+ import math
30
+ import sys
31
+
32
+
33
+ import lal
34
+ from lal import rate
35
+
36
+
37
+ from igwn_ligolw import ligolw
38
+ from igwn_ligolw import lsctables
39
+ from igwn_ligolw import utils as ligolw_utils
40
+ from igwn_ligolw.utils import process as ligolw_process
41
+ from igwn_ligolw.utils import search_summary as ligolw_search_summary
42
+ from . import snglcoinc
43
+ from .SimBurstUtils import MW_CENTER_J2000_RA_RAD, MW_CENTER_J2000_DEC_RAD
44
+
45
+
46
+ __author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
47
+ from .git_version import date as __date__
48
+ from .git_version import version as __version__
49
+
50
+
51
+ #
52
+ # =============================================================================
53
+ #
54
+ # Excess Power Specific Parameter Distributions
55
+ #
56
+ # =============================================================================
57
+ #
58
+
59
+
60
+ class LnLRDensity(snglcoinc.LnLRDensity):
61
+ def __init__(self, instruments):
62
+ self.densities = {}
63
+ for pair in intertools.combinations(sorted(instruments), 2):
64
+ # FIXME: hard-coded for directional search
65
+ #dt = 0.02 + snglcoinc.light_travel_time(*pair)
66
+ dt = 0.02
67
+ self.densities["%s_%s_dt" % pair] = rate.BinnedLnDPF(rate.NDBins((rate.ATanBins(-dt, +dt, 12001), rate.LinearBins(0.0, 2 * math.pi, 61))))
68
+ self.densities["%s_%s_dband" % pair] = rate.BinnedLnDPF(rate.NDBins((rate.LinearBins(-2.0, +2.0, 12001), rate.LinearBins(0.0, 2 * math.pi, 61))))
69
+ self.densities["%s_%s_ddur" % pair] = rate.BinnedLnDPF(rate.NDBins((rate.LinearBins(-2.0, +2.0, 12001), rate.LinearBins(0.0, 2 * math.pi, 61))))
70
+ self.densities["%s_%s_df" % pair] = rate.BinnedLnDPF(rate.NDBins((rate.LinearBins(-2.0, +2.0, 12001), rate.LinearBins(0.0, 2 * math.pi, 61))))
71
+ self.densities["%s_%s_dh" % pair] = rate.BinnedLnDPF(rate.NDBins((rate.LinearBins(-2.0, +2.0, 12001), rate.LinearBins(0.0, 2 * math.pi, 61))))
72
+
73
+ def __call__(self, **params):
74
+ try:
75
+ interps = self.interps
76
+ except AttributeError:
77
+ self.mkinterps()
78
+ interps = self.interps
79
+ return sum(interps[param](value) for param, value in params.items())
80
+
81
+ def __iadd__(self, other):
82
+ if type(self) != type(other) or set(self.densities) != set(other.densities):
83
+ raise TypeError("cannot add %s and %s" % (type(self), type(other)))
84
+ for key, pdf in self.densities.items():
85
+ pdf += other.densities[key]
86
+ del self.interps
87
+ return self
88
+
89
+ def increment(self, params, weight = 1.0):
90
+ for param, value in params.items():
91
+ self.densities[param].count[value] += weight
92
+
93
+ def copy(self):
94
+ new = type(self)([])
95
+ for key, pdf in self.densities.items():
96
+ new.densities[key] = pdf.copy()
97
+ return new
98
+
99
+ def mkinterps(self):
100
+ self.interps = dict((key, pdf.mkinterp()) for key, pdf in self.densities.items())
101
+
102
+ def finish(self):
103
+ for key, pdf in self.densities.items():
104
+ rate.filter_array(pdf.array, rate.gaussian_window(11, 5))
105
+ pdf.normalize()
106
+ self.mkinterps()
107
+
108
+ def to_xml(self, name):
109
+ xml = super(LnLRDensity, self).to_xml(name)
110
+ instruments = set(key.split("_", 2)[0] for key in self.densities if key.endswith("_dt"))
111
+ instruments |= set(key.split("_", 2)[1] for key in self.densities if key.endswith("_dt"))
112
+ xml.appendChild(ligolw.Param.from_pyvalue("instruments", lsctables.instrumentsproperty.set(instruments)))
113
+ for key, pdf in self.densities.items():
114
+ xml.appendChild(pdf.to_xml(key))
115
+ return xml
116
+
117
+ @classmethod
118
+ def from_xml(cls, xml, name):
119
+ xml = cls.get_xml_root(xml, name)
120
+ self = cls(lsctables.instrumentsproperty.get(ligolw.Param.get_param(xml, "instruments").value))
121
+ for key in self.densities:
122
+ self.densities[key] = rate.BinnedLnPDF.from_xml(xml, key)
123
+ return self
124
+
125
+
126
+ class BurcaCoincParamsDistributions(snglcoinc.LnLikelihoodRatioMixin):
127
+ ligo_lw_name_suffix = "excesspower_coincparamsdistributions"
128
+
129
+ def __init__(self, instruments):
130
+ self.numerator = LnLRDensity(instruments)
131
+ self.denominator = LnLRDensity(instruments)
132
+ self.candidates = LnLRDensity(instruments)
133
+
134
+ def __iadd__(self, other):
135
+ if type(self) != type(other):
136
+ raise TypeError(other)
137
+ self.numerator += other.numerator
138
+ self.denominator += other.denominator
139
+ self.candidates += other.candidates
140
+ return self
141
+
142
+ def copy(self):
143
+ new = type(self)([])
144
+ new.numerator = self.numerator.copy()
145
+ new.denominator = self.denominator.copy()
146
+ new.candidates = self.candidates.copy()
147
+ return new
148
+
149
+ def finish(self):
150
+ self.numerator.finish()
151
+ self.denominator.finish()
152
+ self.candidates.finish()
153
+
154
+ @classmethod
155
+ def get_xml_root(cls, xml, name):
156
+ name = "%s:%s" % (name, cls.ligo_lw_name_suffix)
157
+ xml = [elem for elem in xml.getElementsByTagName(ligolw.LIGO_LW.tagName) if elem.hasAttribute("Name") and elem.Name == name]
158
+ if len(xml) != 1:
159
+ raise ValueError("XML tree must contain exactly one %s element named %s" % (ligolw.LIGO_LW.tagName, name))
160
+ return xml[0]
161
+
162
+ @classmethod
163
+ def from_xml(cls, xml, name):
164
+ xml = cls.get_xml_root(xml, name)
165
+ self = cls([])
166
+ self.numerator = LnLRDensity.from_xml(xml, "numerator")
167
+ self.denominator = LnLRDensity.from_xml(xml, "denominator")
168
+ self.candidates = LnLRDensity.from_xml(xml, "candidates")
169
+
170
+ def to_xml(self, name):
171
+ xml = ligolw.LIGO_LW({"Name": "%s:%s" % (name, self.ligo_lw_name_suffix)})
172
+ xml.appendChild(self.numerator.to_xml("numerator"))
173
+ xml.appendChild(self.denominator.to_xml("denominator"))
174
+ xml.appendChild(self.candidates.to_xml("candidates"))
175
+ return xml
176
+
177
+ @classmethod
178
+ def from_filenames(cls, filenames, name, verbose = False):
179
+ """
180
+ Convenience function to deserialize
181
+ CoincParamsDistributions objects from a collection of XML
182
+ files and return their sum. The return value is a
183
+ two-element tuple. The first element is the deserialized
184
+ and summed CoincParamsDistributions object, the second is a
185
+ segmentlistdict indicating the interval of time spanned by
186
+ the out segments in the search_summary rows matching the
187
+ process IDs that were attached to the
188
+ CoincParamsDistributions objects in the XML.
189
+ """
190
+ self = None
191
+ for n, filename in enumerate(filenames, 1):
192
+ if verbose:
193
+ print("%d/%d:" % (n, len(filenames)), end=' ', file=sys.stderr)
194
+ xmldoc = ligolw_utils.load_filename(filename, verbose = verbose)
195
+ if self is None:
196
+ self = cls.from_xml(xmldoc, name)
197
+ seglists = lsctables.SearchSummaryTable.get_table(xmldoc).get_out_segmentlistdict(set([self.process_id])).coalesce()
198
+ else:
199
+ other = cls.from_xml(xmldoc, name)
200
+ self += other
201
+ seglists |= lsctables.SearchSummaryTable.get_table(xmldoc).get_out_segmentlistdict(set([other.process_id])).coalesce()
202
+ del other
203
+ xmldoc.unlink()
204
+ return self, seglists
205
+
206
+
207
+ #
208
+ # All sky version
209
+ #
210
+
211
+
212
+ class EPAllSkyCoincParamsDistributions(BurcaCoincParamsDistributions):
213
+ def ln_lr_from_triggers(self, events, offsetvector):
214
+ #
215
+ # check for coincs that have been vetoed entirely
216
+ #
217
+
218
+ if len(events) < 2:
219
+ return None
220
+
221
+ params = {}
222
+
223
+ # the "time" is the ms_snr squared weighted average of the
224
+ # peak times neglecting light-travel times. because
225
+ # LIGOTimeGPS objects have overflow problems in this sort
226
+ # of a calculation, the first event's peak time is used as
227
+ # an epoch and the calculations are done w.r.t. that time.
228
+
229
+ # FIXME: this time is available as the peak_time in the
230
+ # multi_burst table, and it should be retrieved from that
231
+ # table instead of being recomputed
232
+ events = tuple(events)
233
+ t = events[0].peak
234
+ t += sum(float(event.peak - t) * event.ms_snr**2.0 for event in events) / sum(event.ms_snr**2.0 for event in events)
235
+ gmst = lal.GreenwichMeanSiderealTime(t) % (2 * math.pi)
236
+
237
+ for event1, event2 in itertools.combinations(sorted(events, key = lambda x: x.ifo), 2):
238
+ if event1.ifo == event2.ifo:
239
+ # a coincidence is parameterized only by
240
+ # inter-instrument deltas
241
+ continue
242
+
243
+ prefix = "%s_%s_" % (event1.ifo, event2.ifo)
244
+
245
+ # in each of the following, if the list of events contains
246
+ # more than one event from a given instrument, the smallest
247
+ # deltas are recorded
248
+
249
+ dt = float(event1.peak + offsetvector[event1.ifo] - event2.peak - offsetvector[event2.ifo])
250
+ name = "%sdt" % prefix
251
+ if name not in params or abs(params[name][0]) > abs(dt):
252
+ #params[name] = (dt,)
253
+ params[name] = (dt, gmst)
254
+
255
+ df = (event1.peak_frequency - event2.peak_frequency) / ((event1.peak_frequency + event2.peak_frequency) / 2)
256
+ name = "%sdf" % prefix
257
+ if name not in params or abs(params[name][0]) > abs(df):
258
+ #params[name] = (df,)
259
+ params[name] = (df, gmst)
260
+
261
+ dh = (event1.ms_hrss - event2.ms_hrss) / ((event1.ms_hrss + event2.ms_hrss) / 2)
262
+ name = "%sdh" % prefix
263
+ if name not in params or abs(params[name][0]) > abs(dh):
264
+ #params[name] = (dh,)
265
+ params[name] = (dh, gmst)
266
+
267
+ dband = (event1.ms_bandwidth - event2.ms_bandwidth) / ((event1.ms_bandwidth + event2.ms_bandwidth) / 2)
268
+ name = "%sdband" % prefix
269
+ if name not in params or abs(params[name][0]) > abs(dband):
270
+ #params[name] = (dband,)
271
+ params[name] = (dband, gmst)
272
+
273
+ ddur = (event1.ms_duration - event2.ms_duration) / ((event1.ms_duration + event2.ms_duration) / 2)
274
+ name = "%sddur" % prefix
275
+ if name not in params or abs(params[name][0]) > abs(ddur):
276
+ #params[name] = (ddur,)
277
+ params[name] = (ddur, gmst)
278
+
279
+ return self(**params)
280
+
281
+
282
+ #
283
+ # Galactic core coinc params
284
+ #
285
+
286
+
287
+ def delay_and_amplitude_correct(event, ra, dec):
288
+ # retrieve station metadata
289
+
290
+ detector = lal.cached_detector_by_prefix[event.ifo]
291
+
292
+ # delay-correct the event to the geocentre
293
+
294
+ delay = lal.TimeDelayFromEarthCenter(detector.location, ra, dec, event.peak)
295
+ event.peak -= delay
296
+ event.period = event.period.shift(-delay)
297
+ try:
298
+ event.ms_peak -= delay
299
+ except AttributeError:
300
+ pass
301
+ try:
302
+ event.ms_period = event.ms_period.shift(-delay)
303
+ except AttributeError:
304
+ pass
305
+
306
+ # amplitude-correct the event using the polarization-averaged
307
+ # antenna response
308
+
309
+ fp, fc = lal.ComputeDetAMResponse(detector.response, ra, dec, 0, lal.GreenwichMeanSiderealTime(event.peak))
310
+ mean_response = math.sqrt(fp**2 + fc**2)
311
+ event.amplitude /= mean_response
312
+ event.ms_hrss /= mean_response
313
+
314
+ # done
315
+
316
+ return event
317
+
318
+
319
+ class EPGalacticCoreCoincParamsDistributions(BurcaCoincParamsDistributions):
320
+ def ln_lr_from_triggers(self, events, offsetvector):
321
+ ra, dec = MW_CENTER_J2000_RA_RAD, MW_CENTER_J2000_DEC_RAD
322
+ return EPAllSkyCoincParamsDistributions.coinc_params([delay_and_amplitude_correct(copy.copy(event), ra, dec) for event in events], offsetvector)
323
+
324
+
325
+ #
326
+ # =============================================================================
327
+ #
328
+ # I/O
329
+ #
330
+ # =============================================================================
331
+ #
332
+
333
+
334
+ process_program_name = "lalburst_power_meas_likelihood"
335
+
336
+
337
+ def gen_likelihood_control(coinc_params_distributions, seglists, name = process_program_name, comment = ""):
338
+ xmldoc = ligolw.Document()
339
+ node = xmldoc.appendChild(ligolw.LIGO_LW())
340
+
341
+ process = ligolw_process.register_to_xmldoc(xmldoc, program = process_program_name, paramdict = {}, version = __version__, cvs_repository = "lscsoft", cvs_entry_time = __date__, comment = comment)
342
+ coinc_params_distributions.process_id = process.process_id
343
+ ligolw_search_summary.append_search_summary(xmldoc, process, ifos = seglists.keys(), inseg = seglists.extent_all(), outseg = seglists.extent_all())
344
+
345
+ node.appendChild(coinc_params_distributions.to_xml(name))
346
+
347
+ process.set_end_time_now()
348
+
349
+ return xmldoc