# コマンドリファレンス

`haniwers` で利用できる主要なコマンドについて解説します。

## 測定ワークフロー関連コマンド

データ収集は、主に以下の4つのコマンドを順番に実行することで進められます。

### 1. `haniwers scan`

**目的**: 検出器の最適な閾値（スレッショルド）を見つけるための測定を行います。

**基本的な使い方**:
```bash
haniwers scan
```

**概要**:
電圧を少しずつ変えながら、各電圧値での宇宙線イベント数を測定します。結果は `threshold_scan.csv` のようなファイル名で保存されます。測定範囲や時間はオプションで変更可能です。

---

### 2. `haniwers fit`

**目的**: `scan` の測定結果を元に、統計的な計算を行い、最適な閾値を推奨します。

**基本的な使い方**:
```bash
haniwers fit <scan結果のディレクトリ名>
```

**概要**:
スキャン結果のカーブをエラー関数でフィッティングし、ノイズと信号の境界となる最適な閾値を $1 \sigma$, $3 \sigma$, $5 \sigma$ などの信頼度水準で出力します。

---

### 3. `haniwers vth`

**目的**: `fit` で推奨された閾値を、実際に検出器に設定します。

**基本的な使い方**:
```bash
haniwers vth
```

**概要**:
カレントディレクトリにある `thresholds_latest.csv` （`fit` コマンドで生成される）を読み込み、検出器の各チャンネルに閾値を書き込みます。チャンネルと値を個別に指定することも可能です。

---

### 4. `haniwers daq`

**目的**: 設定された閾値で、本番のデータ収集（Data Acquisition）を開始します。

**基本的な使い方**:
```bash
haniwers daq
```

**概要**:
データ収集を開始し、結果を `YYYmmdd/` のような日付のディレクトリに保存します。設定は `daq.toml` ファイルでカスタマイズできます。
