5 #define LOGVERB(x) edm::LogVerbatim(x)
6 #define LOGWARN(x) edm::LogWarning(x)
7 #define LOGERR(x) edm::LogError(x)
8 #define LOGDRESSED(x) edm::LogInfo(x)
10 #define LOGVERB(x) LogTrace(x)
11 #define LOGWARN(x) edm::LogWarning(x)
12 #define LOGERR(x) edm::LogError(x)
13 #define LOGDRESSED(x) LogDebug(x)
17 const std::vector<bool>& rechitMask,
18 const std::vector<bool>& seedable,
21 std::vector<bool> used(
hits.size(),
false);
22 std::vector<unsigned int>
seeds;
26 for (
unsigned int i = 0;
i <
hits.size(); ++
i) {
27 if (!rechitMask[
i] || !seedable[
i] || used[
i])
33 seeds.begin(),
seeds.end(), [&](
unsigned int i,
unsigned int j) {
return hits[
i].energy() >
hits[
j].energy(); });
41 if (!
temp.recHitFractions().empty())
47 const std::vector<bool>& rechitMask,
49 std::vector<bool>& used,
51 auto const& cell = (*input)[kcell];
52 int cell_layer = (
int)cell.layer();
58 double thresholdE = 0.;
59 double thresholdPT2 = 0.;
72 if (cell.energy() < thresholdE || cell.pt2() < thresholdPT2) {
73 LOGDRESSED(
"GenericTopoCluster::buildTopoCluster()")
74 <<
"RecHit " << cell.detId() <<
" with enegy " << cell.energy() <<
" GeV was rejected!." << std::endl;
83 auto const& neighbours = (
_useCornerCells ? cell.neighbours8() : cell.neighbours4());
85 for (
auto nb : neighbours) {
86 if (used[nb] || !rechitMask[nb]) {
87 LOGDRESSED(
"GenericTopoCluster::buildTopoCluster()")
88 <<
" RecHit " << cell.detId() <<
"\'s"
89 <<
" neighbor RecHit " <<
input->at(nb).detId() <<
" with enegy " <<
input->at(nb).energy()
90 <<
" GeV was rejected!"
91 <<
" Reasons : " << used[nb] <<
" (used) " << !rechitMask[nb] <<
" (masked)." << std::endl;