ROOTの2次元ヒストグラムの値をCSVファイルとして出力したいです。
以下のようなコードを書いて図が出力するところまで確認しているのですが、
k = h2->GetBinContent(i) の時点で値がすべて0となっています。
C++
1 2 3void NtuplePout(){ 4 TH2D *h2 = new TH2D("name","name",10,-300,300,10,0,3); 5 Coincidences->Draw("sinogramTheta:sinogramS>>h2","","colz"); 6 7 int x = h2->GetXaxis()->GetNbins()+2; 8 int y = h2->GetYaxis()->GetNbins()+2; 9 int k = 0; 10 11 ofstream outf("test.txt"); 12 13 14 for(int i=1; i<=x*y; i++){ 15 k = h2->GetBinContent(i); 16 if(k>0){ 17 printf("**********************"); 18 } 19 20 printf("%d",k); 21 outf<<k; 22 23 if(i%x==0){ 24 printf("\n"); 25 outf<<"\n"; 26 }else{ 27 printf(","); 28 outf<<","; 29 } 30 } 31 outf.close(); 32 return; 33}
何かおかしいところはございますか?
コマンド
root outout.root NtuplePout.C
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/22 01:32