30 if(p==
indexes_.end() || p->detid!=DetId){
36 detregistry.
detid = DetId;
41 for(
size_t i=0;
i<userContent.size();++
i)
51 for(
size_t i=0;
i<userContent.size();++
i)
64 if (p==
indexes_.end()|| p->detid!=DetId) {
74 std::vector<uint32_t> DetIds_;
78 DetIds_.push_back(
p->detid);
92 else edm::LogError(
"HDQMSummary") <<
"attempting to retrieve non existing historic DB object : "<< elementName <<std::endl;
103 if (p==
indexes_.end()|| p->detid!=detID)
106 <<
"not allowed to modify "<< elementName <<
" in historic DB - SummaryObj needs to be available first !";
111 std::vector<float>::const_iterator it = range.first+
getPosition(elementName);
112 std::vector<float>::difference_type
pos = -1;
114 pos = it -
v_sum_.begin();
121 std::vector<std::string>
list = _list;
122 std::vector<float> SummaryObj;
124 if (range.first != range.second ) {
125 for (
unsigned int i=0;
i<list.size();
i++){
129 SummaryObj.push_back(*((range.first)+pos));
131 SummaryObj.push_back(-999.);
135 for (
unsigned int i=0;
i<list.size();
i++) SummaryObj.push_back(-99.);
142 std::vector<float> SummaryObj;
144 if (range.first != range.second ) {
145 for (
unsigned int i=0;
i<
userDBContent_.size();
i++) SummaryObj.push_back(*((range.first)+
i));}
147 for (
unsigned int i=0;
i<
userDBContent_.size();
i++) SummaryObj.push_back(-99.);}
161 std::vector<float> vSumElement;
162 std::vector<uint32_t> DetIds_ =
getDetIds();
167 for (
unsigned int i=0;
i<DetIds_.size();
i++){
169 if (range.first != range.second ) {
170 vSumElement.push_back(*((range.first)+pos));}
171 else { vSumElement.push_back(-99.);}
181 std::cout <<
"Nr. of detector elements in HDQMSummary object is " <<
indexes_.size()
std::pair< ContainerIterator, ContainerIterator > Range
unsigned long long getTimeValue() const
bool put(const uint32_t &detID, InputVector &input, std::vector< std::string > &userContent)
std::vector< float > v_sum_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void setObj(const uint32_t &detID, std::string elementName, float value)
static std::string const input
unsigned long long timeValue_
std::vector< float > InputVector
Registry::const_iterator RegistryIterator
std::vector< DetRegistry > indexes_
std::vector< std::string > userDBContent_
std::vector< float > getSummaryObj() const
const short getPosition(std::string elementName) const
const Range getRange(const uint32_t &detID) const
std::vector< std::vector< double > > tmp
std::vector< uint32_t > getDetIds() const
std::vector< std::string > getUserDBContent() const
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run