No Dictionary is available

Dear Root experts,
I have a code that runs over a root file and after reading data and applying some cuts writes the data to an output root file.
The code compiles successfully with no errors. However, in the runtime, I get the following warnings:
Warning in TClass::Init: no dictionary for class edm::Hash<1> is available
Warning in TClass::Init: no dictionary for class edm::ProcessHistory is available
Warning in TClass::Init: no dictionary for class edm::ProcessConfiguration is available
Warning in TClass::Init: no dictionary for class edm::ParameterSetBlob is available
Warning in TClass::Init: no dictionary for class pair<edm::Hash<1>,edm::ParameterSetBlob> is available
Unfortunately, I don’t have access to the code that generates the input root file, only the input root file.
Thank you for the help in advance


Please read tips for efficient and successful posting and posting code

ROOT Version: Not Provided
Platform: Not Provided
Compiler: Not Provided


I guess @pcanal can help you.

Hi,

You may try with this function TFile::MakeProject

For example,

root  input_file.root
[0] _file0->MakeProject("kk")

It will generate all the files you need later to inspect the file.

If you are just interested in a Tree, you can do something more specific, using the function TTree::MakeClass

root  input_file.root
[0] t = (TTree*)_file0->Get("my_tree")
[1] t->MakeClass("kk")

It will generate the skeleton for reading the input file. The comments inside the generated files explain how to use them.

In both cases, I think dictionaries will be made when you compile the output files of the ROOT functions.

I hope it helps,
Alvaro.

Dear @couet and @atd ,
It worked!
Thank you for your help.

2 Likes