9 bool setDetId,
bool removeApvShots)
10 : ChannelThreshold( chan ), SeedThreshold( seed ), ClusterThresholdSquared( cluster*cluster ),
11 MaxSequentialHoles( holes ), MaxSequentialBad( bad ), MaxAdjacentBad( adj ), RemoveApvShots(removeApvShots) {
17 template<
class digiDetSet>
24 typename digiDetSet::const_iterator
25 scan( digis.begin() ),
33 while( scan !=
end ) {
43 uint16_t holes = testStrip -
lastStrip - 1;
44 return ( !
ADCs.empty() &&
90 for( std::vector<uint16_t>::iterator
adc =
ADCs.begin();
adc !=
ADCs.end();
adc++) {
92 if(*
adc > 253)
continue;
93 uint16_t
charge =
static_cast<uint16_t
>( *
adc/
gain(strip++) + 0.5 );
94 *
adc = ( charge > 1022 ? 255 :
95 ( charge > 253 ? 254 :
charge ));
int adc(sample_type sample)
get the ADC sample (12 bits)
bool bad(const uint16_t &strip) const
uint16_t firstStrip() const
float ClusterThresholdSquared
void addToCandidate(const SiStripDigi &)
float noise(const uint16_t &strip) const
int bad(Items const &cont)
void stripByStripAdd(uint16_t strip, uint16_t adc, std::vector< SiStripCluster > &out)
bool candidateEnded(const uint16_t &) const
const T & max(const T &a, const T &b)
SiStripApvShotCleaner ApvCleaner
const uint16_t & strip() const
std::vector< uint16_t > ADCs
bool stripByStripBegin(uint32_t id)
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
ThreeThresholdAlgorithm(float, float, float, unsigned, unsigned, unsigned, std::string qualityLabel, bool setDetId, bool removeApvShots=false)
uint8_t MaxSequentialHoles
virtual void setDetId(const uint32_t)
void stripByStripEnd(std::vector< SiStripCluster > &out)
bool isModuleUsable(const uint32_t &id) const
bool allBadBetween(uint16_t L, const uint16_t &R) const
void clusterizeDetUnit(const edm::DetSet< SiStripDigi > &, output_t::FastFiller &)
void appendBadNeighbors()
float gain(const uint16_t &strip) const
void clusterizeDetUnit_(const T &, output_t::FastFiller &)
bool clean(const edmNew::DetSet< SiStripDigi > &in, edmNew::DetSet< SiStripDigi >::const_iterator &scan, edmNew::DetSet< SiStripDigi >::const_iterator &end)
const uint16_t & adc() const
bool candidateAccepted() const
Power< A, B >::type pow(const A &a, const B &b)