Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
ja:root:wantto9 [GiriWiki]

ユーザ用ツール

サイト用ツール


ja:root:wantto9

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ja:root:wantto9 [2017/03/20 16:59]
kota
ja:root:wantto9 [2018/11/07 06:18] (現在)
kota
ライン 6: ライン 6:
 [[https://​root.cern.ch/​doc/​master/​classTTree.html|Rootのclass reference]]の”How to obtain more info from TTree::​Draw”のところに色々書いてある。\\ [[https://​root.cern.ch/​doc/​master/​classTTree.html|Rootのclass reference]]の”How to obtain more info from TTree::​Draw”のところに色々書いてある。\\
 <code cpp> <code cpp>
-  tree->​Draw("​Y:X",​Cut);//​一旦Drawしておく +  tree->​Draw("​X:Y",​Cut);//​一旦Drawしておく ​(普段の二次元ヒストグラムを描く時とは順番が違うのに注意) 
-  Int_t N = tree->​GetSelectedRows();​+  ​const Int_t N = tree->​GetSelectedRows();​//​Drawでselectionを通ったイベントの数を取ってくる
   TGraph *graph = new TGraph(N, tree->​GetV1(),​ tree->​GetV2());​   TGraph *graph = new TGraph(N, tree->​GetV1(),​ tree->​GetV2());​
 </​code>​ </​code>​
-TTree::​GetV1() ~ TTree::​GetV4() は、TTree::​Draw("​V1:​V2:​V3:​V4",​...) のV1,​...,​V4の Double_t 配列の先頭ポインタを返す。\\+TTree::​GetV1() ~ TTree::​GetV4() は、TTree::​Draw("​V1:​V2:​V3:​V4",​...) のV1,​...,​V4の Double_t 配列の先頭ポインタを返す。 
 + 
 +<​note>​ 
 +  あとでNを使って配列を作ろうとして、でも  
 +    const Int_t N = ...  
 +  としたんで怒られるので 
 +    static const Int_t N = ...  
 +  としたら、 Error:​ No memory for static N\0\0  なんてエラーが出てきた。 
 +   
 +  結局、const Int_t N = ... のままにして、配列を宣言するところで、 
 +    Double_t *X = new Double[N];​ 
 +  のように動的に確保することによって解決。 
 +  ※最後にdeleteを忘れないように。 
 +</​note>​ 
 N of Selected raw > 1000000 となるときは N of Selected raw > 1000000 となるときは
   tree->​SetEstimate(tree->​GetEntries()+1);​   tree->​SetEstimate(tree->​GetEntries()+1);​
ライン 17: ライン 31:
 を呼んでおけとある。 を呼んでおけとある。
  
 +TTree::​GetV1()などを変数で受けたい場合には
 +<​code>​
 +  Double_t *Val1 = tree->​GetV1();​
 +</​code>​
 +みたいにしておけばよいが、Val1は再びDrawが呼ばれたときに書き換わってしまう可能性があるため、注意が必要。
 +ポインタではなく値を渡すようにしていれば当然大丈夫。
 +
 +----
 パッとグラフっぽく見せたいだけなら、2次元ヒストグラムを描くノリでtreeのDrawオプションで"​P"​とか”PL”とかにすればいい。\\ パッとグラフっぽく見せたいだけなら、2次元ヒストグラムを描くノリでtreeのDrawオプションで"​P"​とか”PL”とかにすればいい。\\
 Drawの第一変数で"​Y:​X"​のように2変数を指定すると、 Drawの第一変数で"​Y:​X"​のように2変数を指定すると、
ja/root/wantto9.1490029155.txt.gz · 最終更新: 2017/03/20 16:59 by kota