首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根: TTreeReader和TVector3

根: TTreeReader和TVector3
EN

Stack Overflow用户
提问于 2017-11-14 00:52:54
回答 1查看 288关注 0票数 0

我希望对ROOT的TTreeReader和TVector3类有一定了解的人能帮助我。

我正在尝试使用TTreeReader来读取包含TVector3的TTree。

代码语言:javascript
复制
class MuseSelector : public TSelector {
public : 

    TH1D* h_doca_;
    TH1D* h_vertex_z_;

    TTreeReader fReader;
    TTreeReaderValue<double> mDoca;
    TTreeReaderValue<TVector3> mVertex;

    MuseSelector(TTree * = 0): mDoca(fReader, "recon_doca"), mVertex(fReader, "recon_vertex") {}

    virtual ~MuseSelector() {}
    virtual void    Init(TTree *tree);
    virtual void    SlaveBegin(TTree *tree);
    virtual Bool_t  Process(Long64_t entry);
    virtual void    Terminate();
    virtual Int_t   Version() const { return 2; }

    ClassDef(MuseSelector,0);

};

void MuseSelector::Init( TTree *tree)
{

    fReader.SetTree(tree);

}

void MuseSelector::SlaveBegin(TTree *tree)
{

    h_doca_ = new TH1D("h_doca_", "", 100, 0, 100);
    h_vertex_z_ = new TH1D("h_vertex_z_", "", 50, -100, 100);
    GetOutputList()->Add(h_doca_);
    GetOutputList()->Add(h_vertex_z_);

}

Bool_t MuseSelector::Process(Long64_t entry)
{

    fReader.SetEntry(entry);

    h_doca_->Fill(*mDoca, 1);
    h_vertex_z_->Fill((*mVertex)->z(), 1);

    return kTRUE;

}

void MuseSelector::Terminate()
{


    h_doca_->Print();
    h_doca_->Draw();
    h_vertex_z_->Draw();

}

我在ROOT中使用以下命令运行这个类:

代码语言:javascript
复制
TChain *fChain = new TChain("T"); fChain->AddFile("anamuse.root");
fChain->Process("MuseSelector.C");

其中anamuse.root包含一个名为"T“的树,其中包含一个TVector3。

当我运行它的时候,我得到了这个错误。

代码语言:javascript
复制
Error in <TTreeReaderValueBase::GetBranchDataType()>: Unknown type and class combination: -1, TVector3
Error in <TTreeReaderValueBase::CreateProxy()>: The branch recon_vertex contains data of type {UNDETERMINED TYPE}, which does not have a dictionary.

任何帮助都将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-11-23 03:46:43

在根论坛上讨论的结论是:这是一个bug,它已经修复了一段时间,例如6.10.08已经修复了。升级ROOT,它就可以工作了!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47269543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档