15 #define COUT std::cout 17 #define COUT LogDebug("StripClusterizerAlgorithm") 51 COUT <<
"cabling " <<
conn.size() << std::endl;
54 for (
auto const&
c :
conn) {
60 COUT <<
"good detIds " <<
detIds.size() << std::endl;
78 std::vector<uint32_t> dum;
81 unsigned short j = 0,
i = 0;
82 while (
i < dum.size() && j <
detIds.size()) {
101 assert(nn <= dum.size());
102 COUT <<
"quality " << dum.size() <<
" " << nn << std::endl;
105 std::vector<uint32_t> dum;
108 unsigned short j = 0,
i = 0;
109 while (
i < dum.size() && j <
detIds.size()) {
128 assert(nn <= dum.size());
129 COUT <<
"noise " << dum.size() <<
" " << nn << std::endl;
132 std::vector<uint32_t> dum;
135 unsigned short j = 0,
i = 0;
136 while (
i < dum.size() && j <
detIds.size()) {
155 assert(nn <= dum.size());
156 COUT <<
"gain " << dum.size() <<
" " << nn << std::endl;
164 auto p = std::lower_bound(
b,
e,
id);
165 if (
p ==
e ||
id != (*
p)) {
166 #ifdef NOT_ON_MONTECARLO 167 edm::LogWarning(
"StripClusterizerAlgorithm") <<
"id " <<
id <<
" not connected. this is impossible on data " 168 <<
"old id " << detId << std::endl;
206 s <<
"Digi charge of " << digi.
adc() <<
" ADC " 207 <<
"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