Warning in <TStreamerInfo::BuildOld>

Hello,
I have prepared Allpix data ntuples using cvmfs installation of Allpix:

/cvmfs/clicdp.cern.ch/software/allpix-squared/2.3.1/x86_64-centos7-gcc11-opt/setup.sh

The simulation ran fine and I have the data file. But when I am trying to analyze that data file, I am getting this warning:

Warning in <TStreamerInfo::BuildOld>: Cannot convert allpix::Pixel::index_ from type: ROOT::Math::DisplacementVector2D<ROOT::Math::Cartesian2D<unsigned int>,ROOT::Math::DefaultCoordinateSystemTag> to type: ROOT::Math::DisplacementVector2D<ROOT::Math::Cartesian2D<int>,ROOT::Math::DefaultCoordinateSystemTag>, skip element

It seems to be a root version backward incompatibility issue.
I am using root version

ROOT Version: 6.26/10
Built for macosx64 on Nov 16 2022, 10:42:54
From tags/v6-26-10@v6-26-10

While I can work with the most of the data ntuple, but I see for many of the pixels, the pixel index stored is 0. I suspect this is because of the root version mismatch.
I wonder if anyone else has seen this issue and if there is any workaround to solve this.
I am also wondering to use Allpix version 2.3.1, what should be the compatible root version? Is it below 6.24?

I have kept my script and one sample data file here which I think will reproduce this issue.

Thank you,
Arka

Hi @asantra

if you have produced the file with version APSQ 2.x you need to also analyze it with version APSQ 2.x. You are trying to analyze the file with a script using the object library from master (soon-to-become 3.0) where the type of pixel index has changed from unsigned int to int.

Cheers,
Simon

Hi @simonspa ,
Thank you for the heads up. I prepared the files using APSQ 2.3.1 from CVMFS. May I know how I can use the CVMFS APSQ 2.3.1 setup to analyze the file?

For example, I changed these lines in my analyzer :

#include "../../src/objects/MCParticle.hpp"
#include "../../src/objects/PixelCharge.hpp"
#include "../../src/objects/PixelHit.hpp"
#include "../../src/objects/PropagatedCharge.hpp"
#include "../../src/tools/units.h"

to:

#include "/cvmfs/clicdp.cern.ch/software/allpix-squared/2.3.1/x86_64-centos7-gcc11-opt/include/objects/MCParticle.hpp"
#include "/cvmfs/clicdp.cern.ch/software/allpix-squared/2.3.1/x86_64-centos7-gcc11-opt/include/objects/PixelCharge.hpp"
#include "/cvmfs/clicdp.cern.ch/software/allpix-squared/2.3.1/x86_64-centos7-gcc11-opt/include/objects/PixelHit.hpp"
#include "/cvmfs/clicdp.cern.ch/software/allpix-squared/2.3.1/x86_64-centos7-gcc11-opt/include/objects/PropagatedCharge.hpp"
#include "/cvmfs/clicdp.cern.ch/software/allpix-squared/2.3.1/x86_64-centos7-gcc11-opt/include/tools/units.h"

but I am getting this error:

/cvmfs/clicdp.cern.ch/software/allpix-squared/2.3.1/x86_64-centos7-gcc11-opt/include/tools/units.h:13:10: fatal error: 'core/utils/log.h' file not found
#include "core/utils/log.h"

In addition, my analyzer files use

#include “…/…/src/modules/DetectorHistogrammer/Cluster.hpp”

How do I include this file from CVMFS? I don’t see this file in the CVMFS, but I see the library:

libAllpixModuleDetectorHistogrammer.so

Just including this library before the compilation of code:

.L /cvmfs/clicdp.cern.ch/software/allpix-squared/2.3.1/x86_64-centos7-gcc11-opt/lib/libAllpixModuleDetectorHistogrammer.so

does not help me find “Cluster.hpp” file.

Best,
Arka

Hi @asantra

instead of using the CVMFS version for your analysis script you can also just check out the correct version locally in your repository and keep working with the ../../src/objects/ relative paths. Best would be to branch off your own version from the stable branch:

git checkout -b my_branch v2.3-stable

Cheers,
Simon