67 {
68
70
76 DataVect idVec; idVec.reserve(nCells);
78 DataVect feedThrough; feedThrough.reserve(nCells);
80
81
82 char rndStr[30];
85 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{
m_cablingKey};
86 const LArOnOffIdMapping*
cabling{*cablingHdl};
87 const LArOnlineID* onlineId = nullptr;
88 if ( detStore()->
retrieve(onlineId,
"LArOnlineID").isFailure()) {
89 ATH_MSG_ERROR(
"in getBadLArData(),Could not get LArOnlineID!" );
90 }
91
93 double energyGeV;
95 for(;it1!=it2;++it1){
96 if( !(*it1)->badcell() ) continue;
98 HWIdentifier LArhwid =
cabling->createSignalChannelIDFromHash((*it1)->caloDDE()->calo_hash());
99 energyGeV = (*it1)->energy()*(1./
GeV);
100 if (energyGeV == 0) energyGeV = 0.001;
101
103 idVec.emplace_back((Identifier::value_type)(*it1)->ID().get_compact() );
104 phi.emplace_back((*it1)->phi());
105 eta.emplace_back((*it1)->eta());
107 feedThrough.emplace_back(onlineId->
feedthrough(LArhwid));
108 slot.emplace_back(onlineId->
slot(LArhwid));
109 }
110 }
111
115 DataMap[
"energy"] = std::move(energy);
116 DataMap[
"id"] = std::move(idVec);
117 DataMap[
"channel"] = std::move(channel);
118 DataMap[
"feedThrough"] = std::move(feedThrough);
119 DataMap[
"slot"] = std::move(slot);
120
122 << " retrieved with " << nEntries << " entries" );
123
124
126
127 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
CaloCellContainer::const_iterator beginConstCalo(CaloCell_ID::SUBCALO caloNum) const
get const iterators on cell of just one calo
CaloCellContainer::const_iterator endConstCalo(CaloCell_ID::SUBCALO caloNum) const
DataModel_detail::const_iterator< DataVector > const_iterator
size_type size() const noexcept
Returns the number of elements in the collection.
virtual std::string dataTypeName() const override
Return the name of the data type.
Gaudi::Property< bool > m_cellConditionCut
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool) override
Retrieve all the data.
Gaudi::Property< bool > m_doBadLAr
Gaudi::Property< int > m_cellEnergyPrec
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
std::map< std::string, DataVect > DataMap
std::vector< DataType > DataVect
Defines a map with a key and a vector of DataType objects e.g.
setRawEt setRawPhi nCells