Metadata-Version: 2.5
Name: lone-ranger
Version: 0.4.0
Summary: Inspiral range calculation elements for sgn
Project-URL: Homepage, https://git.ligo.org/detchar/sgn-dq/lone-ranger
Project-URL: Documentation, https://detchar.docs.ligo.org/sgn-dq/lone-ranger
Project-URL: Repository, https://git.ligo.org/detchar/sgn-dq/lone-ranger.git
Project-URL: Issues, https://git.ligo.org/detchar/sgn-dq/lone-ranger/-/issues
Author-email: Zach Yarbrough <zach.yarbrough@ligo.org>
Maintainer-email: Zach Yarbrough <zach.yarbrough@ligo.org>
License-Expression: GPL-3.0-or-later
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.11
Requires-Dist: arrakis>=0.18.1
Requires-Dist: gwpy>=3.0.8
Requires-Dist: lalsuite>=7.26
Requires-Dist: numpy
Requires-Dist: scipy>=1.10
Requires-Dist: sgn-arrakis>=0.9.0
Requires-Dist: sgn-dq>=0.3.1
Requires-Dist: sgn-ligo
Requires-Dist: sgn-ts>=0.14.2
Requires-Dist: sgn>=0.12.2
Requires-Dist: sgnmon>=0.2.1
Provides-Extra: dev
Requires-Dist: markdown-callouts>=0.2; extra == 'dev'
Requires-Dist: markdown-exec>=0.5; extra == 'dev'
Requires-Dist: mkdocs-coverage>=0.2; extra == 'dev'
Requires-Dist: mkdocs-gen-files>=0.3; extra == 'dev'
Requires-Dist: mkdocs-literate-nav>=0.4; extra == 'dev'
Requires-Dist: mkdocs-material-igwn; extra == 'dev'
Requires-Dist: mkdocs-section-index>=0.3; extra == 'dev'
Requires-Dist: mkdocs>=1.3; extra == 'dev'
Requires-Dist: mkdocstrings[python]; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: mypy-extensions; extra == 'dev'
Requires-Dist: pip; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: toml>=0.10; extra == 'dev'
Provides-Extra: docs
Requires-Dist: markdown-callouts>=0.2; extra == 'docs'
Requires-Dist: markdown-exec>=0.5; extra == 'docs'
Requires-Dist: mkdocs-coverage>=0.2; extra == 'docs'
Requires-Dist: mkdocs-gen-files>=0.3; extra == 'docs'
Requires-Dist: mkdocs-literate-nav>=0.4; extra == 'docs'
Requires-Dist: mkdocs-material-igwn; extra == 'docs'
Requires-Dist: mkdocs-section-index>=0.3; extra == 'docs'
Requires-Dist: mkdocs>=1.3; extra == 'docs'
Requires-Dist: mkdocstrings[python]; extra == 'docs'
Requires-Dist: toml>=0.10; extra == 'docs'
Provides-Extra: lint
Requires-Dist: mypy; extra == 'lint'
Requires-Dist: mypy-extensions; extra == 'lint'
Requires-Dist: pip; extra == 'lint'
Requires-Dist: ruff; extra == 'lint'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Description-Content-Type: text/markdown

<h1 align="center">lone-ranger</h1>

<p align="center">Inspiral range calculation elements for <a href="https://git.ligo.org/greg/sgn">sgn</a></p>

<p align="center">
  <a href="https://git.ligo.org/detchar/sgn-dq/lone-ranger/-/pipelines/latest">
    <img alt="ci" src="https://git.ligo.org/detchar/sgn-dq/lone-ranger/badges/main/pipeline.svg" />
  </a>
  <a href="https://git.ligo.org/detchar/sgn-dq/lone-ranger/-/pipelines/latest">
    <img alt="coverage" src="https://git.ligo.org/detchar/sgn-dq/lone-ranger/badges/main/coverage.svg" />
  </a>
  <a href="https://detchar.docs.ligo.org/sgn-dq/lone-ranger">
    <img alt="documentation" src="https://img.shields.io/badge/docs-mkdocs%20material-blue.svg?style=flat" />
  </a>
</p>

---

`lone-ranger` unifies the two streaming inspiral-range calculations previously
carried by [`sgn-dq`](https://git.ligo.org/detchar/sgn-dq/sgn-dq) and
[`sgn-ligo`](https://git.ligo.org/greg/sgn-ligo):

- **`lone-ranger-sensemon-range`** — the "sensemon" range detector
  commissioners are used to: a Welch *mean* PSD estimated directly from
  calibrated strain, fed through the waveform-model horizon distance
  (previously `sgn-dq-sensemon-range`).
- **`lone-ranger-ll-dq`** — the low-latency range history tracker: the
  whitener's running-*median* PSD fed through the same horizon-distance model
  (previously `sgn-ligo-ll-dq`).

Both evaluate the waveform-model horizon distance from
[`sgnligo.psd.HorizonDistance`](https://git.ligo.org/greg/sgn-ligo) for a
1.4 + 1.4 M<sub>☉</sub> binary neutron star at SNR 8, but they deliberately
preserve the conventions of the tools they replace and are **not
interchangeable**:

|                       | `lone-ranger-sensemon-range` | `lone-ranger-ll-dq`     |
|-----------------------|------------------------------|-------------------------|
| PSD estimate          | Welch **mean** of calibrated strain | whitener running-**median** |
| Angle-average divisor | 2.26                         | 2.25 (historical)       |
| Default approximant   | `TaylorF2`                   | `IMRPhenomD`            |
| Default band          | 10–1400 Hz                   | 15–900 Hz               |
| Matches               | DMT / control-room range     | low-latency search range history |

See the [Range Conventions](https://detchar.docs.ligo.org/sgn-dq/lone-ranger/user/conventions/)
page for the full definitions and citation guidance.

## Resources

* [Documentation](https://detchar.docs.ligo.org/sgn-dq/lone-ranger)
* [Source Code](https://git.ligo.org/detchar/sgn-dq/lone-ranger)
* [Issue Tracker](https://git.ligo.org/detchar/sgn-dq/lone-ranger/-/issues)

## Installation

```
pip install lone-ranger
```
