From 496c0c4a78431b3a08e8370047d9cfda6202f98a Mon Sep 17 00:00:00 2001 From: Maximiliano Puccio Date: Mon, 10 Feb 2025 18:52:45 +0100 Subject: [PATCH] Flexible config for start layer of ITS tracks --- .../ITSMFT/ITS/tracking/include/ITStracking/Configuration.h | 2 +- Detectors/ITSMFT/ITS/tracking/src/TrackerTraits.cxx | 2 +- Detectors/ITSMFT/ITS/tracking/src/TrackingInterface.cxx | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Detectors/ITSMFT/ITS/tracking/include/ITStracking/Configuration.h b/Detectors/ITSMFT/ITS/tracking/include/ITStracking/Configuration.h index e99f0c1f4d13f..4dea810fde1b9 100644 --- a/Detectors/ITSMFT/ITS/tracking/include/ITStracking/Configuration.h +++ b/Detectors/ITSMFT/ITS/tracking/include/ITStracking/Configuration.h @@ -95,7 +95,7 @@ struct TrackingParameters { float MaxChi2ClusterAttachment = 60.f; float MaxChi2NDF = 30.f; std::vector MinPt = {0.f, 0.f, 0.f, 0.f}; - unsigned char StartLayerMask = 0x7F; + std::vector StartLayerMask = std::vector(1, 0xFFFF); bool FindShortTracks = false; bool PerPrimaryVertexProcessing = false; bool SaveTimeBenchmarks = false; diff --git a/Detectors/ITSMFT/ITS/tracking/src/TrackerTraits.cxx b/Detectors/ITSMFT/ITS/tracking/src/TrackerTraits.cxx index 8dcb7bfd315c1..199ccfe335f71 100644 --- a/Detectors/ITSMFT/ITS/tracking/src/TrackerTraits.cxx +++ b/Detectors/ITSMFT/ITS/tracking/src/TrackerTraits.cxx @@ -573,7 +573,7 @@ void TrackerTraits::findRoads(const int iteration) const int minimumLayer{startLevel - 1}; std::vector trackSeeds; for (int startLayer{mTrkParams[iteration].CellsPerRoad() - 1}; startLayer >= minimumLayer; --startLayer) { - if ((mTrkParams[iteration].StartLayerMask & (1 << (startLayer + 2))) == 0) { + if ((mTrkParams[iteration].StartLayerMask[mTrkParams[iteration].NLayers - (startLevel + 2)] & (1 << (startLayer + 2))) == 0) { continue; } CA_DEBUGGER(std::cout << "\t\t > Starting processing layer " << startLayer << std::endl); diff --git a/Detectors/ITSMFT/ITS/tracking/src/TrackingInterface.cxx b/Detectors/ITSMFT/ITS/tracking/src/TrackingInterface.cxx index 7305e205ecb3a..b1ad0a9e966e7 100644 --- a/Detectors/ITSMFT/ITS/tracking/src/TrackingInterface.cxx +++ b/Detectors/ITSMFT/ITS/tracking/src/TrackingInterface.cxx @@ -48,12 +48,14 @@ void ITSTrackingInterface::initialise() trackParams[2].CellDeltaTanLambdaSigma *= 4.; trackParams[2].MinTrackLength = 4; trackParams[2].MinPt[3] = 0.2f; - trackParams[2].StartLayerMask = (1 << 6) + (1 << 3); + trackParams[2].StartLayerMask = std::vector(trackParams[2].NLayers - trackParams[2].MinTrackLength + 1, 0x7F); + trackParams[2].StartLayerMask[3] = (1 << 6) + (1 << 3); if (o2::its::TrackerParamConfig::Instance().doUPCIteration) { trackParams[3].TrackletMinPt = 0.1f; trackParams[3].CellDeltaTanLambdaSigma *= 4.; trackParams[3].MinTrackLength = 4; trackParams[3].DeltaROF = 0; // UPC specific setting + trackParams[3].StartLayerMask = std::vector(trackParams[2].NLayers - trackParams[2].MinTrackLength + 1, 0x7F); } for (auto& param : trackParams) { param.ZBins = 64;