RDataFrame::Snapshot and TDirectory

Dear RDataFrame experts,

I am using an RDataFrame to create a mini-tree with events my analysis selelection. I create multiple such mini-trees, each corresponding to a different systematic variation. I would like to store each tree in the same file, but a different TDirectory. I am finding that this does not work with MT RDataFrame as demonstrated with the attached example and the output below. It seems that RDF does not check if the TDirectory in each thread and fails to save all of the data. Is this the expected behaviour?

dfsimple.cpp (1.2 KB)

kkrizka@roof ~/tmp $ ./dfsimple 4
Error in ROOT::Experimental::TBufferMergerFile::mkdir: An object with name test exists already
Error in ROOT::Experimental::TBufferMergerFile::mkdir: An object with name test exists already
Error in ROOT::Experimental::TBufferMergerFile::mkdir: An object with name test exists already
Error in ROOT::Experimental::TBufferMergerFile::mkdir: An object with name test exists already
0 34.6941
0 42.2615
test/testTree entries = 50000000
testTree entries = 100000000


Karol Krizka


Please read tips for efficient and successful posting and posting code

ROOT Version: 6.18/04
Platform: Gentoo Linux
Compiler: 9.1.0-r1


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