22 const std::string&
type,
23 const std::string& name,
24 const IInterface* parent)
25 : base_class (
type, name, parent),
59 m_includedCellsMap.set();
61 ATH_MSG_INFO (
" Will exclude " << m_includedCellsMap.size() - m_includedCellsMap.count() <<
" cells from CaloCellContainer");
64 return StatusCode::SUCCESS;
73 bool haveFT=
false, haveSlot=
false, haveChannel=
false;
74 int bec=0, pn=0, FT=0, slot=1,channel=0;
79 return StatusCode::FAILURE;
104 msg() << MSG::DEBUG <<
"Will exclude: bec="<< bec <<
" pn=" << pn;
105 if (haveFT)
msg() <<
" FT=" << FT;
106 if (haveSlot)
msg() <<
" slot=" << slot;
107 if (haveChannel)
msg() <<
" channel=" << channel;
110 unsigned nChannels=0;
111 unsigned nDisconnected=0;
121 chanId=
m_onlineID->channel_Id(bec,pn,FT,slot,channel);
122 if (cabling->isOnlineConnected(chanId)) {
123 const Identifier cellId=cabling->cnvToIdentifier(chanId);
125 m_includedCellsMap.reset(cellhash);
136 if (!haveChannel) channel++;
137 }
while (!haveChannel && channel<channelMax);
138 if (!haveChannel) channel=0;
139 if (!haveSlot) slot++;
140 }
while (!haveSlot && slot<slotMax);
141 if (!haveSlot) slot=0;
143 }
while (!haveFT && FT<FTmax);
144 ATH_MSG_DEBUG (
"Channels selected for exclusion: "<< nChannels <<
". Disconnected: " << nDisconnected);
146 return StatusCode::SUCCESS;
152 const EventContext& ctx)
const
156 std::lock_guard<std::mutex> lock (
m_mutex);
169 while(it!=theCont->
end()) {
171 if (!m_includedCellsMap.test(cellHash)) {
173 it=theCont->
erase(it);
179 ATH_MSG_DEBUG (
"Removed " << cnt <<
" Cells from container");
180 return StatusCode::SUCCESS ;
185 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Container class for CaloCell.
DataModel_detail::iterator< DataVector > iterator
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
iterator erase(iterator position)
Remove element at a given position.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
This is a "hash" representation of an Identifier.
Exception class for LAr Identifiers.
Exception class for LAr online Identifiers.