1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
#ifndef MESetMulti_H
#define MESetMulti_H
#include "MESet.h"
namespace ecaldqm {
/* class MESetMulti
wrapper for a set of MESets
limit() filters out unused MESets
use() method sets the MESet to be used
*/
class MESetMulti : public MESet {
public:
typedef std::map<std::string, std::vector<std::string>> ReplCandidates;
MESetMulti(MESet const &, ReplCandidates const &);
MESetMulti(MESetMulti const &);
~MESetMulti() override;
MESet &operator=(MESet const &) override;
MESet *clone(std::string const & = "") const override;
void book(DQMStore::IBooker &, EcalElectronicsMapping const *) override;
bool retrieve(EcalElectronicsMapping const *, DQMStore::IGetter &, std::string * = nullptr) const override;
void clear() const override;
void fill(
EcalDQMSetupObjects const edso, DetId const &_id, double _xyw = 1., double _yw = 1., double _w = 1.) override {
current_->fill(edso, _id, _xyw, _yw, _w);
}
void fill(EcalDQMSetupObjects const edso,
EcalElectronicsId const &_id,
double _xyw = 1.,
double _yw = 1.,
double _w = 1.) override {
current_->fill(edso, _id, _xyw, _yw, _w);
}
void fill(
EcalDQMSetupObjects const edso, int _dcctccid, double _xyw = 1., double _yw = 1., double _w = 1.) override {
current_->fill(edso, _dcctccid, _xyw, _yw, _w);
}
void fill(EcalDQMSetupObjects const edso, double _x, double _yw = 1., double _w = 1.) override {
current_->fill(edso, _x, _yw, _w);
}
void setBinContent(EcalDQMSetupObjects const edso, DetId const &_id, double _content) override {
current_->setBinContent(edso, _id, _content);
}
void setBinContent(EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, double _content) override {
current_->setBinContent(edso, _id, _content);
}
void setBinContent(EcalDQMSetupObjects const edso, int _dcctccid, double _content) override {
current_->setBinContent(edso, _dcctccid, _content);
}
void setBinContent(EcalDQMSetupObjects const edso, DetId const &_id, int _bin, double _content) override {
current_->setBinContent(edso, _id, _bin, _content);
}
void setBinContent(EcalDQMSetupObjects const edso,
EcalElectronicsId const &_id,
int _bin,
double _content) override {
current_->setBinContent(edso, _id, _bin, _content);
}
void setBinContent(EcalDQMSetupObjects const edso, int _dcctccid, int _bin, double _content) override {
current_->setBinContent(edso, _dcctccid, _bin, _content);
}
void setBinError(EcalDQMSetupObjects const edso, DetId const &_id, double _error) override {
current_->setBinError(edso, _id, _error);
}
void setBinError(EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, double _error) override {
current_->setBinError(edso, _id, _error);
}
void setBinError(EcalDQMSetupObjects const edso, int _dcctccid, double _error) override {
current_->setBinError(edso, _dcctccid, _error);
}
void setBinError(EcalDQMSetupObjects const edso, DetId const &_id, int _bin, double _error) override {
current_->setBinError(edso, _id, _bin, _error);
}
void setBinError(EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin, double _error) override {
current_->setBinError(edso, _id, _bin, _error);
}
void setBinError(EcalDQMSetupObjects const edso, int _dcctccid, int _bin, double _error) override {
current_->setBinError(edso, _dcctccid, _bin, _error);
}
void setBinEntries(EcalDQMSetupObjects const edso, DetId const &_id, double _entries) override {
current_->setBinEntries(edso, _id, _entries);
}
void setBinEntries(EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, double _entries) override {
current_->setBinEntries(edso, _id, _entries);
}
void setBinEntries(EcalDQMSetupObjects const edso, int _dcctccid, double _entries) override {
current_->setBinEntries(edso, _dcctccid, _entries);
}
void setBinEntries(EcalDQMSetupObjects const edso, DetId const &_id, int _bin, double _entries) override {
current_->setBinEntries(edso, _id, _bin, _entries);
}
void setBinEntries(EcalDQMSetupObjects const edso,
EcalElectronicsId const &_id,
int _bin,
double _entries) override {
current_->setBinEntries(edso, _id, _bin, _entries);
}
void setBinEntries(EcalDQMSetupObjects const edso, int _dcctccid, int _bin, double _entries) override {
current_->setBinEntries(edso, _dcctccid, _bin, _entries);
}
double getBinContent(EcalDQMSetupObjects const edso, DetId const &_id, int _bin = 0) const override {
return current_->getBinContent(edso, _id, _bin);
}
double getBinContent(EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin = 0) const override {
return current_->getBinContent(edso, _id, _bin);
}
double getBinContent(EcalDQMSetupObjects const edso, int _dcctccid, int _bin = 0) const override {
return current_->getBinContent(edso, _dcctccid, _bin);
}
double getBinError(EcalDQMSetupObjects const edso, DetId const &_id, int _bin = 0) const override {
return current_->getBinError(edso, _id, _bin);
}
double getBinError(EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin = 0) const override {
return current_->getBinError(edso, _id, _bin);
}
double getBinError(EcalDQMSetupObjects const edso, int _dcctccid, int _bin = 0) const override {
return current_->getBinError(edso, _dcctccid, _bin);
}
double getBinEntries(EcalDQMSetupObjects const edso, DetId const &_id, int _bin = 0) const override {
return current_->getBinEntries(edso, _id, _bin);
}
double getBinEntries(EcalDQMSetupObjects const edso, EcalElectronicsId const &_id, int _bin = 0) const override {
return current_->getBinEntries(edso, _id, _bin);
}
double getBinEntries(EcalDQMSetupObjects const edso, int _dcctccid, int _bin = 0) const override {
return current_->getBinEntries(edso, _dcctccid, _bin);
}
void reset(EcalElectronicsMapping const *, double = 0., double = 0., double = 0.) override;
void resetAll(double = 0., double = 0., double = 0.) override;
bool maskMatches(DetId const &_id,
uint32_t _mask,
StatusManager const *_statusManager,
EcalTrigTowerConstituentsMap const *trigTowerMap) const override {
return current_ && current_->maskMatches(_id, _mask, _statusManager, trigTowerMap);
}
bool isVariableBinning() const override { return current_->isVariableBinning(); }
std::string const &getPath() const override { return current_->getPath(); }
MonitorElement const *getME(unsigned _iME) const override { return current_->getME(_iME); }
MonitorElement *getME(unsigned _iME) override { return current_->getME(_iME); }
void use(unsigned) const;
MESet *getCurrent() const { return current_; }
unsigned getMultiplicity() const { return sets_.size(); }
unsigned getIndex(PathReplacements const &) const;
const_iterator begin(EcalElectronicsMapping const *electronicsMap) const override {
return const_iterator(electronicsMap, *current_);
}
const_iterator end(EcalElectronicsMapping const *electronicsMap) const override {
return const_iterator(electronicsMap, *current_, -1, -1);
}
const_iterator beginChannel(EcalElectronicsMapping const *electronicsMap) const override {
return current_->beginChannel(electronicsMap);
}
iterator begin(EcalElectronicsMapping const *electronicsMap) override {
return iterator(electronicsMap, *current_);
}
iterator end(EcalElectronicsMapping const *electronicsMap) override {
return iterator(electronicsMap, *current_, -1, -1);
}
iterator beginChannel(EcalElectronicsMapping const *electronicsMap) override {
return current_->beginChannel(electronicsMap);
}
protected:
mutable MESet *current_;
std::vector<MESet *> sets_;
ReplCandidates replCandidates_;
};
} // namespace ecaldqm
#endif
|