From 79173df58a865086306008cea0083e1ee6050ebd Mon Sep 17 00:00:00 2001 From: P-A Loizeau <p.-a.loizeau@gsi.de> Date: Tue, 23 Apr 2024 17:59:23 +0200 Subject: [PATCH] [online] alt fix for FEB index at mSTS chan masks import, closer to original --- algo/detectors/sts/ReadoutConfig.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/algo/detectors/sts/ReadoutConfig.cxx b/algo/detectors/sts/ReadoutConfig.cxx index ee8e7b824d..45a5a8c089 100644 --- a/algo/detectors/sts/ReadoutConfig.cxx +++ b/algo/detectors/sts/ReadoutConfig.cxx @@ -93,10 +93,12 @@ void sts::ReadoutConfig::Init(const ReadoutSetup& config, const ChannelMaskSet& std::map<size_t, uint32_t> febAdcCuts = {{1, 1}, {2, 1}, {3, 1}, {4, 1}}; // Constructing the map (equipmentId, eLink) -> (module, ASIC within module) + int32_t febBaseIdx = 0; for (uint16_t compIdx = 0; compIdx < numComp; compIdx++) { const auto& component = config.components.at(compIdx); uint16_t equipment = component.equipmentId; fReadoutConfig[equipment].resize(numElinksPerComp); + const int32_t numFebsPerCrob = component.FEBsPerCrob(); for (uint16_t crobIdx = 0; crobIdx < numCrobPerComp; crobIdx++) { for (uint16_t elinkIdx = 0; elinkIdx < numElinksPerCrob; elinkIdx++) { @@ -134,8 +136,7 @@ void sts::ReadoutConfig::Init(const ReadoutSetup& config, const ChannelMaskSet& asicInModule = (moduleSide == 1 ? asicInFeb : numAsicsPerMod - 1 - asicInFeb); // Init channel mask - const int32_t numFebsPerCrob = component.FEBsPerCrob(); - const int32_t febId = 2 * moduleIdx + moduleSide; + const int32_t febId = feb + febBaseIdx; auto mapIt = chanMaskSet.values.find(febId); if (mapIt != chanMaskSet.values.end()) { const auto& mask = mapIt->second; @@ -161,6 +162,7 @@ void sts::ReadoutConfig::Init(const ReadoutSetup& config, const ChannelMaskSet& } //# elink } //# CROB + febBaseIdx += numCrobPerComp * numFebsPerCrob; // Add the proper offset for the current CROB } //# component } -- GitLab