From 93638b9c8031d618c37cc2e506a1110d30de63d3 Mon Sep 17 00:00:00 2001 From: Stefano Rosati <stefano.rosati@cern.ch> Date: Tue, 24 Mar 2020 15:23:06 +0100 Subject: [PATCH] adding sdo fix by @pscholer --- .../MM_Digitization/src/MM_DigitizationTool.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx index 1fa64391bc9a..0f934c519011 100644 --- a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx +++ b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx @@ -893,7 +893,15 @@ StatusCode MM_DigitizationTool::doDigitization() { Amg::Vector3D hitAfterTimeShiftOnSurface = hitAfterTimeShift - (shiftTimeOffset/localDirectionTime.z())*localDirectionTime; if( fabs(hitAfterTimeShiftOnSurface.z()) > 0.1 ) ATH_MSG_WARNING("Bad propagation to surface after time shift " << hitAfterTimeShiftOnSurface ); - + + // moving the hit position to the center of the gap for the SDO position + double scaleSDO = -stripLayerPosition.z()/localDirection.z(); + Amg::Vector3D hitAtCenterOfGasGap = stripLayerPosition + scaleSDO*localDirection; + Amg::Vector3D hitAtCenterOfGasGapGlobal = surf.transform() * hitAtCenterOfGasGap; + ATH_MSG_DEBUG("strip layer position z"<< stripLayerPosition.z() <<"hitAtCenterOfGasGap x" + << hitAtCenterOfGasGap.x() << " y " << hitAtCenterOfGasGap.y() + << " z " << hitAtCenterOfGasGap.z() << " gas gap "<< gasGap); + // Don't consider electron hits below m_energyThreshold if( hit.kineticEnergy() < m_energyThreshold && abs(hit.particleEncoding())==11) { m_exitcode = 5; @@ -1025,7 +1033,7 @@ StatusCode MM_DigitizationTool::doDigitization() { std::vector<MuonSimData::Deposit> deposits; deposits.push_back(deposit); MuonSimData simData(deposits,0); - simData.setPosition(hitOnSurfaceGlobal); + simData.setPosition(hitAtCenterOfGasGapGlobal); simData.setTime(m_globalHitTime); m_sdoContainer->insert ( std::make_pair ( digitID, simData ) ); ATH_MSG_DEBUG(" added MM SDO " << m_sdoContainer->size()); -- GitLab