I’m trying to use RDataFrame by using a TChain loaded with TTrees with different names in different files but it seems that when I set ROOT to EnableImplicitMT(), it seems to only read the first tree of the TChain. Here is an example to replicate the issue.
Error in <TTreeProcessorMT::Process>: An error occurred while getting tree tree1 from file f2.root: skipping this file.
count1 = 10
Error in <TTreeProcessorMT::Process>: An error occurred while getting tree tree2 from file f1.root: skipping this file.
count2 = 5
If I remove ROOT.ROOT.EnableImplicitMT(), the output looks what is expected:
It seems there is also a problem with loading different TTrees that are stored in the same file. It seems that RDataFrame would use the first TTree in the TChain repeatedly. There is no error message this time around. Here is an example to reproduce:
Hi Fikri,
thank you for the report and for the self-contained reproducers! At a first glance, this looks like this bug, that was recently fixed in master (and will be fixed in the upcoming ROOT v6.22).
Could you please check both of your reproducers on a ROOT nightly build (e.g. from lxplus source /cvmfs/sft.cern.ch/lcg/views/dev3/latest/x86_64-centos7-gcc8-dbg/setup.sh)?
Could you please check both of your reproducers on a ROOT nightly build (e.g. from lxplus source /cvmfs/sft.cern.ch/lcg/views/dev3/latest/x86_64-centos7-gcc8-dbg/setup.sh)?
I can confirm that both reproducers now work as expected with the nightly build. Thanks!