Size: 3240
Comment:
|
Size: 3241
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
KAGRA DetCharグループで開発中の最新のmoduleはgithubから見ることができる | KAGRA !DetCharグループで開発中の最新のmoduleはgithubから見ることができる |
HROOTを用いたplotツールの開発
ソースコード KAGRA DetCharグループで開発中の最新のmoduleはgithubから見ることができる PlotUtilsHROOT.hs
解決すべき問題点
1. TGraphを使ってplotしたときにline, width, color, Markerを変更するオプションが効かない
- これらを使うタイミングはROOTと同じ順序だと思って使ってみると、コンパイル時にエラーも出ず、実行時にもエラーは出ない しかし上記のオプションが効いている様子はない 具体的には サンプルコードを に置いた
2. TGraphで作ったグラフにLabelを付ける
- これはHROOTにこれらを追加するオプションを見つけられなかった 現状HROOT開発者の対応を待つか、こちらでどうにかするしかない
3. TH2Fでcontourの色合いを変更することができない
- 例えば、T-F平面で色合いがSNRを表す2次元のcontour mapを書いたときに、SNRの色合いを変更できない ROOTでそれを変更する関数は、
gStyle->SetPalette(1);
参考 : http://root.cern.ch/root/html/THistPainter.html 端山さんのMacでは上記のトラブルは起こっていないが、任意に色を変更することができないのは問題 サンプルコードは以下の場所にある
4. plot関数を2度呼び出すと、tapplication型のtappを新規に宣言しようとする(newTApplication)
- しかしROOTはTApplication型の変数を1つのプログラムで1度しか使えないようになっているので エラーが出てプログラムが強制終了される
DetCharの記事にも書いた(2番目の項目)
http://gwclio.icrr.u-tokyo.ac.jp/lcgtsubgroup/detectorcharacterization/2014/05/hrootplot4.html 解決方法としては、C言語でいうところのglobal変数としてTApplication型のtappを宣言する monadを使えば、それと同じことができるという記載を発見したので、現在monadについて理解を進めている
5. ROOTのリアルタイムプロットの関数を使いたい
- ROOTのTGraphを用いてプロットをするときに、 データ点を追加して行くと、以前からあるデータはそのままにして、追加されたデータ点のみを書き足すというかなり効率的な仕組みになっている しかしHaskellでは一度変数やリストに何かを代入するとそれを変更することができないため、上記のようなリアルタイムプロットを行うことができないと思われる HROOTの中にリアルタイムプロットを行うような関数が実装されているのか調べ、使い方を理解する必要がある