从ROOT的histgraph中读取直方图转成txt格式

#include <iostream>
#include <fstream>
using namespace std;
void root2txt(const char *rootfilename,const char *txtfilename)
{
  TFile *file = new TFile(rootfilename,"READ");//"RECREATE" "READ"
  if(!file->IsOpen())
    {
      std::cout<<"Can't open root file"<<std::endl;
    }
 
  TH1I *hEner_00 = (TH1I*)file->Get("hEner_00");


  // write txt file
  int count[5000];
  for (int i = 1; i <= 4096; ++i)
      {
  	count[i] = int(hEner_00->GetBinContent(i));
  	
      }
  

  ofstream myfile;
  myfile.open(txtfilename,ios::out); 
  if(myfile.is_open()) 
  {
     cout<<"file open successful"<<endl;
      for(int i=1;i<=4096;++i)
	{
	  myfile<<i<<" "<<count[i]<<endl;
	}
    }
      myfile.close();

  file->Close();
}

用法:root

.L tran.C

root2txt("rootname","txtname")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值