Skip to content

TBranchElement: no drilling through new members.#9913

Merged
pcanal merged 3 commits intoroot-project:masterfrom
pcanal:master-issue-9899
Feb 18, 2022
Merged

TBranchElement: no drilling through new members.#9913
pcanal merged 3 commits intoroot-project:masterfrom
pcanal:master-issue-9899

Conversation

@pcanal
Copy link
Copy Markdown
Member

@pcanal pcanal commented Feb 16, 2022

This resolved the problem seen at: https://github.com/cms-sw/cmssw/issues/36908#issuecomment-1036397481
and fix #9899.

The problem is the rules are applied to a data member nested inside an object nested inside
an STL collection that is a new data member of the class reco::HaloClusterCandidateHCAL,
since it is a new member compared to the layout on file, none of the objects; from the new
member down to the object on which the rules need to be run) are actually streamed and the
code gathering the information to run the rule got a bit lost ; it is likely (I am checking
as we speak) that in previous release the rule was not even attempted to be run ... which
might actually be the desired behavior in this specific case.

The solution is to have GatherArtificialElements stop drilling through data members which
are not stored in the existing TTree.

(thanks valgrind for pointing this out)
This resolved the problem seen at: cms-sw/cmssw#36908 (comment)
and fix root-project#9899.

The problem is the rules are applied to a data member nested inside an object nested inside
an STL collection that is a new data member of the class reco::HaloClusterCandidateHCAL,
since it is a new member compared to the layout on file, none of the objects; from the new
member down to the object on which the rules need to be run) are actually streamed and the
code gathering the information to run the rule got a bit lost ; it is likely (I am checking
as we speak) that in previous release the rule was not even attempted to be run ... which
might actually be the desired behavior in this specific case.

The solution is to have GatherArtificialElements stop drilling through data members which
are not stored in the existing TTree.
@pcanal pcanal requested a review from Axel-Naumann as a code owner February 16, 2022 23:50
@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Copy Markdown

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

Failing tests:

@pcanal pcanal merged commit 9d2e85a into root-project:master Feb 18, 2022
@pcanal pcanal deleted the master-issue-9899 branch February 18, 2022 04:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants