23 ClusterThresholdSquared(cluster * cluster),
24 MaxSequentialHoles(holes),
25 MaxSequentialBad(bad),
27 RemoveApvShots(removeApvShots),
28 minGoodCharge(minGoodCharge) {}
30 template <
class digiDetSet>
33 if (cond.isModuleBad(digis.detId()))
36 auto const& det = cond.findDetId(digis.detId());
41 if (!cond.isModuleUsable(digis.detId()))
42 edm::LogWarning(
"ThreeThresholdAlgorithm") <<
" id " << digis.detId() <<
" not usable???" << std::endl;
45 typename digiDetSet::const_iterator scan(digis.begin()),
end(digis.end());
62 uint16_t holes = testStrip - state.
lastStrip - 1;
63 return (((!state.
ADCs.empty()) &
78 if (state.
ADCs.empty())
81 state.
ADCs.push_back(0);
83 state.
ADCs.push_back(adc);
103 std::pow(
float(std::accumulate(state.
ADCs.begin(), state.
ADCs.end(), int(0))), 2.f));
123 state.
ADCs.insert(state.
ADCs.begin(), 0);
126 state.
ADCs.push_back(0);
144 std::vector<SiStripCluster>&
out)
const {
float noise(const uint16_t strip) const
float weight(const uint16_t strip) const
tuple chan
lumi = TPaveText(lowX+0.38, lowY+0.061, lowX+0.45, lowY+0.161, "NDC") lumi.SetBorderSize( 0 ) lumi...
float ClusterThresholdSquared
void stripByStripEnd(State &state, std::vector< SiStripCluster > &out) const override
void reserve(size_type s)
void stripByStripAdd(State &state, uint16_t strip, uint8_t adc, std::vector< SiStripCluster > &out) const override
bool candidateAccepted(State const &state) const
bool allBadBetween(uint16_t L, const uint16_t &R) const
void endCandidate(State &state, T &) const
std::vector< uint8_t > ADCs
void clearCandidate(State &state) const
void appendBadNeighbors(State &state) const
bool bad(const uint16_t strip) const
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
bool candidateEnded(State const &state, const uint16_t &) const
void clusterizeDetUnit(const edm::DetSet< SiStripDigi > &, output_t::TSFastFiller &) const override
const SiStripClusterizerConditions & conditions() const
void addToCandidate(State &state, const SiStripDigi &digi) const
uint8_t MaxSequentialHoles
void applyGains(State &state) const
while(__syncthreads_or(more))
bool clean(const edmNew::DetSet< SiStripDigi > &in, edmNew::DetSet< SiStripDigi >::const_iterator &scan, edmNew::DetSet< SiStripDigi >::const_iterator &end)
Log< level::Warning, false > LogWarning
ThreeThresholdAlgorithm(const edm::ESGetToken< SiStripClusterizerConditions, SiStripClusterizerConditionsRcd > &, float, float, float, unsigned, unsigned, unsigned, bool removeApvShots, float minGoodCharge)
uint16_t firstStrip(State const &state) const
Power< A, B >::type pow(const A &a, const B &b)
uint16_t *__restrict__ uint16_t const *__restrict__ adc
void clusterizeDetUnit_(const T &, output_t::TSFastFiller &) const