12 bool removeApvShots,
float minGoodCharge)
14 MaxSequentialHoles( holes ), MaxSequentialBad( bad ), MaxAdjacentBad( adj ), RemoveApvShots(removeApvShots), minGoodCharge(minGoodCharge) {
18 template<
class digiDetSet>
24 auto const & det =
findDetId( digis.detId());
25 if (!det.valid())
return;
29 edm::LogWarning(
"ThreeThresholdAlgorithm") <<
" id " << digis.detId() <<
" not usable???" << std::endl;
33 typename digiDetSet::const_iterator
34 scan( digis.begin() ),
43 while( scan !=
end ) {
53 uint16_t holes = testStrip - state.
lastStrip - 1;
54 return ( ( (!state.
ADCs.empty()) &
66 float Noise = state.
det().
noise( strip );
74 state.
ADCs.push_back( adc );
96 <=
std::pow(
float(std::accumulate(state.
ADCs.begin(),state.
ADCs.end(), int(0))), 2.f));
103 for(
auto &
adc : state.
ADCs) {
int adc(sample_type sample)
get the ADC sample (12 bits)
ThreeThresholdAlgorithm(float, float, float, unsigned, unsigned, unsigned, std::string qualityLabel, bool removeApvShots, float minGoodCharge)
float ClusterThresholdSquared
bool isModuleBad(const uint32_t &id) const
void stripByStripEnd(State &state, std::vector< SiStripCluster > &out) const override
void stripByStripAdd(State &state, uint16_t strip, uint8_t adc, std::vector< SiStripCluster > &out) const override
bool candidateAccepted(State const &state) const
Det stripByStripBegin(uint32_t id) 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
bool allBadBetween(uint16_t L, const uint16_t &R) const
float gain(const uint16_t &strip) const
void addToCandidate(State &state, const SiStripDigi &digi) const
uint8_t MaxSequentialHoles
bool isModuleUsable(const uint32_t &id) const
void applyGains(State &state) const
Det findDetId(const uint32_t) const
bool clean(const edmNew::DetSet< SiStripDigi > &in, edmNew::DetSet< SiStripDigi >::const_iterator &scan, edmNew::DetSet< SiStripDigi >::const_iterator &end)
uint16_t firstStrip(State const &state) const
float noise(const uint16_t &strip) const
Power< A, B >::type pow(const A &a, const B &b)
void clusterizeDetUnit_(const T &, output_t::TSFastFiller &) const