77 ATH_MSG_DEBUG(
"CaloClusterCellMonAlg::fillHistograms() starts");
89 bool passBeamBackgroundRemoval =
true;
91 if(!ifPass)
return StatusCode::SUCCESS;
100 std::vector<unsigned> hitMap(
m_calo_id->calo_cell_hash_max(), 0);
101 std::vector<std::pair<IdentifierHash, float> > clusteredCells;
106 auto cellIt = cluster->cell_begin();
107 auto cellIt_e = cluster->cell_end();
108 clusteredCells.clear();
109 clusteredCells.reserve(cluster->size());
110 for (; cellIt != cellIt_e; ++cellIt) {
112 if (hash < hitMap.size()) {
113 const float cellE = cellIt->energy();
114 clusteredCells.emplace_back(std::make_pair(hash, cellE));
122 [](
const std::pair<IdentifierHash, float>& p1,
123 const std::pair<IdentifierHash, float>& p2) {
124 return (p1.second > p2.second);
129 for (
const auto& cc : clusteredCells) {
136 if (
h<hitMap.size() && hitMap[
h]) {
137 float celleta, cellphi;
138 unsigned iLyr, iLyrNS;
139 std::string layerName;
144 const HWIdentifier chid=cabling->createSignalChannelID(caloDDE->identify());
151 celleta=caloDDE->eta_raw();
152 cellphi=caloDDE->phi_raw();
153 iLyr=caloDDE->getSampling();
154 if (iLyr<12 || iLyr>20 ) {
156 return StatusCode::FAILURE;
159 layerName += (celleta>0) ?
"A" :
"C";
163 if (caloDDE->onl2() != 64000) {
164 mon_tileOnl=caloDDE->onl2();
177 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.