Skip to content

Open issues in ROOT for Friends support

The following discussion from !44 (merged) should be addressed:

  • @lmoureau started a discussion:

    This MR exposes several bugs in ROOT:

    1. TTree::LoadTree doesn't update its branches when its friends are updated. This prevents using a TChain as a friend of a TTree. We could try and perform forced updates from SlicedFriendElement.
    2. TChain::LoadTree only considers friends of the current tree if the chain also has a friend list. By default the list is null. I work around this by creating an empty friend list in ChainSlice.
    3. TChain::LoadTree cannot see updates in friends of the current tree because TTree::LoadTree calls ResetUpdated() before the chain has a chance to check. I work around this with some Notify() magic in SlicedFriendElement.
    4. When TChain::LoadTree loads a new file, it doesn't reset the updated flag on friends of the new file (though the file itself does). This should be kept in mind when fixing the previous issue.

    I guess I should report them now...

    All tests pass with the latest version of this MR, so TTree::GetEntry appears to be working correctly.