Differences between revisions 2 and 3
Revision 2 as of 2014-05-26 17:10:41
Size: 259
Comment:
Revision 3 as of 2014-05-26 17:37:12
Size: 3240
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
KAGRA DetCharグループで開発中の最新のmoduleはgithubから見ることができる
[[https://github.com/gw-analysis/detector-characterization/blob/master/HasKAL/src/HasKAL/PlotUtils/PlotUtilsHROOT.hs|PlotUtilsHROOT.hs]]
Line 5: Line 7:
https://github.com/gw-analysis/detector-characterization/blob/master/HasKAL/src/HasKAL/PlotUtils/PlotUtilsHROOT.hs
Line 7: Line 8:
  * [[https://github.com/wavewave/HROOT|HROOTの開発者git]] '''解決すべき問題点'''

1. TGraphを使ってplotしたときにline, width, color, Markerを変更するオプションが効かない
 これらを使うタイミングはROOTと同じ順序だと思って使ってみると、コンパイル時にエラーも出ず、実行時にもエラーは出ない
 しかし上記のオプションが効いている様子はない
 具体的には

 サンプルコードを
 https://github.com/gw-analysis/detector-characterization/tree/master/attic/HROOT_opition_error
 に置いた


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では上記のトラブルは起こっていないが、任意に色を変更することができないのは問題
 サンプルコードは以下の場所にある
 https://github.com/gw-analysis/detector-characterization/tree/master/attic/contourPlot


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について理解を進めている

 http://itpro.nikkeibp.co.jp/article/COLUMN/20090303/325807/


5. ROOTのリアルタイムプロットの関数を使いたい
 ROOTのTGraphを用いてプロットをするときに、
 データ点を追加して行くと、以前からあるデータはそのままにして、追加されたデータ点のみを書き足すというかなり効率的な仕組みになっている

 しかしHaskellでは一度変数やリストに何かを代入するとそれを変更することができないため、上記のようなリアルタイムプロットを行うことができないと思われる
 
 HROOTの中にリアルタイムプロットを行うような関数が実装されているのか調べ、使い方を理解する必要がある

HROOTを用いたplotツールの開発

ソースコード KAGRA DetCharグループで開発中の最新のmoduleはgithubから見ることができる PlotUtilsHROOT.hs

解決すべき問題点

1. TGraphを使ってplotしたときにline, width, color, Markerを変更するオプションが効かない

2. TGraphで作ったグラフにLabelを付ける

  • これはHROOTにこれらを追加するオプションを見つけられなかった 現状HROOT開発者の対応を待つか、こちらでどうにかするしかない

3. TH2Fでcontourの色合いを変更することができない

4. plot関数を2度呼び出すと、tapplication型のtappを新規に宣言しようとする(newTApplication)

5. ROOTのリアルタイムプロットの関数を使いたい

  • ROOTのTGraphを用いてプロットをするときに、 データ点を追加して行くと、以前からあるデータはそのままにして、追加されたデータ点のみを書き足すというかなり効率的な仕組みになっている しかしHaskellでは一度変数やリストに何かを代入するとそれを変更することができないため、上記のようなリアルタイムプロットを行うことができないと思われる HROOTの中にリアルタイムプロットを行うような関数が実装されているのか調べ、使い方を理解する必要がある

KAGRA/Subgroups/DET/HROOT_tool (last edited 2014-07-08 03:25:19 by HirotakaYuzurihara)