From 23dd7302fe0f0b2940cf1f71ecddc694dc16320e Mon Sep 17 00:00:00 2001 From: Tadej Novak Date: Wed, 7 Jul 2021 10:20:39 +0200 Subject: [PATCH] Initial support for RD53 sensors in SensorSimPlanarTool and SensorSim3DTool --- .../PixelDigitization/src/SensorSim3DTool.cxx | 22 ++++++++++++------- .../src/SensorSimPlanarTool.cxx | 17 ++++++++++---- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSim3DTool.cxx b/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSim3DTool.cxx index feaa992b05d..f05b3af9670 100644 --- a/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSim3DTool.cxx +++ b/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSim3DTool.cxx @@ -71,19 +71,25 @@ StatusCode SensorSim3DTool::induceCharge(const TimedHitPtr& phit, std::vector& initialConditions, CLHEP::HepRandomEngine* rndmEngine, const EventContext &ctx) { - if (!Module.isBarrel()) { - return StatusCode::SUCCESS; - } - if (p_design.getReadoutTechnology() != InDetDD::PixelModuleDesign::FEI4) { - return StatusCode::SUCCESS; - } - if (p_design.numberOfCircuits() > 1) { + // TODO: check that detectors other than ITk have this properly set + if (p_design.getReadoutTechnology() == InDetDD::PixelModuleDesign::RD53) { + // disable for now! return StatusCode::SUCCESS; + } else { + if (!Module.isBarrel()) { + return StatusCode::SUCCESS; + } + if (p_design.getReadoutTechnology() != InDetDD::PixelModuleDesign::FEI4) { + return StatusCode::SUCCESS; + } + if (p_design.numberOfCircuits() > 1) { + return StatusCode::SUCCESS; + } } ATH_MSG_DEBUG("Applying SensorSim3D charge processor"); if (initialConditions.size() != 8) { - ATH_MSG_INFO("ERROR! Starting coordinates were not filled correctly in EnergyDepositionSvc."); + ATH_MSG_ERROR("Starting coordinates were not filled correctly in EnergyDepositionSvc."); return StatusCode::FAILURE; } diff --git a/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSimPlanarTool.cxx b/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSimPlanarTool.cxx index 51fca63c6ce..3e44fbafe36 100644 --- a/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSimPlanarTool.cxx +++ b/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSimPlanarTool.cxx @@ -197,10 +197,19 @@ StatusCode SensorSimPlanarTool::induceCharge(const TimedHitPtr& phit, std::vector& initialConditions, CLHEP::HepRandomEngine* rndmEngine, const EventContext &ctx) { - // So far, this is only discriminating variable from 3D sensor. - if (p_design.numberOfCircuits() < 2) { - if (!Module.isDBM()) { //DBM modules also processed here - return StatusCode::SUCCESS; + if (p_design.getReadoutTechnology() == InDetDD::PixelModuleDesign::RD53) { + // TODO: check that detectors other than ITk have this properly set + // if (p_design.is3D()) { + // return StatusCode::SUCCESS; + // } + // pass + // TODO: for now all RD53 sensors are digitized as planar + } else { + // So far, this is only discriminating variable from 3D sensor. + if (p_design.numberOfCircuits() < 2) { + if (!Module.isDBM()) { //DBM modules also processed here + return StatusCode::SUCCESS; + } } } -- GitLab