如何打开根文件(ROOT Framework)

时间:2016-01-14 14:18:48

标签: file frameworks analysis root-framework

如何在C ++代码中打开.root文件?并使用终端上的C ++代码从.root文件中读取和打印参数?

3 个答案:

答案 0 :(得分:2)

您需要安装ROOT(https://root.cern.ch/

然后你有几个选项,最简单的是只需在控制台输入就可以在解释器中打开它:

root your_file.root

您可以在浏览器中查看它,输入:

TBrowser b

从脚本/ C ++代码中打开它并获取存储在其中的树:

#include "TFile.h"
#include "TTree.h"

TFile *f=new TFile("your_file.root");
TTree *tr=(TTree*)f->Get("the_tree_name");

答案 1 :(得分:1)

如果您被限制在终端(即无法访问X服务器),那么您可以使用类似

的内容
root -l myfile.root
root [0] .ls
<...>
KEY: TTree tree;1 Demo ntuple
root [1] tree->Scan("parameter")

(参见root用户指南的section 11)。

根据您要打印的参数类型,您可能还需要考虑myObject->Print()(从命令行会话中点击myObject->[tab])。

如果您可以使用图形用户界面(例如ssh -Y),那么来自@ asen-christov的答案就是您的选择。

答案 2 :(得分:0)

我通常只保存一个文件(例如try.cpp) 然后在终端上,我只输入root -l try.cpp 打印并扫描(如以上答案所示)会打印您需要的内容。

TBrowser b向您显示.root文件中的内容(树,树枝和树叶)