RDataFrame multi file with class branch bug report


_ROOT Version: 6.22.08 - 6.24.00
_Platform: test on mac os Big Sur. and ubuntu 18.04
_Compiler: conda version, complier by oneself


Hi all:

if I have a class with two members. I could not saving one of the member using RDataFrame correctly with multi input files.

My code is belowing
tmp2.cpp (1.1 KB)

I cannot save part of struct correctly.

the out put was

1.0
0.0 <= the second file output error.

However
If I use aData.Snapshot("t1","o1.root"}; to save all the struct instead of part of it aData.Snapshot("t1","o1.root","x"} It’s fine.

could anyone tell me the reason?

Hi @cxwx1 ,
I ran tmp2.cpp as root tmp2.cpp after uncommenting aData.Snapshot("t1", "o1.root");, and it prints

1
1

for me. This is with ROOT master compiled from source and with v6.24 installed via conda.
Can you reproduce the issue e.g. on LXPLUS?

Cheers,
Enrico

EDIT:
ah no I misread, the one that does not work is aData.Snapshot("t1","o1.root","x"}. I can reproduce it, work in progress

EDIT 2:
just to double-check, you also see the following warning in the broken case?

Warning in <TChain::CopyAddresses>: Could not find branch named 'xy' in tree named 't1'

below line is also seen by me.

Warning in <TChain::CopyAddresses>: Could not find branch named 'xy' in tree named 't1'
1
6.94107e-310

It seems the second file I cannot find the branch correctly

and if I comment

//    ClassDef(xy_t,1);

problem solved. So I thought it’s rootling problem

I’m still not sure what’s causing the problem exactly, but this is now TChain::AddClone failing for sub-branches of branch of type with ClassDef · Issue #8295 · root-project/root · GitHub , with a non-RDF reproducer.

Work in progress :slight_smile:

1 Like

OK, let’s move the issus to github
cheers

This is fixed in current master (future v6.26) and in the v6.24 patches branch (upcoming 6.24/02 release).

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.