diff --git a/Detectors/ITSMFT/ITS/macros/test/CheckDigits.C b/Detectors/ITSMFT/ITS/macros/test/CheckDigits.C index 9fa3d741f43ef..dec3a76a6f23a 100644 --- a/Detectors/ITSMFT/ITS/macros/test/CheckDigits.C +++ b/Detectors/ITSMFT/ITS/macros/test/CheckDigits.C @@ -15,7 +15,8 @@ #include "ITSMFTBase/SegmentationAlpide.h" #include "ITSMFTSimulation/Hit.h" #include "MathUtils/Utils.h" -#include "SimulationDataFormat/MCTruthContainer.h" +#include "SimulationDataFormat/ConstMCTruthContainer.h" +#include "SimulationDataFormat/IOMCTruthContainerView.h" #include "SimulationDataFormat/MCCompLabel.h" #include "DetectorsBase/GeometryManager.h" @@ -60,8 +61,8 @@ void CheckDigits(std::string digifile = "itsdigits.root", std::string hitfile = std::vector* digArr = nullptr; digTree->SetBranchAddress("ITSDigit", &digArr); - o2::dataformats::MCTruthContainer* labels = nullptr; - digTree->SetBranchAddress("ITSDigitMCTruth", &labels); + o2::dataformats::IOMCTruthContainerView* plabels = nullptr; + digTree->SetBranchAddress("ITSDigitMCTruth", &plabels); int nevD = digTree->GetEntries(); // digits in cont. readout may be grouped as few events per entry @@ -83,6 +84,9 @@ void CheckDigits(std::string digifile = "itsdigits.root", std::string hitfile = int nROFRec = (int)ROFRecordArrrayRef.size(); std::vector mcEvMin(nROFRec, hitTree->GetEntries()); std::vector mcEvMax(nROFRec, -1); + o2::dataformats::ConstMCTruthContainer labels; + plabels->copyandflatten(labels); + delete plabels; // >> build min and max MC events used by each ROF for (int imc = MC2ROFRecordArrrayRef.size(); imc--;) { @@ -149,7 +153,7 @@ void CheckDigits(std::string digifile = "itsdigits.root", std::string hitfile = const o2::math_utils::Point3D locD(x, 0., z); Int_t chipID = (*digArr)[iDigit].getChipIndex(); - auto lab = (labels->getLabels(iDigit))[0]; + auto lab = (labels.getLabels(iDigit))[0]; int trID = lab.getTrackID();