Skip to content

Commit 5b8c98a

Browse files
iouribelikovshahor02
authored andcommitted
Keep InvalidPatternID for huge clusters
1 parent cd861be commit 5b8c98a

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

‎Detectors/ITSMFT/common/reconstruction/include/ITSMFTReconstruction/Clusterer.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class Clusterer
132132
void streamCluster(const std::vector<PixelData>& pixbuf, uint16_t rowMin, uint16_t rowSpanW, uint16_t colMin, uint16_t colSpanW,
133133
uint16_t chipID,
134134
CompClusCont* compClusPtr, PatternCont* patternsPtr,
135-
MCTruth* labelsClusPtr, int nlab);
135+
MCTruth* labelsClusPtr, int nlab, bool isHuge = false);
136136

137137
void fetchMCLabels(int digID, const MCTruth* labelsDig, int& nfilled);
138138
void initChip(const ChipPixelData* curChipData, uint32_t first);

‎Detectors/ITSMFT/common/reconstruction/src/Clusterer.cxx‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ void Clusterer::ClustererThread::finishChip(ChipPixelData* curChipData, CompClus
276276
// Stream a piece of cluster only if the reduced bounding box is not empty
277277
if (!pixbuf.empty()) {
278278
streamCluster(pixbuf, r, rsp, colMin, colSpan, chipID,
279-
compClusPtr, patternsPtr, labelsClusPtr, nlab);
279+
compClusPtr, patternsPtr, labelsClusPtr, nlab, true);
280280
}
281281
r += rsp;
282282
rsp = o2::itsmft::ClusterPattern::MaxRowSpan;
@@ -289,7 +289,7 @@ void Clusterer::ClustererThread::finishChip(ChipPixelData* curChipData, CompClus
289289
}
290290
}
291291

292-
void Clusterer::ClustererThread::streamCluster(const std::vector<PixelData>& pixbuf, uint16_t rowMin, uint16_t rowSpanW, uint16_t colMin, uint16_t colSpanW, uint16_t chipID, CompClusCont* compClusPtr, PatternCont* patternsPtr, MCTruth* labelsClusPtr, int nlab)
292+
void Clusterer::ClustererThread::streamCluster(const std::vector<PixelData>& pixbuf, uint16_t rowMin, uint16_t rowSpanW, uint16_t colMin, uint16_t colSpanW, uint16_t chipID, CompClusCont* compClusPtr, PatternCont* patternsPtr, MCTruth* labelsClusPtr, int nlab, bool isHuge)
293293
{
294294
if (labelsClusPtr) { // MC labels were requested
295295
auto cnt = compClusPtr->size();
@@ -305,7 +305,7 @@ void Clusterer::ClustererThread::streamCluster(const std::vector<PixelData>& pix
305305
int nbits = ir * colSpanW + ic;
306306
patt[nbits >> 3] |= (0x1 << (7 - (nbits % 8)));
307307
}
308-
uint16_t pattID = (parent->mPattIdConverter.size() == 0) ? CompCluster::InvalidPatternID : parent->mPattIdConverter.findGroupID(rowSpanW, colSpanW, patt);
308+
uint16_t pattID = (isHuge || parent->mPattIdConverter.size() == 0) ? CompCluster::InvalidPatternID : parent->mPattIdConverter.findGroupID(rowSpanW, colSpanW, patt);
309309
if (pattID == CompCluster::InvalidPatternID || parent->mPattIdConverter.isGroup(pattID)) {
310310
float xCOG = 0., zCOG = 0.;
311311
ClusterPattern::getCOG(rowSpanW, colSpanW, patt, xCOG, zCOG);

0 commit comments

Comments
 (0)