从TTree创建直方图
我试图从只包含一个变量的TTree创建一个1D直方图从TTree创建直方图,tree,histogram,root-framework,Tree,Histogram,Root Framework,我试图从只包含一个变量的TTree创建一个1D直方图 TTree *tree = new TTree("tree", ""); tree->ReadFile("occupancyPerDataset.txt", "size"); TH1F *occupancy = new TH1F("occupancy", "Occupancy per Dataset", 100, 0, 0.063) 在上面,您可以看到我创建了树并用.txt文件中的数据填充它。然后,我创建了一个直方图,上面
TTree *tree = new TTree("tree", "");
tree->ReadFile("occupancyPerDataset.txt", "size");
TH1F *occupancy = new TH1F("occupancy", "Occupancy per Dataset", 100, 0, 0.063)
在上面,您可以看到我创建了树并用.txt
文件中的数据填充它。然后,我创建了一个直方图,上面有我需要的箱子数量,x\u low
和x\u high
。当我试着去做
occupancy->Fill(tree);
或
我犯了一个错误。有什么建议吗?TH1的
Fill
方法(TH1F是子类)没有将树作为参数
您有两个选择:
tree->MakeClass(“MYTREE”)
然后通过添加
occupancy->Fill(VARIABLENAME);
并执行生成的代码有几个选项可用于从TTree对象绘制和提取直方图,其中几个选项可在根教程中找到,根教程可以在线或本地(如果已安装教程)在$ROOTSYS/tutorials/tree/下找到。基本C2示例可能有助于您尝试执行的操作。还有
TTree
类中的Project
方法。
occupancy->Fill(VARIABLENAME);
tree->Draw("VARIABLENAME>>HISTOGRAMNAME");