15 #define COUT std::cout 17 #define COUT LogDebug("StripClusterizerAlgorithm") 52 COUT <<
"cabling " << conn.size() << std::endl;
54 detIds.reserve(conn.size());
58 COUT <<
"good detIds " <<
detIds.size() << std::endl;
60 if (
detIds.empty())
return;
79 unsigned short j=0,
i=0;
80 while (
i<dum.size() && j<
detIds.size()) {
89 assert(nn<=dum.size());
90 COUT <<
"quality " << dum.size() <<
" " <<nn<< std::endl;
95 unsigned short j=0,
i=0;
96 while (
i<dum.size() && j<
detIds.size()) {
105 assert(nn<=dum.size());
106 COUT <<
"noise " << dum.size() <<
" " <<nn<< std::endl;
111 unsigned short j=0,
i=0;
112 while (
i<dum.size() && j<
detIds.size()) {
121 assert(nn<=dum.size());
122 COUT <<
"gain " << dum.size() <<
" " <<nn<< std::endl;
133 auto p = std::lower_bound(
b,
e,
id);
134 if (
p==
e ||
id!=(*
p)) {
135 #ifdef NOT_ON_MONTECARLO 137 <<
"id " <<
id <<
" not connected. this is impossible on data " 138 <<
"old id " << detId << std::endl;
173 s <<
"Digi charge of " << digi.
adc() <<
" ADC " 174 <<
"is out of range on strip " << digi.
strip() <<
". ";
SiStripQuality::Range qualityRange
edm::ESHandle< SiStripQuality > qualityHandle
void getDetIds(std::vector< uint32_t > &DetIds_) const
const std::map< uint32_t, std::vector< const FedChannelConnection * > > & getDetCabling() const
std::map< uint32_t, std::vector< int > > const & connected() const
void clusterize(const edm::DetSetVector< SiStripDigi > &, output_t &) const
void append(Exception const &another)
edm::ESHandle< SiStripGain > gainHandle
SiStripQuality const * quality
Range getRangeByPos(unsigned short pos) const
bool isModuleBad(const uint32_t &id) const
SiStripApvGain::Range gainRange
InvalidChargeException(const SiStripDigi &)
edm::ESHandle< SiStripNoises > noiseHandle
static std::string const input
const uint16_t & strip() const
std::vector< std::vector< const FedChannelConnection * > > connections
void clusterize_(const T &input, output_t &output) const
SiStripDetCabling const * cabling() const
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
void getDetIds(std::vector< uint32_t > &DetIds_) const
ATTENTION: we assume the detIds are the same as those from the first gain.
SiStripDetCabling const * theCabling
static unsigned short invalidI
Namespace of DDCMS conversion namespace.
void getDetIds(std::vector< uint32_t > &DetIds_) const
bool isModuleUsable(const uint32_t &id) const
virtual void initialize(const edm::EventSetup &)
SiStripDetCabling const * cabling() const
SiStripApvGain::Range getRangeByPos(unsigned short pos) const
std::vector< Index > indices
uint32_t quality_cache_id
SiStripNoises::Range noiseRange
const Range getRange(const uint32_t detID) const
Det findDetId(const uint32_t) const
Range getRangeByPos(unsigned short pos) const
const Range getRange(const uint32_t detID) const
std::vector< uint32_t > detIds
const uint16_t & adc() const
T mod(const T &a, const T &b)
T const * product() const
const SiStripApvGain::Range getRange(uint32_t detID) const