23 Registry::iterator
p =
26 if (p ==
indexes_.end() || p->detid != DetId) {
32 detregistry.
detid = DetId;
37 for (
size_t i = 0;
i < userContent.size(); ++
i)
42 if (p->detid == DetId) {
46 for (
size_t i = 0;
i < userContent.size(); ++
i)
56 std::vector<std::string>& userContent) {
58 return put(fakeDet, input, userContent);
63 if (p ==
indexes_.end() || p->detid != DetId) {
65 std::cout <<
"not in range " << std::endl;
72 std::vector<uint32_t> DetIds_;
76 DetIds_.push_back(
p->detid);
89 edm::LogError(
"SiStripSummary") <<
"attempting to retrieve non existing historic DB object : " << elementName
98 if (p ==
indexes_.end() || p->detid != detID) {
99 throw cms::Exception(
"") <<
"not allowed to modify " << elementName
100 <<
" in historic DB - SummaryObj needs to be available first !";
105 std::vector<float>::const_iterator it = range.first +
getPosition(elementName);
106 std::vector<float>::difference_type pos = -1;
108 pos = it -
v_sum_.begin();
114 std::vector<float> SummaryObj;
116 if (range.first != range.second) {
117 for (
unsigned int i = 0;
i < list.size();
i++) {
121 SummaryObj.push_back(*((range.first) + pos));
123 SummaryObj.push_back(-999.);
126 for (
unsigned int i = 0;
i < list.size();
i++)
127 SummaryObj.push_back(
134 const std::vector<std::string>& list)
const {
135 uint32_t fakeDet =
region;
140 std::vector<float> SummaryObj;
142 if (range.first != range.second) {
144 SummaryObj.push_back(*((range.first) +
i));
147 SummaryObj.push_back(-99.);
155 std::vector<float> vSumElement;
156 std::vector<uint32_t> DetIds_ =
getDetIds();
160 for (
unsigned int i = 0;
i < DetIds_.size();
i++) {
162 if (range.first != range.second) {
163 vSumElement.push_back(*((range.first) + pos));
165 vSumElement.push_back(-99.);
174 std::cout <<
"Nr. of detector elements in SiStripSummary object is " <<
indexes_.size() <<
" RunNr= " <<
runNr_
std::vector< uint32_t > getDetIds() const
unsigned long long getTimeValue() const
const Range getRange(const uint32_t &detID) const
std::vector< DetRegistry > indexes_
Registry::const_iterator RegistryIterator
std::pair< ContainerIterator, ContainerIterator > Range
Log< level::Error, false > LogError
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
static std::string const input
const uint16_t range(const Frame &aFrame)
std::vector< float > v_sum_
void setObj(const uint32_t &detID, std::string elementName, float value)
unsigned long long timeValue_
std::vector< float > InputVector
bool put(const uint32_t &detID, InputVector &input, std::vector< std::string > &userContent)
std::vector< std::string > getUserDBContent() const
__host__ __device__ constexpr RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
std::vector< float > getSummaryObj() const
std::vector< std::string > userDBContent_
const short getPosition(std::string elementName) const