No streamer or dictionary error when creating tree for PYTHIA event

I configured PYTHIA 8.3.06 with ROOT 6.24/02. I was testing the example main92.cc, for the creation of Ttrees storing pythia events. I had modified nothing, I just run:

make main92
./main92 > main92.out

The line "T->Branch(“event”,&event); in main92.cc causes the following error to occur:

Error in TStreamerInfo::Build: Pythia8::Event: Pythia8::ParticleData* has no streamer or dictionary, data member particleDataPtr will not be saved
Error in TStreamerInfo::Build: The class “Pythia8::ParticleData” is interpreted and for its data member “pdt” we do not have a dictionary for the collection “map<int,Pythia8::ParticleDataEntry>”. Because of this, we will not be able to read or write this data member.

etc… (other messages of the same kind with other pythia classes and objects)

If needed, I’m working on ubuntu 20.04 and both the pythia8306 and root directories are in home.

I think I got the solution. The main must be guided to find the adequate shared library. For the specific case of main92.cc, 2 lines were needed before defining the branch:

if (!TClassTable::GetDict(“Pythia8::Event”)) {
gSystem->Load("/home/stefano/pythia8306/examples/main92.so");
}

where of course stefano is in my specifc case. Note: the full path was required.
Of course it is also needed to include TClassTable.h and TSystem.h.

1 Like

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