25 std::pair<float, float>(0.0375, 0.15);
27 std::pair<float, float>(0.0375, 0.15);
29 std::pair<float, float>(0.011, 0.15);
31 std::pair<float, float>(0.011, 0.15);
33 std::pair<float, float>(0.0625, 0.0625);
35 std::pair<float, float>(0.0625, 0.0625);
37 std::pair<float, float>(0.075, 0.0375);
39 std::pair<float, float>(0.075, 0.0375);
41 std::pair<float, float>(0.154, 0.151);
43 std::pair<float, float>(0.154, 0.151);
45 std::pair<float, float>(0.308, 0.151);
47 std::pair<float, float>(0.154, 0.151);
49 std::pair<float, float>(0.154, 0.151);
51 std::pair<float, float>(0.308, 0.151);
53 std::pair<float, float>(0.154, 0.151);
55 std::pair<float, float>(0.308, 0.151);
57 std::pair<float, float>(0.308, 0.151);
61 m_samples.push_back(CaloSampling::PreSamplerB);
62 m_samples.push_back(CaloSampling::PreSamplerE);
69 m_samples.push_back(CaloSampling::TileBar0);
70 m_samples.push_back(CaloSampling::TileBar1);
71 m_samples.push_back(CaloSampling::TileBar2);
72 m_samples.push_back(CaloSampling::TileExt0);
73 m_samples.push_back(CaloSampling::TileExt1);
74 m_samples.push_back(CaloSampling::TileExt2);
75 m_samples.push_back(CaloSampling::TileGap1);
76 m_samples.push_back(CaloSampling::TileGap2);
77 m_samples.push_back(CaloSampling::TileGap3);
96 m_dEtadPhiCore.resize(CaloSampling::Unknown, std::pair<float, float>(0, 0));
98 std::pair<float, float>(0.025, 0.06);
100 std::pair<float, float>(0.025, 0.06);
102 std::pair<float, float>(0.03, 0.07);
104 std::pair<float, float>(0.03, 0.07);
106 std::pair<float, float>(0.08, 0.06);
108 std::pair<float, float>(0.102, 0.101);
110 std::pair<float, float>(0.15, 0.06);
112 std::pair<float, float>(0.08, 0.06);
114 std::pair<float, float>(0.102, 0.101);
116 std::pair<float, float>(0.15, 0.06);
159 std::vector<const CaloCell*> cells;
167 using SampData = std::tuple<float, float, float>;
168 using SampDataPair = std::pair<CaloSample, SampData>;
169 std::map<CaloSample, SampData> sampleEtaPhiMap;
171 unsigned int samplingPattern = 0;
177 auto pos = entryExitLayerMap.find(samp);
178 if (pos != entryExitLayerMap.end()) {
181 auto midPoint = 0.5 * (pos->second.first + pos->second.second);
182 clusVec = clusVec + midPoint;
183 myList.
select(midPoint.eta(),
188 cells.insert(cells.end(), myList.
begin(), myList.
end());
190 for (
const auto* cell : myList)
193 sampleEtaPhiMap.insert(
194 SampDataPair(samp, std::make_tuple(e, midPoint.eta(), midPoint.phi())));
201 auto pos = entryExitLayerMap.find(samp);
202 if (pos != entryExitLayerMap.end()) {
205 auto midPoint = 0.5 * (pos->second.first + pos->second.second);
206 clusVec = clusVec + midPoint;
207 myList.
select(midPoint.eta(), midPoint.phi(), 0.1, samp);
208 cells.insert(cells.end(), myList.
begin(), myList.
end());
210 for (
const auto* cell : myList)
213 sampleEtaPhiMap.insert(
214 SampDataPair(samp, std::make_tuple(e, midPoint.eta(), midPoint.phi())));
221 float clusVecEta, clusVecPhi;
222 clusVecEta = clusVec.eta();
223 clusVecPhi = clusVec.phi();
237 for (
const auto* cell : cells) {
238 if (!cell || !cell->caloDDE())
240 int index = cellContainer.
findIndex(cell->caloDDE()->calo_hash());
246 for (
auto entry : sampleEtaPhiMap) {
247 cluster->
setEnergy(entry.first, std::get<0>(entry.second));
248 cluster->
setEta(entry.first, std::get<1>(entry.second));
249 cluster->
setPhi(entry.first, std::get<2>(entry.second));
252 cluster->
setEta(clusVecEta);
253 cluster->
setPhi(clusVecPhi);
260 std::vector<float>& etcore,
262 float sigmaNoiseCut)
const
269 float etCoreTile = 0;
271 std::vector<float> sampEt(CaloSampling::Unknown, 0);
273 for (
const auto* cell : clus) {
274 CaloSample samp = cell->caloDDE()->getSampling();
277 float deta = clusEta - cell->eta();
279 bool addCell =
false;
292 if (caloNoise && addCell &&
294 sigmaNoiseCut * caloNoise->
getNoise(cell->ID(), cell->gain())) {
299 sampEt[samp] += cell->energy() / cosh(clusEta);
303 etCoreEM += sampEt[CaloSampling::PreSamplerB];
304 etCoreEM += sampEt[CaloSampling::PreSamplerE];
305 etCoreEM += sampEt[CaloSampling::EMB1];
306 etCoreEM += sampEt[CaloSampling::EME1];
307 etCoreEM += sampEt[CaloSampling::EMB2];
308 etCoreEM += sampEt[CaloSampling::EME2];
309 etCoreEM += sampEt[CaloSampling::EMB3];
310 etCoreEM += sampEt[CaloSampling::EME3];
311 etCoreTile += sampEt[CaloSampling::TileBar0];
312 etCoreTile += sampEt[CaloSampling::TileBar1];
313 etCoreTile += sampEt[CaloSampling::TileBar2];
314 etCoreTile += sampEt[CaloSampling::TileExt0];
315 etCoreTile += sampEt[CaloSampling::TileExt1];
316 etCoreTile += sampEt[CaloSampling::TileExt2];
317 etCoreHEC += sampEt[CaloSampling::HEC0];
318 etCoreHEC += sampEt[CaloSampling::HEC1];
319 etCoreHEC += sampEt[CaloSampling::HEC2];
320 etCoreHEC += sampEt[CaloSampling::HEC3];
321 etCore = etCoreEM + etCoreTile + etCoreHEC;