8 #include <fmt/format.h>
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";
81 for (
int r = 0;
r < 3;
r++) {
85 for (
int x = 1;
x < 8;
x++) {
91 ibooker.
book2D(
"RPC_System_Quality_Overview",
"RPC_System_Quality_Overview", 7, 0.5, 7.5, 3, 0.5, 3.5);
96 for (
int x = 1;
x < 8;
x++) {
100 for (
int w = -2;
w < 3;
w++) {
108 for (
int x = 1;
x < 8;
x++) {
117 fmt::format(
"RPCChamberQuality_Ring_vs_Segment_Disk{}",
d);
123 for (
int x = 1;
x < 8;
x++) {
141 for (
int r = 0;
r < 3;
r++) {
143 summary[
r] = igetter.
get(meName);
145 if (summary[r] !=
nullptr)
150 for (
int wheel = -2; wheel < 3; wheel++) {
170 RpcOverview->
Reset();
173 for (
int r = 0;
r < 3;
r++) {
174 if (summary[
r] ==
nullptr)
179 for (
int x = 1;
x <= 7;
x++) {
194 const int pos = MESufix.find_last_of(
'_');
214 int xBinMax, yBinMax;
221 for (
int x = 1;
x < xBinMax;
x++) {
227 else if (
x == 9 ||
x == 11)
232 for (
int y = 1;
y < yBinMax;
y++) {
237 float noisystrips = 0;
247 if (hv != 1 || lv != 1) {
254 }
else if (0.33 <= dead && dead < 0.80) {
259 if (firstbin >= 0.88) {
264 if (noisystrips > 0) {
287 RCQD->
Fill(chamberState);
289 quality->
Fill(chamberState);
Log< level::Info, true > LogVerbatim
T getUntrackedParameter(std::string const &, T const &) const
virtual void setCurrentFolder(std::string const &fullpath)
math::XYZTLorentzVectorD LV
uint32_t const *__restrict__ Quality * quality
static const std::string xLabels_[7]
void fillMonitorElements(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
RPCChamberQuality(const edm::ParameterSet &ps)
virtual double getEntries() const
get # of entries
virtual MonitorElement * get(std::string const &fullpath) const
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
virtual double getBinContent(int binx) const
get content of bin (1-D)
void performeClientOperation(std::string, int, MonitorElement *, DQMStore::IGetter &)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
~RPCChamberQuality() override
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * RpcEvents
static const std::string regions_[3]
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
static MonitorElement * bookBarrel(IBooker &booker, const int wheel, const std::string &prefix, const std::string &title, const bool useRollInfo)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
static MonitorElement * bookEndcap(IBooker &booker, const int disk, const std::string &prefix, const std::string &title, const bool useRollInfo)
void myBooker(DQMStore::IBooker &)