cernroot将.txt转化成.root
时间: 2024-05-07 11:20:24 浏览: 270
CERN ROOT是一个开源的软件框架,主要用于高能物理数据分析。可以使用CERN ROOT提供的TTree类将文本文件(如.txt)转换为ROOT文件(.root)。
下面是一个简单的例子,演示如何使用TTree类将.txt文件转换为.root文件:
```c++
#include <iostream>
#include "TFile.h"
#include "TTree.h"
using namespace std;
int main()
{
// 打开输入文件
ifstream infile("input.txt");
// 创建输出文件
TFile *outfile = new TFile("output.root", "RECREATE");
// 创建TTree对象
TTree *tree = new TTree("tree", "My Tree");
// 声明变量
int x;
double y;
// 将变量与TTree的branch关联
tree->Branch("x", &x, "x/I");
tree->Branch("y", &y, "y/D");
// 读取输入文件,将数据写入TTree
while (infile >> x >> y)
{
tree->Fill();
}
// 写入TTree到输出文件
outfile->Write();
// 关闭文件
infile.close();
outfile->Close();
return 0;
}
```
在上面的例子中,我们打开了一个名为input.txt的文本文件,然后创建了一个名为output.root的ROOT文件。我们创建了一个TTree对象,并声明了两个变量x和y,它们分别对应文本文件中的两列数据。我们将这些变量与TTree的branch关联,然后读取输入文件并将数据写入TTree。最后,我们将TTree写入输出文件,关闭文件并结束程序。
当然,这只是一个简单的例子,实际应用中可能需要更复杂的数据结构和转换操作。CERN ROOT提供了丰富的类和工具,可以满足不同的需求。
阅读全文