0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

XSPEC の `flux err` のデフォルト挙動が気になったのでソースコードを確認したメモ

0
Posted at

はじめに

XSPEC で model fit を行った後に

XSPEC> flux err

とすると、フラックスとその誤差が自動的に出力されます。
ただし、公式ドキュメント を見ても、この err オプションについて、デフォルトで何%の信頼区間なのか、内部でどのような設定が使われているのかは明示的には書かれていません。

気になったため、XSPEC に同梱されている ソースコードを直接確認したメモを残しておきます。

XSPEC はバージョンやビルド環境によって実装が変更される可能性があります。
本記事はあくまで筆者の環境で確認できた内容のメモであり、将来のバージョンでも同一であることを保証するものではありません。

(筆者の環境:XSPEC version 12.14.0h)

確認方法

flux コマンドの実装は、HEASoft に含まれる XSPEC のソースコードツリー内にあります。
代表的には、以下のファイルです。

heasoft-X.XX.X/Xspec/src/XSUser/Handler/xsFlux.cxx

(ここで heasoft-X.XX.X は、HEASoft のソースコードを展開したディレクトリを指します。)

このファイル中の XSGlobal::doFlux() 冒頭には、次のような定義があります。

static bool errorCalc (false);
static Real realArgs[3] = {2.,10.,0.};
static int nRealize (100);        // do 100 realizations for err option by default
static Real confidenceLevel(68.); // 1-sigma confidence level by default

この記述から、

  • エネルギー範囲のデフォルトは 2.0–10 keV(公式ドキュメントにも記載あり)

  • flux ... err では

    • 信頼区間は 68%
    • 内部で用いられる realization 数のデフォルトは 100

であることが分かります。
なお、errorCalc の初期値は false に設定されており、err を指定しない限り誤差計算は行われません。

補足:回数や信頼区間を変えるには

flux コマンドでは、最初の 2 つの数値でエネルギー範囲(keV)を指定し、その後に err の条件を指定できます。
公式ドキュメントにはこの書式が明示されていないため、ここでは一例を示します。

XSPEC> flux 5.0 7.0 err 200 90

この例では、5.0–7.0 keV のフラックスについて、realization 数を 200 回、信頼区間を 90% に設定した結果が出力されます。

まとめ

XSPEC の flux ... err では、ソースコード上で 68% confidence / 100 realizations がデフォルトとして設定されています。

ユーザーガイドに明示されていない点が気になったため、ソースコードを確認したというだけの簡単なメモですが、同じ疑問を持った方の参考になれば幸いです。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?