@@ -269,7 +269,9 @@ class MatchTPCITS
269269{
270270 using ITSCluster = o2::BaseCluster<float >;
271271 using ClusRange = o2::dataformats::RangeReference<int , int >;
272- using MCLabCont = o2::dataformats::MCTruthContainer<o2::MCCompLabel>;
272+ using MCLabContCl = o2::dataformats::MCTruthContainer<o2::MCCompLabel>;
273+ using MCLabContTr = std::vector<o2::MCCompLabel>;
274+ using MCLabSpan = gsl::span<const o2::MCCompLabel>;
273275 using TPCTransform = o2::gpu::TPCFastTransform;
274276 using BracketF = o2::utils::Bracket<float >;
275277 using Params = o2::globaltracking::MatchITSTPCParams;
@@ -392,19 +394,19 @@ class MatchTPCITS
392394 }
393395
394396 // /< set input ITS track MC labels
395- void setITSTrkLabelsInp (const MCLabCont* lbl)
397+ void setITSTrkLabelsInp (const MCLabSpan& lbl)
396398 {
397399 mITSTrkLabels = lbl;
398400 }
399401
400402 // /< set input ITS clusters MC labels
401- void setITSClsLabelsInp (const MCLabCont * lbl)
403+ void setITSClsLabelsInp (const MCLabContCl * lbl)
402404 {
403405 mITSClsLabels = lbl;
404406 }
405407
406408 // /< set input TPC track MC labels
407- void setTPCTrkLabelsInp (const MCLabCont* lbl)
409+ void setTPCTrkLabelsInp (const MCLabSpan& lbl)
408410 {
409411 mTPCTrkLabels = lbl;
410412 }
@@ -423,8 +425,8 @@ class MatchTPCITS
423425 void printCandidatesITS () const ;
424426
425427 std::vector<o2::dataformats::TrackTPCITS>& getMatchedTracks () { return mMatchedTracks ; }
426- std::vector<o2::MCCompLabel> & getMatchedITSLabels () { return mOutITSLabels ; }
427- std::vector<o2::MCCompLabel> & getMatchedTPCLabels () { return mOutTPCLabels ; }
428+ MCLabContTr & getMatchedITSLabels () { return mOutITSLabels ; }
429+ MCLabContTr & getMatchedTPCLabels () { return mOutTPCLabels ; }
428430
429431 // >>> ====================== options =============================>>>
430432 void setUseMatCorrFlag (MatCorrType f) { mUseMatCorrFlag = f; }
@@ -477,8 +479,7 @@ class MatchTPCITS
477479 bool prepareFITInfo ();
478480
479481 int preselectChipClusters (std::vector<int >& clVecOut, const ClusRange& clRange, const ITSChipClustersRefs& clRefs,
480- float trackY, float trackZ, float tolerY, float tolerZ,
481- const o2::MCCompLabel& lblTrc) const ;
482+ float trackY, float trackZ, float tolerY, float tolerZ, const o2::MCCompLabel& lblTrc) const ;
482483 void fillClustersForAfterBurner (ITSChipClustersRefs& refCont, int rofStart, int nROFs = 1 );
483484 void cleanAfterBurnerClusRefCache (int currentIC, int & startIC);
484485 void flagUsedITSClusters (const o2::its::TrackITS& track, int rofOffset);
@@ -625,9 +626,9 @@ class MatchTPCITS
625626
626627 const o2::tpc::ClusterNativeAccess* mTPCClusterIdxStruct = nullptr ; // /< struct holding the TPC cluster indices
627628
628- const MCLabCont* mITSTrkLabels = nullptr ; // /< input ITS Track MC labels
629- const MCLabCont* mITSClsLabels = nullptr ; // /< input ITS Cluster MC labels
630- const MCLabCont* mTPCTrkLabels = nullptr ; // /< input TPC Track MC labels
629+ const MCLabContCl* mITSClsLabels = nullptr ; // /< input ITS Cluster MC labels
630+ MCLabSpan mITSTrkLabels ; // /< input ITS Track MC labels
631+ MCLabSpan mTPCTrkLabels ; // /< input TPC Track MC labels
631632 // / <<<-----
632633
633634 std::vector<InteractionCandidate> mInteractions ; // /< possible interaction times
@@ -642,8 +643,8 @@ class MatchTPCITS
642643 std::vector<BracketF> mITSROFTimes ; // /< min/max times of ITS ROFs in TPC time-bins
643644 std::vector<TrackLocTPC> mTPCWork ; // /< TPC track params prepared for matching
644645 std::vector<TrackLocITS> mITSWork ; // /< ITS track params prepared for matching
645- std::vector<o2::MCCompLabel> mTPCLblWork ; // /< TPC track labels
646- std::vector<o2::MCCompLabel> mITSLblWork ; // /< ITS track labels
646+ MCLabContTr mTPCLblWork ; // /< TPC track labels
647+ MCLabContTr mITSLblWork ; // /< ITS track labels
647648 std::vector<float > mWinnerChi2Refit ; // /< vector of refitChi2 for winners
648649
649650 std::deque<ITSChipClustersRefs> mITSChipClustersRefs ; // /< range of clusters for each chip in ITS (for AfterBurner)
@@ -676,8 +677,8 @@ class MatchTPCITS
676677
677678 // /< outputs tracks container
678679 std::vector<o2::dataformats::TrackTPCITS> mMatchedTracks ;
679- std::vector<o2::MCCompLabel> mOutITSLabels ; // /< ITS label of matched track
680- std::vector<o2::MCCompLabel> mOutTPCLabels ; // /< TPC label of matched track
680+ MCLabContTr mOutITSLabels ; // /< ITS label of matched track
681+ MCLabContTr mOutTPCLabels ; // /< TPC label of matched track
681682
682683 o2::its::RecoGeomHelper mRGHelper ; // /< helper for cluster and geometry access
683684 float mITSFiducialZCut = 9999 .; // /< eliminate TPC seeds outside of this range
0 commit comments