12 edm::LogError(
"SiStripApvGain") <<
"[" << __PRETTY_FUNCTION__ <<
"] SiStripApvGain for DetID " << DetId <<
" is already stored. Skippig this put" << std::endl;
16 unsigned int sd= input.second-input.first;
19 unsigned int ibegin=
v_gains.size();
36 unsigned int ibegin = *(
v_ibegin.begin()+pd);
37 unsigned int iend = *(
v_iend.begin()+pd);
38 __builtin_prefetch((&
v_gains.front())+ibegin);
45 unsigned int ibegin = *(
v_ibegin.begin()+pos);
46 unsigned int iend = *(
v_iend.begin()+pos);
47 __builtin_prefetch((&
v_gains.front())+ibegin);
60 uint16_t apv = (uint16_t) (strip/128);
61 if (apv>=range.second-range.first){
63 <<
"[SiStripApvGain::getApvGain] looking for SiStripApvGain for a strip out of range: strip " << strip <<
" apv " << apv << std::endl;
68 return *(range.first+apv);
73 if (apv>=range.second-range.first){
75 <<
"[SiStripApvGain::getApvGain] looking for SiStripApvGain for an apv out of range: apv " << apv << std::endl;
80 return *(range.first+apv);
87 std::vector<unsigned int>::const_iterator detid =
v_detids.begin();
88 ss <<
"Number of detids " <<
v_detids.size() << std::endl;
90 for( ; detid !=
v_detids.end(); ++detid ) {
93 for(
int it=0; it < range.second - range.first; ++it ) {
94 ss <<
"detid " << *detid <<
" \t"
95 <<
" apv " << apv++ <<
" \t"
106 std::vector<uint32_t>::const_iterator detid =
v_detids.begin();
107 for( ; detid !=
v_detids.end(); ++detid ) {
109 for(
int it=0; it < range.second - range.first; ++it ) {
113 ss <<
"Summary of gain values:" << std::endl;
114 summaryGain.
print(ss,
true);
Registry::const_iterator RegistryConstIterator
static float getApvGain(uint16_t apv, const Range &range)
Registry::iterator RegistryIterator
Range getRangeByPos(unsigned short pos) const
void getDetIds(std::vector< uint32_t > &DetIds_) const
static std::string const input
bool put(const uint32_t &detID, Range input)
void printDebug(std::stringstream &ss) const
PixelRecoRange< float > Range
std::vector< float > v_gains
void printSummary(std::stringstream &ss) const
std::pair< ContainerIterator, ContainerIterator > Range
std::vector< unsigned int > v_iend
void print(std::stringstream &ss, const bool mean=true) const
std::vector< unsigned int > v_detids
static float getStripGain(uint16_t strip, const Range &range)
std::vector< unsigned int > v_ibegin
const Range getRange(const uint32_t detID) const
void add(const DetId &detid, const float &value)
Used to compute the mean value of the value variable divided by subdetector, layer and mono/stereo...