Errors in <TStreamerInfo::BuildCheck>

Hi,

I’m running ROOT 5.26/00 to run ROOT C++ code.
I complied my ROOT code and it didn’t show any problem during complie.
But when I execute it, it prints this error message below.


[mihee@pheko09 mc_data_check]$ root -l
root [0] .L treeprint.C++
Info in TUnixSystem::ACLiC: creating shared library /home/mihee/cms/mc_data_check/./treeprint_C.so
root [1] .x treeprint.C
Warning in TStreamerInfo::BuildCheck:
The StreamerInfo of class TLeaf read from file Hydjet_Quenched_MinBias_2800GeV_GEN_1.root
has the same version (=2) as the active class but a different checksum.
You should update the version to ClassDef(TLeaf,3).
Do not try to write objects with the current class definition,
the files will not be readable.

Warning in TStreamerInfo::BuildCheck:
The StreamerInfo of class TCollection read from file Hydjet_Quenched_MinBias_2800GeV_GEN_1.root
has the same version (=3) as the active class but a different checksum.
You should update the version to ClassDef(TCollection,4).
Do not try to write objects with the current class definition,
the files will not be readable.

Warning in TStreamerInfo::BuildCheck:
The StreamerInfo of class TBranchRef read from file Hydjet_Quenched_MinBias_2800GeV_GEN_1.root
has the same version (=1) as the active class but a different checksum.
You should update the version to ClassDef(TBranchRef,2).
Do not try to write objects with the current class definition,
the files will not be readable.

Warning in TStreamerInfo::BuildCheck:
The StreamerInfo of class TRefTable read from file Hydjet_Quenched_MinBias_2800GeV_GEN_1.root
has the same version (=3) as the active class but a different checksum.
You should update the version to ClassDef(TRefTable,4).
Do not try to write objects with the current class definition,
the files will not be readable.

Input ROOT file name is “Hydjet_Quenched_MinBias_2800GeV_GEN_1.root”.
This input ROOT file is made in ROOT 5.22/00d version.

I just read input ROOT file’s tree in my macro like below.


Int_t pid;
TTree * tinput;

tinput = (TTree*)finput->Get(“ana”);
tinput->SetBranchAddress(“pId”,&pid);
tinput->GetEntry(i);

=================> Under this lines are solved.
It was another mistake during read the tree.

I guess probably this warning messge cause this error.


ERROR leaf:p_y, len=536870912 and max=12
ERROR leaf:p_eta, len=536870912 and max=12
… (same kind errors for all leaves)

And when I check input ROOT tree’s entry and its leaf by tree->Show(), it prints like this. It is normal.


root [4] tinput->Show(10);
======> EVENT:10
run = 1
evt = 11
nPar = 5
pId = -13
p_pt = 0.184518,
1.13163, 0.370943, 0.913289, 0.285356

But when I check same thing in my own macro, some values seemed underflow.


evt = -1073741824 <— Wrong numbers.
pid = -13
p_pt = 0.184518
…(etc)

Is there any problem with this script? Please help.

Why do you do:

root [0] .L treeprint.C++ root [1] .x treeprint.C instead of simply

root [10 .x treeprint.C+
Rene

That is much easier way to do. Thank you.

And after fix my mistake, there isn’t same errors more.
For other guys, my mistake was this.
I read tree with wrong method.
original tree had leaf named “pid[npar]” (npar is changed for every entry.),
but I read this with single variable “pid” only, not array.
It was the main mistake.
Solution to this was : read original tree with pid[1000].
(because always npar < 1000 .)