19 caloTopologyToken_ = esConsumes<CaloTopology, CaloTopologyRecord, edm::Transition::BeginRun>();
20 sevLVToken_ = esConsumes<EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd, edm::Transition::BeginRun>();
21 nextToDeadToken_ = esConsumes<EcalNextToDeadChannel, EcalNextToDeadChannelRcd>();
28 edm::LogError(
"InterestingDetIdCollectionProducerError") <<
"Size of eta/phi should be odd numbers";
60 std::vector<DetId> indexToStore;
61 indexToStore.reserve(1000);
63 reco::BasicClusterCollection::const_iterator clusIt;
65 std::vector<DetId> xtalsToStore;
66 xtalsToStore.reserve(50);
67 for (clusIt = pClusters->begin(); clusIt != pClusters->end(); clusIt++) {
68 const std::vector<std::pair<DetId, float> >& clusterDetIds = clusIt->hitsAndFractions();
69 for (
const auto& detidpair : clusterDetIds) {
70 indexToStore.push_back(detidpair.first);
74 if (clusterDetIds.front().first.subdetId() ==
EcalBarrel || clusterDetIds.front().first.subdetId() ==
EcalEndcap) {
75 std::vector<std::pair<DetId, float> >::const_iterator posCurrent;
82 for (posCurrent = clusterDetIds.begin(); posCurrent != clusterDetIds.end(); posCurrent++) {
84 if ((!((*posCurrent).first.null())) && (itt != recHitsHandle->
end()) && ((*itt).energy() >
eMax)) {
85 eMax = (*itt).energy();
97 for (
const auto& detid : xtalsToStore) {
98 indexToStore.push_back(detid);
107 indexToStore.push_back(it->id());
111 indexToStore.push_back(it->id());
117 indexToStore.push_back(it->id());
125 if (
abs(ebid.ieta()) == 85)
126 indexToStore.push_back(it->id());
129 indexToStore.push_back(it->id());
136 std::sort(indexToStore.begin(), indexToStore.end());
137 std::unique(indexToStore.begin(), indexToStore.end());