|
|
Go to the documentation of this file.
11 "Good",
"OFF",
"Nois.St",
"Nois.Ch",
"Part.Dead",
"Dead",
"Bad.Shape"};
23 summaryDir_ = subsystemFolder +
"/" + recHitTypeFolder +
"/" + summaryFolder;
24 prefixDir_ = subsystemFolder +
"/" + recHitTypeFolder;
45 edm::LogVerbatim(
"rpcchamberquality") <<
"[RPCChamberQuality]: End Lumi Block";
48 edm::LogVerbatim(
"rpcchamberquality") <<
"[RPCChamberQuality]: Performing DQM client operation";
66 edm::LogVerbatim(
"rpcchamberquality") <<
"[RPCChamberQuality]: Performing DQM client operation";
86 for (
int r = 0;
r < 3;
r++) {
91 for (
int x = 1;
x < 8;
x++) {
97 histoName <<
"RPC_System_Quality_Overview";
99 me->setBinLabel(1,
"E-", 2);
100 me->setBinLabel(2,
"B", 2);
101 me->setBinLabel(3,
"E+", 2);
103 for (
int x = 1;
x < 8;
x++) {
107 for (
int w = -2;
w < 3;
w++) {
110 histoName <<
"RPCChamberQuality_Roll_vs_Sector_Wheel" <<
w;
117 histoName <<
"RPCChamberQuality_Distribution_Wheel" <<
w;
120 for (
int x = 1;
x < 8;
x++) {
129 histoName <<
"RPCChamberQuality_Ring_vs_Segment_Disk" <<
d;
135 histoName <<
"RPCChamberQuality_Distribution_Disk" <<
d;
138 for (
int x = 1;
x < 8;
x++) {
145 std::stringstream meName;
160 for (
int r = 0;
r < 3;
r++) {
172 meName <<
"Roll_vs_Sector_Wheel" <<
wheel;
183 meName <<
"Ring_vs_Segment_Disk" <<
i;
193 meName <<
summaryDir_ <<
"/RPC_System_Quality_Overview";
194 RpcOverview = igetter.
get(meName.str());
195 RpcOverview->
Reset();
198 for (
int r = 0;
r < 3;
r++) {
201 double entries =
summary[
r]->getEntries();
204 for (
int x = 1;
x <= 7;
x++) {
226 std::stringstream meName;
229 meName <<
summaryDir_ <<
"/RPCChamberQuality_" << MESufix;
230 RCQ = igetter.
get(meName.str());
233 int pos = MESufix.find_last_of(
'_');
235 meName <<
summaryDir_ <<
"/RPCChamberQuality_Distribution" << MESufix.substr(
pos);
236 RCQD = igetter.
get(meName.str());
243 HV = igetter.
get(meName.str());
247 LV = igetter.
get(meName.str());
250 meName <<
summaryDir_ <<
"/DeadChannelFraction_" << MESufix;
251 DEAD = igetter.
get(meName.str());
254 meName <<
summaryDir_ <<
"/ClusterSizeIn1Bin_" << MESufix;
255 CLS = igetter.
get(meName.str());
258 meName <<
summaryDir_ <<
"/RPCNoisyStrips_" << MESufix;
259 NoisySt = igetter.
get(meName.str());
262 meName <<
summaryDir_ <<
"/NumberOfDigi_Mean_" << MESufix;
263 MULT = igetter.
get(meName.str());
266 meName <<
summaryDir_ <<
"/AsymmetryLeftRight_" << MESufix;
267 Chip = igetter.
get(meName.str());
269 int xBinMax, yBinMax;
276 for (
int x = 1;
x < xBinMax;
x++) {
282 else if (
x == 9 ||
x == 11)
287 for (
int y = 1;
y < yBinMax;
y++) {
292 float noisystrips = 0;
300 lv = (
int)
LV->getBinContent(
x,
y);
302 if (hv != 1 || lv != 1) {
306 dead =
DEAD->getBinContent(
x,
y);
309 }
else if (0.33 <= dead && dead < 0.80) {
314 if (firstbin >= 0.88) {
319 if (noisystrips > 0) {
342 RCQD->
Fill(chamberState);
void labelXAxisSegment(MonitorElement *myMe)
void fillMonitorElements(DQMStore::IGetter &)
virtual void setCurrentFolder(std::string const &fullpath)
static const std::string regions_[3]
void labelYAxisRoll(MonitorElement *myMe, int region, int ring, bool useRollInfo)
T getUntrackedParameter(std::string const &, T const &) const
RPCChamberQuality(const edm::ParameterSet &ps)
MonitorElement * RpcEvents
const uint32_t *__restrict__ Quality * quality
void performeClientOperation(std::string, int, MonitorElement *, DQMStore::IGetter &)
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
static const std::string xLabels_[7]
void labelYAxisRing(MonitorElement *myMe, int numberOfRings, bool useRollInfo)
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
Log< level::Info, true > LogVerbatim
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
math::XYZTLorentzVectorD LV
void labelXAxisSector(MonitorElement *myMe)
virtual MonitorElement * get(std::string const &fullpath) const
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
virtual double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
~RPCChamberQuality() override
void myBooker(DQMStore::IBooker &)