Skip to content

Commit ecb5f30

Browse files
TPC: clamp zOut to TPC length
- use maxZ2X from SpacePointsCalibConfParam
1 parent 0a58abe commit ecb5f30

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

Detectors/TPC/calibration/SpacePoints/src/TrackResiduals.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,12 @@ void TrackResiduals::setZ2XBinning(const std::vector<float>& binning)
133133
mZ2XBinsDH.clear();
134134
mZ2XBinsDI.clear();
135135
mZ2XBinsCenter.clear();
136+
const float maxZ2X = SpacePointsCalibConfParam::Instance().maxZ2X;
137+
LOGP(info, "Using maxZ2X {} for setZ2XBinning", maxZ2X);
136138
for (int iBin = 0; iBin < nBins; ++iBin) {
137-
mZ2XBinsDH.push_back(.5f * (binning[iBin + 1] - binning[iBin]) * mMaxZ2X);
139+
mZ2XBinsDH.push_back(.5f * (binning[iBin + 1] - binning[iBin]) * maxZ2X);
138140
mZ2XBinsDI.push_back(.5f / mZ2XBinsDH[iBin]);
139-
mZ2XBinsCenter.push_back(binning[iBin] * mMaxZ2X + mZ2XBinsDH[iBin]);
141+
mZ2XBinsCenter.push_back(binning[iBin] * maxZ2X + mZ2XBinsDH[iBin]);
140142
LOGF(info, "Bin %i: center (%.3f), half bin width (%.3f)", iBin, mZ2XBinsCenter.back(), mZ2XBinsDH.back());
141143
}
142144
}

Detectors/TPC/calibration/src/TPCFastSpaceChargeCorrectionHelper.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ std::unique_ptr<o2::gpu::TPCFastSpaceChargeCorrection> TPCFastSpaceChargeCorrect
497497
double yMax = rowX * trackResiduals.getY2X(iRow, trackResiduals.getNY2XBins() - 1);
498498
double zMin = rowX * trackResiduals.getZ2X(0);
499499
double zMax = rowX * trackResiduals.getZ2X(trackResiduals.getNZ2XBins() - 1);
500-
double zOut = zMax;
500+
double zOut = std::min(zMax, (double)geo.getTPCzLength()); // clamp to physical TPC extent to avoid negative spline scale
501501
info.gridMeasured.set(yMin, spline.getGridX1().getUmax() / (yMax - yMin), // y
502502
zMin, spline.getGridX2().getUmax() / (zMax - zMin), // z
503503
zOut, geo.getTPCzLength()); // correction scaling region

0 commit comments

Comments
 (0)