76 ATH_MSG_DEBUG(
"CaloClusterCellMonAlg::fillHistograms() starts");
88 bool passBeamBackgroundRemoval =
true;
90 if(!ifPass)
return StatusCode::SUCCESS;
99 std::vector<unsigned> hitMap(
m_calo_id->calo_cell_hash_max(), 0);
100 std::vector<std::pair<IdentifierHash, float> > clusteredCells;
105 auto cellIt = cluster->cell_begin();
106 auto cellIt_e = cluster->cell_end();
107 clusteredCells.clear();
108 clusteredCells.reserve(cluster->size());
109 for (; cellIt != cellIt_e; ++cellIt) {
111 if (hash < hitMap.size()) {
112 const float cellE = cellIt->energy();
113 clusteredCells.emplace_back(std::make_pair(hash, cellE));
121 [](
const std::pair<IdentifierHash, float>& p1,
122 const std::pair<IdentifierHash, float>& p2) {
123 return (p1.second > p2.second);
128 for (
const auto& cc : clusteredCells) {
135 if (
h<hitMap.size() && hitMap[
h]) {
136 float celleta, cellphi;
137 unsigned iLyr, iLyrNS;
138 std::string layerName;
143 const HWIdentifier chid=cabling->createSignalChannelID(caloDDE->identify());
150 celleta=caloDDE->eta_raw();
151 cellphi=caloDDE->phi_raw();
152 iLyr=caloDDE->getSampling();
153 if (iLyr<12 || iLyr>20 ) {
157 layerName += (celleta>0) ?
"A" :
"C";
161 if (caloDDE->onl2() != 64000) {
162 mon_tileOnl=caloDDE->onl2();
175 return StatusCode::SUCCESS;
void partial_sort(DataModel_detail::iterator< DVL > beg, DataModel_detail::iterator< DVL > mid, DataModel_detail::iterator< DVL > end)
Specialization of partial_sort for DataVector/List.