Skip to content

Commit f2417fb

Browse files
authored
ITS3: fix tracking after refactor (#14433)
1 parent ece12c5 commit f2417fb

File tree

3 files changed

+22
-13
lines changed

3 files changed

+22
-13
lines changed

Detectors/ITSMFT/ITS/tracking/include/ITStracking/TimeFrame.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ struct TimeFrame {
9191
gsl::span<const unsigned char>::iterator& pattIt,
9292
const itsmft::TopologyDictionary* dict,
9393
const dataformats::MCTruthContainer<MCCompLabel>* mcLabels = nullptr);
94+
void resetROFrameData();
9495

9596
int getTotalClusters() const;
9697
auto& getTotVertIteration() { return mTotVertPerIteration; }
@@ -138,7 +139,7 @@ struct TimeFrame {
138139
gsl::span<const MCCompLabel> getClusterLabels(int layerId, const int clId) const { return mClusterLabels->getLabels(mClusterExternalIndices[layerId][clId]); }
139140
int getClusterExternalIndex(int layerId, const int clId) const { return mClusterExternalIndices[layerId][clId]; }
140141
int getClusterSize(int clusterId) const { return mClusterSize[clusterId]; }
141-
void setClusterSize(const bounded_vector<uint8_t>& v) { mClusterSize = v; }
142+
void setClusterSize(bounded_vector<uint8_t>& v) { mClusterSize = std::move(v); }
142143

143144
auto& getTrackletsLabel(int layer) { return mTrackletLabels[layer]; }
144145
auto& getCellsLabel(int layer) { return mCellLabels[layer]; }

Detectors/ITSMFT/ITS/tracking/src/TimeFrame.cxx

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,7 @@ int TimeFrame<nLayers>::loadROFrameData(gsl::span<o2::itsmft::ROFRecord> rofs,
136136
const itsmft::TopologyDictionary* dict,
137137
const dataformats::MCTruthContainer<MCCompLabel>* mcLabels)
138138
{
139-
for (int iLayer{0}; iLayer < nLayers; ++iLayer) {
140-
deepVectorClear(mUnsortedClusters[iLayer], mMemoryPool.get());
141-
deepVectorClear(mTrackingFrameInfo[iLayer], mMemoryPool.get());
142-
deepVectorClear(mClusterExternalIndices[iLayer], mMemoryPool.get());
143-
clearResizeBoundedVector(mROFramesClusters[iLayer], 1, mMemoryPool.get(), 0);
144-
145-
if (iLayer < 2) {
146-
deepVectorClear(mTrackletsIndexROF[iLayer], mMemoryPool.get());
147-
deepVectorClear(mNTrackletsPerCluster[iLayer], mMemoryPool.get());
148-
deepVectorClear(mNTrackletsPerClusterSum[iLayer], mMemoryPool.get());
149-
}
150-
}
139+
resetROFrameData();
151140

152141
GeometryTGeo* geom = GeometryTGeo::Instance();
153142
geom->fillMatrixCache(o2::math_utils::bit2Mask(o2::math_utils::TransformType::T2L, o2::math_utils::TransformType::L2G));
@@ -213,6 +202,23 @@ int TimeFrame<nLayers>::loadROFrameData(gsl::span<o2::itsmft::ROFRecord> rofs,
213202
return mNrof;
214203
}
215204

205+
template <int nLayers>
206+
void TimeFrame<nLayers>::resetROFrameData()
207+
{
208+
for (int iLayer{0}; iLayer < nLayers; ++iLayer) {
209+
deepVectorClear(mUnsortedClusters[iLayer], mMemoryPool.get());
210+
deepVectorClear(mTrackingFrameInfo[iLayer], mMemoryPool.get());
211+
deepVectorClear(mClusterExternalIndices[iLayer], mMemoryPool.get());
212+
clearResizeBoundedVector(mROFramesClusters[iLayer], 1, mMemoryPool.get(), 0);
213+
214+
if (iLayer < 2) {
215+
deepVectorClear(mTrackletsIndexROF[iLayer], mMemoryPool.get());
216+
deepVectorClear(mNTrackletsPerCluster[iLayer], mMemoryPool.get());
217+
deepVectorClear(mNTrackletsPerClusterSum[iLayer], mMemoryPool.get());
218+
}
219+
}
220+
}
221+
216222
template <int nLayers>
217223
void TimeFrame<nLayers>::prepareClusters(const TrackingParameters& trkParam, const int maxLayers)
218224
{

Detectors/Upgrades/ITS3/reconstruction/src/IOUtils.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ int loadROFrameDataITS3(its::TimeFrame<7>* tf,
6464
const its3::TopologyDictionary* dict,
6565
const dataformats::MCTruthContainer<MCCompLabel>* mcLabels)
6666
{
67+
tf->resetROFrameData();
68+
6769
auto geom = its::GeometryTGeo::Instance();
6870
geom->fillMatrixCache(o2::math_utils::bit2Mask(o2::math_utils::TransformType::T2L, o2::math_utils::TransformType::L2G));
6971

0 commit comments

Comments
 (0)