20 #include "GaudiKernel/TypeNameString.h"
22 #include "Identifier/Identifier.h"
39 if (m_mode ==
"all") {
41 }
else if (m_mode ==
"indet") {
42 m_enumMode = Mode::indet;
43 }
else if (m_mode ==
"muon") {
46 m_enumMode = Mode::invalid;
49 if (m_enumMode == Mode::invalid) {
51 return StatusCode::FAILURE;
57 if (m_enumMode ==
Mode::all || m_enumMode == Mode::indet) {
58 if (!m_pixClusCor.empty()) {
64 if (!m_sctClusCor.empty()) {
70 if (!m_trt_Cor.empty()) {
77 m_pixClusCor.disable();
78 m_sctClusCor.disable();
82 ATH_CHECK(m_muonDriftCircleCor.retrieve());
85 m_muonClusterCor.disable();
86 m_muonDriftCircleCor.disable();
92 return StatusCode::SUCCESS;
99 const EventContext& ctx)
const
106 ATH_MSG_VERBOSE (
"RIO ID prints as "<<m_idHelper->print_to_string(
id));
109 if (m_doPixel && m_idHelper->is_pixel(
id)) {
112 "No tool to correct the current Pixel hit! return nullptr");
115 return m_pixClusCor->correct(rio, trk, ctx);
118 if (m_doSCT && m_idHelper->is_sct(
id)) {
121 "No tool to correct the current SCT hit! - Giving back nullptr.");
124 return m_sctClusCor->correct(rio, trk, ctx);
127 if (m_doTRT && m_idHelper->is_trt(
id)) {
130 "No tool to correct a TRT DriftCircle! - Giving back nullptr.");
133 return m_trt_Cor->correct(rio, trk, ctx);
136 if (m_idHelper->is_mdt(
id)) {
137 if (m_enumMode == Mode::indet) {
139 "No tool to correct a MDT DriftCircle! - Giving back nullptr.");
142 return m_muonDriftCircleCor->correct(rio, trk, ctx);
145 if ((m_idHelper->is_csc(
id)) || (m_idHelper->is_rpc(
id)) ||
146 (m_idHelper->is_tgc(
id)) || (m_idHelper->is_mm(
id)) ||
147 (m_idHelper->is_stgc(
id))) {
148 if (m_enumMode == Mode::indet) {
149 ATH_MSG_WARNING(
"No tool to correct a CSC/RPC/TGC/MM/sTGC hit! - Giving back nullptr.");
152 return m_muonClusterCor->correct(rio, trk, ctx);
156 << m_idHelper->print_to_string(
id)
157 <<
". Return nil RIO_OnTrack");