CheckByteCount Issue

Hi,

I’m having a problem reading back ntuple that were made on the grid.
I get the following error when making a skim of the ntuples:
Error in TBufferFile::CheckByteCount: object of class map<UCI::TagAlgo,vector > read too few bytes: 10 instead of 18
(Note TagAlgo is an enum 0->22)

I’m getting the error even tho i’m setting the same version of ATLAS soft that what was used on the grid to make the ntuple (see below the setting for TopPhys,15.6.11.3.1).

If I ignore the error, i can read back the orignal ntuple and their skimmed version but only if i use the atlas soft.
On my mac with ROOT v5-26-00b., I can read back the orignal ntuples (I get no error about the streamer) but
I cannot read the skimmed version.

I can get rid of the error at CERN by setting ROOT and gcc to:
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00d_python2.6/i686-slc5-gcc43-opt/root
source /afs/cern.ch/sw/lcg/external/gcc/4.3.2/i686-slc5/setup.sh
which sets up:
/afs/cern.ch/sw/lcg/contrib/gcc/4.3.2/i686-slc5-gcc34-opt/bin/gcc
The output skim is then readable on the mac.

However, this is not something I can do on the GRID, since atlas soft need to be setup.
The most recent version of ROOT we have access to is
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00d_python2.6/i686-slc5-gcc43-opt/root
but the problem persist with that version also.

So the problem is I cannot make on the GRID skim ntuples which can be read back ont the mac.

Any ideas on how i could resolve this issue ?

Cheers
-a

Setup at CERN for atlas release: TopPhys,15.6.11.3.1
echo $ROOTSYS
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.22.00j/i686-slc5-gcc43-opt/root
which gcc
/afs/cern.ch/sw/lcg/external/gcc/4.3.2/i686-slc5/bin/gcc
gcc --v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /build/LCG/work/gcc-4.3.2/configure --prefix=/afs/.cern.ch/sw/lcg/contrib/gcc/4.3.2/i686-slc5-gcc34-opt --with-mpfr=/afs/.cern.ch/sw/lcg/external/mpfr/2.3.1/i686-slc5-gcc34-opt --with-gmp=/afs/.cern.ch/sw/lcg/external/gmp/4.2.2/i686-slc5-gcc34-opt --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.3.2 (GCC)

Hi,

this is most probably connected to savannah.cern.ch/bugs/?72606 where a wrong dictionary is made available through Athena. Please complain to the Athena people. You might get around the issue by calling gROOT->ProcessLine("#include "); before opening your first ROOT file.

Cheers, Axel.

Hi Axel,

Totally awesome !!! THANKS A LOT !!!

Including
gROOT->ProcessLine("#include ");
to the executable that read the ntuple gets rid-off the error and the skimmed ntuple can be read on the mac!

I obviously complained to the Atlas folks…

the problem seems to be reflex -vs- cint issue…

I’m not fully understanding what they’re doing in the background, but my ntuple lib is built within Athena using rootcint and not Reflex (since that was way too problematic if you recall!)

Cheers
-a