133 if(ctx.evt()+1 >
m_nevents )
return StatusCode::SUCCESS;
144 std::vector<LArChanHelp> the_coverageMap(0);
145 auto ref_the_coverageMap = std::ref(the_coverageMap);
147 auto mon_ChanFtSlot =
Monitored::Collection(
"mon_ChanFtSlot",ref_the_coverageMap,[](
const LArChanHelp& ch){
return ch.getChFtSlot();});
148 auto mon_Channels =
Monitored::Collection(
"mon_Channels",ref_the_coverageMap,[](
const LArChanHelp& ch){
return ch.getChNumber();});
149 auto mon_Eta =
Monitored::Collection(
"mon_Eta",ref_the_coverageMap,[](
const LArChanHelp& ch){
return ch.getChEta();});
150 auto mon_Phi =
Monitored::Collection(
"mon_Phi",ref_the_coverageMap,[](
const LArChanHelp& ch){
return ch.getChPhi();});
153 auto mon_isSampling0 =
Monitored::Collection(
"isSampl0",ref_the_coverageMap,[](
const LArChanHelp& ch){
return (ch.getChSampling()==0);});
154 auto mon_isSampling1 =
Monitored::Collection(
"isSampl1",ref_the_coverageMap,[](
const LArChanHelp& ch){
return (ch.getChSampling()==1);});
155 auto mon_isSampling2 =
Monitored::Collection(
"isSampl2",ref_the_coverageMap,[](
const LArChanHelp& ch){
return (ch.getChSampling()==2);});
156 auto mon_isSampling3 =
Monitored::Collection(
"isSampl3",ref_the_coverageMap,[](
const LArChanHelp& ch){
return (ch.getChSampling()==3);});
163 std::map<int,std::map<std::string,std::vector<LArChanHelp> > > coverageMap;
170 std::vector<long> knownDeadFEBs(0);
171 std::vector<long> knownErrorFEBs(0);
183 return StatusCode::FAILURE;
188 if(! pRawChannelsContainer.
isValid() ) {
190 return StatusCode::SUCCESS;
198 lb1 = (float)ctx.eventID().lumi_block();
211 if(!mfCont)
ATH_MSG_WARNING(
"Do not have Missing FEBs container !!" );
224 for (
const LArRawChannel& pRawChannel : *pRawChannelsContainer) {
225 uint16_t provenanceChan = pRawChannel.provenance();
226 float energyChan = pRawChannel.energy();
243 if(caloDetElement == 0 ){
244 ATH_MSG_ERROR(
"Cannot retrieve (eta,phi) coordinates for raw channels" );
247 etaChan = caloDetElement->
eta_raw();
248 phiChan = caloDetElement->
phi_raw();
255 const auto idx = caloDetElement->
getSubCalo();
264 std::string cnGroup_toFill=
"";
268 else ATH_MSG_WARNING(
"LAr IDhelper returned unexpected sampling: " << sampling <<
". Group EM could not be filled.");
273 else ATH_MSG_WARNING(
"LAr IDhelper returned unexpected sampling: " << sampling <<
". Group HEC could not be filled.");
278 else ATH_MSG_WARNING(
"LAr IDhelper returned unexpected sampling: " << sampling <<
". Group FCAL could not be filled.");
285 std::string the_side= (etaChan >= 0 ?
"A" :
"C");
310 if(
m_bcMask.cellShouldBeMasked(bcCont,
id)) cellContent=2;
311 else if(energyChan != 0) cellContent=3;
319 if(knownDeadFEBs.size()>0 && std::find(knownDeadFEBs.begin(), knownDeadFEBs.end(), febID.
get_compact())!=knownDeadFEBs.end()) {
320 if(cellContent==0) cellContent=1;
323 if(knownErrorFEBs.size()>0 && std::find(knownErrorFEBs.begin(), knownErrorFEBs.end(), febID.
get_compact())!=knownErrorFEBs.end())cellContent=1;
365 if(etaChan >= 0) part+=
"A";
368 if(part.find(
"FCal") != std::string::npos) coverageMap[cellContent][part].push_back(LArChanHelp(single_channel,i_ftslot,sampling,etaFCal,phiFCal));
369 else coverageMap[cellContent][part].push_back(LArChanHelp(single_channel,i_ftslot,sampling,etaChan,phiChan));
380 ref_the_coverageMap=coverageMap[chanStatusCodePair.first][
"EMBA"];
381 if(ref_the_coverageMap.get().size()!=0)
fill(
m_tools[
m_CoverageToolArrayEMBA.at(chanStatusCodePair.second)],mon_Channels,mon_ChanFtSlot,mon_Eta,mon_Phi,mon_isSampling0,mon_isSampling1,mon_isSampling2,mon_isSampling3);
383 ref_the_coverageMap=coverageMap[chanStatusCodePair.first][
"EMBC"];
384 if(ref_the_coverageMap.get().size()!=0)
fill(
m_tools[
m_CoverageToolArrayEMBC.at(chanStatusCodePair.second)],mon_Channels,mon_ChanFtSlot,mon_Eta,mon_Phi,mon_isSampling0,mon_isSampling1,mon_isSampling2,mon_isSampling3);
387 ref_the_coverageMap=coverageMap[chanStatusCodePair.first][
"EMECA"];
388 if(ref_the_coverageMap.get().size()!=0)
fill(
m_tools[
m_CoverageToolArrayEMECA.at(chanStatusCodePair.second)],mon_Channels,mon_ChanFtSlot,mon_Eta,mon_Phi,mon_isSampling0,mon_isSampling1,mon_isSampling2,mon_isSampling3);
391 ref_the_coverageMap=coverageMap[chanStatusCodePair.first][
"EMECC"];
392 if(ref_the_coverageMap.get().size()!=0)
fill(
m_tools[
m_CoverageToolArrayEMECC.at(chanStatusCodePair.second)],mon_Channels,mon_ChanFtSlot,mon_Eta,mon_Phi,mon_isSampling0,mon_isSampling1,mon_isSampling2,mon_isSampling3);
395 ref_the_coverageMap=coverageMap[chanStatusCodePair.first][
"HECA"];
396 if(ref_the_coverageMap.get().size()!=0)
fill(
m_tools[
m_CoverageToolArrayHECA.at(chanStatusCodePair.second)],mon_Channels,mon_ChanFtSlot,mon_Eta,mon_Phi,mon_isSampling0,mon_isSampling1,mon_isSampling2,mon_isSampling3);
399 ref_the_coverageMap=coverageMap[chanStatusCodePair.first][
"HECC"];
400 if(ref_the_coverageMap.get().size()!=0)
fill(
m_tools[
m_CoverageToolArrayHECC.at(chanStatusCodePair.second)],mon_Channels,mon_ChanFtSlot,mon_Eta,mon_Phi,mon_isSampling0,mon_isSampling1,mon_isSampling2,mon_isSampling3);
403 ref_the_coverageMap=coverageMap[chanStatusCodePair.first][
"FCalA"];
404 if(ref_the_coverageMap.get().size()!=0)
fill(
m_tools[
m_CoverageToolArrayFCalA.at(chanStatusCodePair.second)],mon_Channels,mon_ChanFtSlot,mon_Eta,mon_Phi,mon_isSampling0,mon_isSampling1,mon_isSampling2,mon_isSampling3);
407 ref_the_coverageMap=coverageMap[chanStatusCodePair.first][
"FCalC"];
408 if(ref_the_coverageMap.get().size()!=0)
fill(
m_tools[
m_CoverageToolArrayFCalC.at(chanStatusCodePair.second)],mon_Channels,mon_ChanFtSlot,mon_Eta,mon_Phi,mon_isSampling0,mon_isSampling1,mon_isSampling2,mon_isSampling3);
412 return StatusCode::SUCCESS;