【发布时间】:2018-12-29 02:07:49
【问题描述】:
-
我正在进行中微子研究,这需要我通过叠加直方图来进行数据分析。我们正在使用ROOT。我目前正在尝试将以下代码从 C++ 转换为 pyroot:
#include "TFile.h" #include "TH1F.h" #include "TCanvas.h" #include "TString.h" void myscript() { //get a histogram named vtx_0 from the file 5A_data TFile* file = TFile::Open("5A_data"); TH1F* hist = file->Get("vtx_0"); TCanvas* canvas = new TCanvas("c1", "Dynamic Filling Example", 200, 10, 700,500); hist->Draw(); } -
这是我目前的代码,用 python 重写:
from ROOT import TFile, TH1F, TCanvas, TString def myscript(): #get vtx_0 from 5A_data TFile file1 = open("5A_data") TH1F hist = 我对 Python 的了解有限。上面的 Python 代码主要是通过查看各种在线示例创建的,因此我什至不确定到目前为止我所写的内容是否正确。
-
我最需要并且在网上找不到的是如何将 C++ 中的以下行转换为 Python 中的等价行。
TH1F* hist = file->Get("vtx_0");
如何做到这一点?
- 此外,如果您发现到目前为止我编写的 Python 代码有任何问题,请告诉我我做错了什么以及如何解决它。谢谢。
【问题讨论】:
标签: python c++ root-framework pyroot