Fermi(nasa)の解析法(簡易)


あまり参考にならないかもしれませんが載せておきます。
もし真似されるのであれば自己責任でお願いします。
(当然ですがNASAのページの方が詳しく、的確で、わかりやすいです)

installはこっから
installの方法はこれを参考に

まぁリンク先をそのまま実行すればinstallは完了するのですが、要約すると...
一番上のリンクから32bit,64bit,MAC OSのどれか自分のPCにあったものを選び、ダウンロード。容量がデカいのでしばらく待ちます。
OSがScientific LinuxやMACでないのならソース(The package with the source distribution is here.と書いてあるところ)からinstallしてください。
ダウンロードしたら/usr/local/src/あたりにもっていく。
#mv filename.tar.gz /usr/local/src
んでそこで解凍します。
#cd /usr/local/src
#tar zxvf filename.tar.gz
解凍なう、という表示がされまくった後に解凍されたディレクトリができているでしょう。
解凍したディレクトリにcdで入っていくと中にBUILD_DIRというディレクトリがあるはず。そこにcdで入ります。
#cd filename/directory_name/BUILD_DIR/
BUILD_DIRに入ったらconfigureというファイルがあるはず。ファイルがあることを確認したら
#./configure
を実行。ログが欲しいなら./configure > config.out 2>&1とかにすればok。
完了したら、(OSによってfilenameは違いますが)自分のhome下の.bashrc(~/.bashrc)か/etcのbashrc(/etc/bashrc)に
bash/sh タイプなら
export FERMI_DIR=[installed-directory]
source $FERMI_DIR/fermi-init.sh

tcsh/csh タイプなら
setenv FERMI_DIR [installed-directory]
source $FERMI_DIR/fermi-init.csh

を書き加えてください。
([installed-directory]は/usr/local/src/ScienceTools~~~~/ディレクトリ/の部分です。ディレクトリの下にfermi-init.sh or fermi-init.cshがあるように設定してください。)
(MAC OSの方は更にすることがあるので上記"installの方法はこれを参考に"の下のNote.を参照してください)。
なお私はexportしたfermi-init.shをaliasでferminitとして使っています(bashrcに追記)。
alias ferminit="source $FERMI_DIR/fermi-init.sh"
端末を開いてferminitを実行し、fermi用のコマンドであるgtvcutを実行してcommand not foundと言われなければ成功です。
失敗した場合はbashrcのPATHを再確認してください。(~~.so.~~ がないと言われたときは下記の方法を試してみる)。

もしFermi toolとheasoftをinstallし、ferminit(fermi toolsのexport)後、heainit(heasoftのexport)をして エラー(以下)が起きたときは このページ を参照してください。
エラーは次のようなものです。
gtvcut: /usr/local/src/heasoft-6.13/x86_64-unknown-linux-gnu-libc2.5/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by gtvcut)

installは完了しているとして、下に続きます。
fv(fits viewer)やheasoftを入れておけばFermi解析の手助けとなるので入れておくとよいでしょう。

NASAのFermi衛星のページ から
->[FSSC]->[Data]->[Dara Access](解析方法はData Analysis)->[LAT Dara Sever]
に行き、天体名、取得する範囲(対象天体を中心とした度数、入力しないと15deg)、期間、Energy(入力しないと0.1-300GeV)を入力
->[Start Search]をクリックし表の下のhttp://fermi........?id=....とか書いてるリンクをクリック。
->下のAvailableをクリックしてファイルを取得。(その下に書いてあるようにwgetでも取得可能)。

尤度解析の方法はここ(Likelihood Tutorial)を参照。

とりあえずターミナルを開いてferminitを実行。
エラーが出た場合はPATHが間違っている可能性があります。
また解析中に「~~.so.~~がない」と言われた場合はlib内の同じタイプのファイルのリンクを張ると解決すると思います。
例えば「error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory」と
libreadline.so.5がないと言われ、lib内にlibreadline.so.6がある場合は例えば
#ln -s /lib64/libreadline.so.6 /lib64/libreadline.so.5
とlibreadline.so.6をlibreadline.so.5と認識させればエラーは消えるでしょう。

1.もってきたデータの~~PH~~とか~~SC~~とかが分離しているならlsとかで一つのテキストファイル(リスト)にまとめる。
2.gtvcutコマンドでPHファイルを見てみる。->RA,DECとか解析期間(MET)などが書いてある。 PHファイルが分離しているならば、PHファイルを使うとこは1.のテキストファイル(リスト)を使用すること。
(各コマンドはこちらを参照)
3.gtselectコマンドで必要な期間やEnergyを切り出す(select)。gtselectのfitsファイルを作成。このファイルをPHファイルの代わりにgtmktimeで用いる。
4.gtmktimeコマンドでSCファイルの組み合わせ、filter設定。gtmktimeのfitsファイルを作成。ここで作成されたファイルを以下ではPHファイルの代わりに用いる(gtselectの出力ファイルは使わない)。
5.(やらなくてもいいけど)gtbinコマンドでCMAP->カウントマップ作成。LC->簡易ライトカーブ作成(バックグラウンド等は引けてないのであまり信用はできない)。など。
6.gtltcubeコマンドでlive timeの計算。ltcubeのファイル作成。gtexpmap等で使用。
7.gtexpmapコマンドでexposure mapを作成。作成されたfitsファイルをgtlike等で使用。
8.modelファイル(xmlファイル)を作成する。modeleditorコマンドでGUIでの作業ができる。ファイルは~~.xmlとなる。

基本的にはmodelファイルには解析対象をspectrum typeを指定してPoint Sourceとして入れ、他には解析範囲(deg)内のcatalogに載っている天体を同様にPoint Source、galactic diffuseやisotropic diffuseをdiffuseとして入れる。
Spectrum Typeはここ。 GALやISOはここを参照(GALがgal_~.fits、ISOがisotropic_~.txt)。

9.gtlikeコマンドでFlux(Integral Flux)等を算出。gtlikeコマンドの後にオプションでplot=yesと入れればfitが、sfile=~~.xmlとすればgtlikeの結果を反映したxmlファイルを生成できる。
追記:make2fglxml.pyを使うと解析半径内の2FGL catalog sourcesを2FGL catalogのパラメータでnormalizaionやIndexをfreeの、解析半径+5度の領域の2FGL catalog sourcesは2FGL catalogの値で全パラメータfixとしてxmlファイルを作成できます。
まずはOptimizerをDRMNFBとしてgtlikeを行い(xmlファイルをDRMNFBの結果で上書きするか、他に出力しておくこと)、できたxmlファイルを使って再度Optimizer=NEWMINUITでgtlikeを行う。

gtselectで時間やEnergyを切ってそれぞれを解析すれば(自動解析スクリプトを作るなりして)光度曲線やSEDが描けます。(Differential Fluxの誤差はSpectrum Typeを元に自分で算出、または論文を探してくること)。
基本的にはgtlikeで上手くfittingすることを目指すわけですが、他にもgtfindsrcというxmlファイルに書いたPoint Sourceの最尤な位置を決定をするコマンドや、 gttsmapというTS値(実質σの二乗と同じ値)マップを表示させるコマンドなどがあります(gttsmapは隠れたガンマ線源を探すときやdiffuse成分を除去するのに有効。gttsmapツールはLikelihood Tutorialの最後に例が載っています)。