25 std::atomic<bool> bmgWarningPrinted =
false;
49 return StatusCode::SUCCESS;
60 ATH_MSG_DEBUG(
"Recorded MdtCsmContainer called " << csmContainer.
name() <<
" in store " << csmContainer.
store());
64 ATH_MSG_ERROR(
"Could not find MdtDigitContainer called " << container.
name() <<
" in store " << container.
store());
65 return StatusCode::SUCCESS;
73 return StatusCode::FAILURE;
80 return StatusCode::FAILURE;
83 auto&
msg = msgStream();
86 using csmMap = std::map<IdentifierHash, std::unique_ptr<MdtCsm>>;
90 const Identifier chid1 = mdtCollection->identify();
92 if (!condtionsPtr->isGood(chid1))
continue;
97 return StatusCode::FAILURE;
101 for (
const MdtDigit* mdtDigit : *mdtCollection) {
114 if (!bmgWarningPrinted) {
115 ATH_MSG_WARNING(
"Apparently BMG chambers are disconnected to the cabling. "
116 <<
"This has been checked to only appear in mc16a-like setups as the chambers were installed in "
117 "the end-of-the-year shutdown 2016. "
118 <<
"In any other case, be despaired in facing the villian and check what has gone wrong");
119 bmgWarningPrinted =
true;
126 <<
". This should only happen in the Phase-II geometry.");
130 return StatusCode::FAILURE;
134 std::unique_ptr<MdtAmtHit> amtHit =
137 int tdc_counts = mdtDigit->tdc();
139 uint16_t coarse = (tdc_counts >> 5) & 0xfff;
146 ATH_MSG_DEBUG(
" Coarse time : " << coarse <<
" Fine time : " << fine <<
" Width : " <<
width);
152 if (!cabling_ptr->getMultiLayerCode(
cabling_data, csmId, csm_hash,
msg)) {
154 return StatusCode::FAILURE;
159 if (csm_itr == csm_cache.end()) {
161 std::unique_ptr<MdtCsm> csm =
163 csm_itr = csm_cache.insert(std::make_pair(csm_hash, std::move(csm))).first;
165 std::unique_ptr<MdtCsm>& mdtCsm = csm_itr->second;
170 return StatusCode::FAILURE;
177 for (
auto& csm_coll : csm_cache) {
178 ATH_MSG_DEBUG(
"Add CSM container " << csm_coll.first <<
" " << csm_coll.first);
181 return StatusCode::SUCCESS;
189 if (tagInfoMgr.retrieve().isFailure()) {
return StatusCode::FAILURE; }
191 std::string cablingType =
"NewMDT_Cabling";
192 StatusCode sc = tagInfoMgr->addTag(
"MDT_CablingType", cablingType);
194 if (
sc.isFailure()) {
195 ATH_MSG_WARNING(
"MDT_CablingType " << cablingType <<
" not added to TagInfo ");
198 ATH_MSG_DEBUG(
"MDT_CablingType " << cablingType <<
" is Added TagInfo ");
201 return StatusCode::SUCCESS;