The data of TTree leaves with red exclamation marks is not visible


Please read tips for efficient and successful posting and posting code

ROOT Version: 6.24/02
_Ubuntu 20.04.2
Compiler: Not Provided


All tree leaves in my root file are visible in Tbrowser except that which have exclamation marks. It shows nothing when double click on it.

It’s because the dictionary of the class has not been loaded (as mentioned here). And please don’t post several times the same question, it will not help more :wink:

Many thanks for identification of the problem. But how do I solve it? The dictionaries were automatically loaded previously in older version of root and ubuntu.

Can you show the tree and its leaves? How has this tree been created? With which classes?

o2clus_its.root (1.5 MB)
It is strange that the file has no issue on same root version on another PC. I have access to these leaves when I have to draw some data directly from root. But somehow in TBrowser these leaves do not responds(does not show any data in canvas) upon selection

So I don’t have any red exclamation mark, but I get those warnings:

Warning in <TClass::Init>: no dictionary for class o2::itsmft::CompClusterExt is available
Warning in <TClass::Init>: no dictionary for class o2::itsmft::CompCluster is available
Warning in <TClass::Init>: no dictionary for class o2::itsmft::ROFRecord is available
Warning in <TClass::Init>: no dictionary for class o2::InteractionRecord is available
Warning in <TClass::Init>: no dictionary for class o2::dataformats::RangeReference<int,int> is available
Warning in <TClass::Init>: no dictionary for class o2::dataformats::MCTruthContainer<o2::MCCompLabel> is available
Warning in <TClass::Init>: no dictionary for class o2::itsmft::MC2ROFRecord is available

And those errors when displaying some leaves:

Error in <TBufferFile::CheckByteCount>: object of class vector<o2::dataformats::MCTruthHeaderElement> read too many bytes: 262150 instead of 8
Warning in <TBufferFile::CheckByteCount>: vector<o2::dataformats::MCTruthHeaderElement>::Streamer() not in sync with data on file o2clus_its.root, fix Streamer()
Error in <TBufferFile::CheckByteCount>: object of class vector<o2::MCCompLabel> read too many bytes: 262150 instead of 8
Warning in <TBufferFile::CheckByteCount>: vector<o2::MCCompLabel>::Streamer() not in sync with data on file o2clus_its.root, fix Streamer()

So you might have the dictionary or the library containing the o2 class missing or ill formed. Maybe @pcanal can give more information about these errors
And can you show (or tell) what are the leaves with a red exclamation mark?

Here is what I get in the browser:
image

okay. you dont have those leaves
I have them under first tree after ITSClusterComp.mChipID
tree o2sim;1
branch ITSClusterComp
leaves getSensorID()
getRow()
getCol()
getPatternID()
getFlag()

1

So those are methods of the ITSClusterComp class, accessible if you have the dictionary loaded (which I don’t have). but one cannot draw anything using those methods. This has been changed by this commit Fix Jira #ROOT-9260 · root-project/root@56cfece · GitHub. So you probably have different ROOT versions showing those methods differently.

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