Dear Users,
using RDataFrame and Foreach tools to read data from a TTree I wrote the following code:
ROOT::RDataFrame particles("INPUT_particle", input_data);
std::vector<std::vector<ExpParticle>> allParticles;
particles.Foreach( [&] (int event, int track, std::string particle)
{
ExpParticle current_particle(event, track, particle);
// doing stuff to get correct index to place in allParticles from outside...
int index;
allParticles[index].push_back(current_particle);
}, {"event", "track", "particle"}
);
I get the following error:
Error in TTreeReaderValueBase::GetBranchDataType(): Must use TTreeReaderArray to read branch particle: it contains an array or a collection.
Error in TTreeReaderValueBase::CreateProxy(): The branch particle contains data of type {UNDETERMINED TYPE}, which does not have a dictionary.
terminate called after throwing an instance of βstd::runtime_errorβ
what(): An error was encountered while processing the data. TTreeReader status code is: 6
Aborted (core dumped)
My question is how to create dictionary of a type std::string.
I tried to workout at the LinkDef.h file through #pragma directive but it did not work. Maybe I did not provide the correct instructions of maybe the issue is elsewhere.
Please let me know, Thank you in advance
_ROOT Version: 6.32.00
_Platform: Ubuntu 22.04
_Compiler: gcc 11.4.0