LoadTree如何在root中工作
How does LoadTree work in root?
我写了以下代码来在一些树中读取(这只是裸露的骨架,它正在开发中(:
~~included headers here
using namespace std;
void reconstruction::readtest(){
TFile *file = TFile::Open("file.root");
TTree* comp_tree = (TTree*)file->Get("_compress_tree");
TTree* compch_tree = (TTree*)file->Get("_compress_ch");
TChain* compchain = new TChain("_compress_tree");
compchain->Add("file.root");
TChain* chchain = new TChain("_compress_ch");
chchain->Add("file.root");
TH2D *hist = new TH2D("hist","hist",100,0,0.05,100,0,60);
Double_t _compression, _compressionU, _compressionV, _compressionY, _ch_compression;
Int_t _ch;
comp_tree->SetBranchAddress("_compression",&_compression);
comp_tree->SetBranchAddress("_compressionU",&_compressionU);
comp_tree->SetBranchAddress("_compressionV",&_compressionV);
comp_tree->SetBranchAddress("_compressionY",&_compressionY);
compch_tree->SetBranchAddress("_ch_compression",&_ch_compression);
compch_tree->SetBranchAddress("_ch",&_ch);
TH1D *comp = new TH1D("comp","_compression",100,0,0.05);
TH1D *comp_ch = new TH1D("comp_ch","channel compression",100,0,0.02);
Long64_t nentries = compchain->GetEntries();
for (int i=0; i<2 ; i++) {
Long64_t ientry = LoadTree(i);
if (ientry <0 ) break;
compchain->GetEntry(i);
cout << "compression = " << _compression << endl;
cout << "compression_ch = " << _ch_compression << endl;
comp->Fill(_compression);
comp_ch->Fill(_ch_compression);
}
cout << "entries = " << nentries << endl;
TCanvas *cans = new TCanvas("cans","xxx",800,400);
cans->Divide(2,1);
cans->cd(1);
comp_ch->Draw();
cans->cd(2);
comp->Draw();
}
我收到以下错误消息:
readtest.C:51:20: error: use of undeclared identifier 'LoadTree'
Long64_t ientry = LoadTree(i);
通过谷歌搜索,我开始明白我需要: some_class::LoadTree
但我完全不确定哪个类以及如何做到这一点......
只是想要一种方法来循环所有事件,并制作我的历史!
而不是
Long64_t ientry = LoadTree(i);
用
Long64_t ientry = compchain->LoadTree(i);
或
Long64_t ientry = chchain->LoadTree(i);
(这取决于您的哪个对象 - compchain
或chchain
- 您想使用 LoadTree(( 方法 - 我想这对compchain
来说也是如此。
相关文章:
- QSqlquery prepare()和bindvalue()不工作
- 导入库可以跨dll版本工作吗
- 以螺旋方式打印矩阵的程序.(工作不好)
- 对象指针在c++中是如何工作的
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- C++为线程工作动态地分割例程
- 为什么我的 std::ref 无法按预期工作?
- 布尔比较运算符是如何在C++中工作的
- SampleConsensusPrerejective(ext.RANSAC)是如何真正工作的
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 为什么std::condition_variable notify_all的工作速度比notify_one快(对于随机请
- <<操作员在下面的行中工作
- 有人能解释一下为什么下界是这样工作的吗C++的
- ExtractIconEx:可以工作,但偶尔会崩溃
- C++中的memset函数工作不正常
- 默认区域设置"root"在 ICU 中如何工作?
- LoadTree如何在root中工作
- 使GCC 5.1.0以非root用户与CUDA 7.5一起工作