Most efficient way to slice TTree in one variable

These Bus error, error flushing file and “get kills if too many data”, I cannot reproduce on my machine, so I would attribute them to hitting some quota limits on lxplus or the machine you run on (or I need help to reproduce them). A workaround might be run on a few slices at a time rather than all slices at the same time, see my last post.

I have been looking into the errors:

Error in <TBranchElement::SetAddress>: STL container with fStreamerType: 500
Warning in <TTree::CopyEntries>: The export branch and the import branch do not have the same streamer type. (The branch name is m_vector.)

which I can reproduce (and, occasionally, also result in a segfault). The problem is with the branches of type FCS_matchedcellvector, which multi-thread Snapshot does not deal with correctly. I don’t have a workaround other than turning off IMT for now, but we are actively investigating.

Also: is this Snapshot-based solution any better than your original code, in the end?

1 Like