From 66738ef797631bd0c689843835895707b501ed93 Mon Sep 17 00:00:00 2001 From: P-A Loizeau <p.-a.loizeau@gsi.de> Date: Mon, 31 Jan 2022 10:09:08 +0100 Subject: [PATCH] STS unpacking: make Walk correction and Asic by Asic offset mutually exclusive --- reco/detectors/sts/unpack/CbmStsUnpackAlgo.cxx | 7 +++++-- reco/detectors/sts/unpack/CbmStsUnpackAlgoBase.cxx | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/reco/detectors/sts/unpack/CbmStsUnpackAlgo.cxx b/reco/detectors/sts/unpack/CbmStsUnpackAlgo.cxx index 52bc7a98ee..1b81a52c3d 100644 --- a/reco/detectors/sts/unpack/CbmStsUnpackAlgo.cxx +++ b/reco/detectors/sts/unpack/CbmStsUnpackAlgo.cxx @@ -507,12 +507,15 @@ void CbmStsUnpackAlgo::processHitInfo(const stsxyter::Message& mess) */ const double_t tsreltime = static_cast<double_t>(ulHitTime) * stsxyter::kdClockCycleNs; double dTimeInNs = tsreltime - fSystemTimeOffset; - if (uAsicIdx < fvdTimeOffsetNsAsics.size()) dTimeInNs -= fvdTimeOffsetNsAsics[uAsicIdx]; - // Time-Walk correction + // Time-Walk correction or Asic-byAsic offsetting, depending on availability if (fbUseTimeWalkCorrection == true) { dTimeInNs += fWalkLookup[fviFebAddress[uFebIdx]][uChanInMod / fNrChsPerAsic][usRawAdc]; } + else if (uAsicIdx < fvdTimeOffsetNsAsics.size()) { + dTimeInNs -= fvdTimeOffsetNsAsics[uAsicIdx]; + } + const uint64_t ulTimeInNs = static_cast<uint64_t>(dTimeInNs); const double dCalAdc = fvdFebAdcOffs[uFebIdx] + (usRawAdc - 1) * fvdFebAdcGain[uFebIdx]; diff --git a/reco/detectors/sts/unpack/CbmStsUnpackAlgoBase.cxx b/reco/detectors/sts/unpack/CbmStsUnpackAlgoBase.cxx index e3a4308b41..2da29e371a 100644 --- a/reco/detectors/sts/unpack/CbmStsUnpackAlgoBase.cxx +++ b/reco/detectors/sts/unpack/CbmStsUnpackAlgoBase.cxx @@ -25,7 +25,6 @@ std::vector<std::pair<std::string, std::shared_ptr<FairParGenericSet>>>* void CbmStsUnpackAlgoBase::SetWalkMap(const std::map<uint32_t, CbmStsParModule>& mapIn) { - auto modIt = mapIn.begin(); for (auto& mapInEntry : mapIn) { const std::vector<CbmStsParAsic>& asicPars = (mapInEntry.second).GetAsicParams(); uint32_t uNbAsics = asicPars.size(); -- GitLab