TSelector, TTreeReader and fChain.SetEntry

Hi,

I had some trouble when running a TSelector on a TChain, namely the error

Warning in < *TTreeReader::SetEntryBase* ()>: The *current tree in the TChain* ntp has changed
and a very slow running on any other than the first tree in the chain.

What solved the problem for me (and took me quiet a while) was to replace

fReader.SetEntry(entry);

by

fReader.SetLocalEntry(entry);

in TSelector::Process, which also is recommended in the documentation of TTreeReader. Since the auto-generated code of TTree::MakeSelector generates SetEntry rather SetLocalEntry, I’d suggest to patch TTreeReaderGenerator (where it seems to be implemented) accordingly.

Or is there some other effect I missed by changing SetEntry to SetLocalEntry?

Best,
Klaus


_ROOT Version: 6.06/02
Platform: Linux Debian 8.11
Compiler: Not Provided


The problem with SetEntry vs SetLocalEntry has been resolved in the master, v6.16, and v6.14 and v6.12 patch branches.