Skip to content

Commit 577a7f0

Browse files
authored
ITS: skip processing entirely if no clusters/rofs in TF (#14629)
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent cfa791d commit 577a7f0

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

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

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ void ITSTrackingInterface::run(framework::ProcessingContext& pc)
9999
irFrames.reserve(trackROFvec.size());
100100
int nBCPerTF = alpParams.roFrameLengthInBC;
101101

102-
LOGP(info, "ITSTracker pulled {} clusters, {} RO frames", compClusters.size(), trackROFvec.size());
102+
LOGP(info, "ITSTracker pulled {} clusters, {} RO frames {}", compClusters.size(), trackROFvec.size(), compClusters.empty() ? " -> received no processable data will skip" : "");
103103
const dataformats::MCTruthContainer<MCCompLabel>* labels = nullptr;
104104
gsl::span<itsmft::MC2ROFRecord const> mc2rofs;
105105
if (mIsMC) {
@@ -157,7 +157,9 @@ void ITSTrackingInterface::run(framework::ProcessingContext& pc)
157157
if (mRunVertexer) {
158158
vertROFvec.reserve(trackROFvec.size());
159159
// Run seeding vertexer
160-
vertexerElapsedTime = mVertexer->clustersToVertices(logger);
160+
if (!compClusters.empty()) {
161+
vertexerElapsedTime = mVertexer->clustersToVertices(logger);
162+
}
161163
} else { // cosmics
162164
mTimeFrame->resetRofPV();
163165
}
@@ -226,7 +228,7 @@ void ITSTrackingInterface::run(framework::ProcessingContext& pc)
226228
mTimeFrame->addPrimaryVertices(vtxVecLoc, 0);
227229
}
228230
}
229-
if (mRunVertexer) {
231+
if (mRunVertexer && !compClusters.empty()) {
230232
LOG(info) << fmt::format(" - Vertex seeding total elapsed time: {} ms for {} ({} + {}) vertices found in {}/{} ROFs",
231233
vertexerElapsedTime,
232234
mTimeFrame->getPrimaryVerticesNum(),
@@ -244,14 +246,15 @@ void ITSTrackingInterface::run(framework::ProcessingContext& pc)
244246
if (mCosmicsProcessing && compClusters.size() > 1500 * trackROFspan.size()) {
245247
LOG(error) << "Cosmics processing was requested with an average detector occupancy exceeding 1.e-7, skipping TF processing.";
246248
} else {
247-
248-
mTimeFrame->setMultiplicityCutMask(processingMask);
249-
mTimeFrame->setROFMask(processUPCMask);
250-
// Run CA tracker
251-
if (mMode == o2::its::TrackingMode::Async && o2::its::TrackerParamConfig::Instance().fataliseUponFailure) {
252-
mTracker->clustersToTracks(logger, fatalLogger);
253-
} else {
254-
mTracker->clustersToTracks(logger, errorLogger);
249+
if (!compClusters.empty()) {
250+
mTimeFrame->setMultiplicityCutMask(processingMask);
251+
mTimeFrame->setROFMask(processUPCMask);
252+
// Run CA tracker
253+
if (mMode == o2::its::TrackingMode::Async && o2::its::TrackerParamConfig::Instance().fataliseUponFailure) {
254+
mTracker->clustersToTracks(logger, fatalLogger);
255+
} else {
256+
mTracker->clustersToTracks(logger, errorLogger);
257+
}
255258
}
256259
size_t totTracks{mTimeFrame->getNumberOfTracks()}, totClusIDs{mTimeFrame->getNumberOfUsedClusters()};
257260
if (totTracks) {

0 commit comments

Comments
 (0)