1 #ifndef DataFormats_Histograms_MonitorElementCollection_h 2 #define DataFormats_Histograms_MonitorElementCollection_h 186 while (not
path.empty() and
path.front() ==
'/') {
193 while (tokenStartPos <
path.size()) {
194 auto tokenEndPos =
path.find(
'/', tokenStartPos);
195 if (tokenEndPos == std::string::npos) {
196 tokenEndPos =
path.size();
198 if (0 == tokenEndPos - tokenStartPos) {
200 path.erase(
path.begin() + tokenStartPos);
202 }
else if (2 == tokenEndPos - tokenStartPos) {
203 if (
path[tokenStartPos] ==
'.' and
path[tokenStartPos + 1] ==
'.') {
205 auto endOfLastToken = tokenStartPos;
206 if (tokenStartPos > 1) {
209 auto startOfLastToken =
path.rfind(
'/', endOfLastToken);
210 if (startOfLastToken == std::string::npos) {
215 path.erase(
path.begin() + startOfLastToken + 1,
path.begin() + tokenEndPos);
216 tokenStartPos = startOfLastToken + 1;
221 tokenStartPos = tokenEndPos + 1;
227 if (not
path.empty() and
path.back() !=
'/') {
232 auto lastSlash =
path.rfind(
'/');
233 if (lastSlash == std::string::npos) {
245 return this->dirname_ ==
other.dirname_ && this->objname_ ==
other.objname_;
261 auto makeKeyTuple = [](
Key const&
k) {
262 return std::make_tuple(
263 k.path_.getDirname(),
k.path_.getObjectname(),
k.scope_,
k.id_.run(),
k.id_.luminosityBlock());
266 return makeKeyTuple(*
this) < makeKeyTuple(
other);
282 std::vector<std::unique_ptr<const MonitorElementData>>
data_;
299 assert(!
"Not implemented yet.");
void swap(MonitorElementCollection &other)
float getQTresult() const
get test result i.e. prob value
const std::vector< DQMChannel > & getBadChannels() const
edm::propagate_const< std::unique_ptr< TH1 > > object_
const std::string & getAlgorithm() const
get quality test algorithm
std::vector< DQMChannel > badChannels_
edm::LuminosityBlockID id_
std::string const & getDirname() const
std::vector< std::unique_ptr< const MonitorElementData > > data_
bool operator==(Path const &other) const
void push_back(std::unique_ptr< const MonitorElementData > value)
void setBadChannels(std::vector< DQMChannel > badChannels)
std::string getFullname() const
const std::string & getMessage() const
get message attached to test
DQMChannel(int bx, int by, int bz, float data, float rms)
const std::string & getQRName() const
get name of quality test
std::vector< QReport > qreports_
char data[epos_bytes_allocation]
int getStatus() const
get test status
bool operator<(Key const &other) const
QValue & getValue()
access underlying value
bool operator<(MonitorElementData const &other) const
std::string const & getObjectname() const
bool mergeProduct(MonitorElementCollection const &product)
QValue const & getValue() const