There are some posts about this that are similar but their solutions didn’t seem to work for me… I created a simple class, jet.h, and I’ve saved it into a ttree as an array of jet objects.
jet m_jets[Max_jet_size];
TTree * towerntuple = new TTree(“towerntup”, “Ntuple”);
towerntuple->Branch(“jets”,m_jets, 32000, 0);
and then I try to read it
jet jets[10000];
t->SetBranchAddress(“jets”,&jets);
And then I get my error
Error in <TTree::SetBranchAddress>: Unable to determine the type given for the address for “jets”. The class expected (jet) does not have a dictionary and needs to be emulated for I/O purposes but is being passed a compiled object.Please generate the dictionary for this class (jet)
This class is already compiled, so I tried loading the library as
gSystem->Load(libjet.so)
but that didn’t do anything either.
The class is simple enough that I could technically break it up into a bunch of branches, but if there’s a solution here I’d like to know!
Thanks
ROOT Version: 6.28.04
Platform: Ubuntu 22.04
Compiler: gcc 11.3