11 std::map<std::string, MonitorElement*>& meMap) {
37 tmpStr =
"Occupancy_" + nameRoll;
38 meMap[tmpStr] = ibooker.
book1D(tmpStr, tmpStr, nstrips, 0.5, nstrips + 0.5);
40 tmpStr =
"BXDistribution_" + nameRoll;
41 meMap[tmpStr] = ibooker.
book1D(tmpStr, tmpStr, 7, -3.5, 3.5);
44 tmpStr =
"Multiplicity_" + nameRoll;
45 meMap[tmpStr] = ibooker.
book1D(tmpStr, tmpStr, 30, 0.5, 30.5);
48 tmpStr =
"Multiplicity_" + nameRoll;
49 meMap[tmpStr] = ibooker.
book1D(tmpStr, tmpStr, 15, 0.5, 15.5);
52 tmpStr =
"NumberOfClusters_" + nameRoll;
53 meMap[tmpStr] = ibooker.
book1D(tmpStr, tmpStr, 10, 0.5, 10.5);
58 std::map<std::string, MonitorElement*>& meMap) {
63 for (
int sector = 1; sector <= 12; sector++) {
67 if (sector == 9 || sector == 11) {
68 meMap[meName] = ibooker.
book2D(meName, meName, 91, 0.5, 91.5, 15, 0.5, 15.5);
69 meMap[meClus] = ibooker.
book2D(meClus, meClus, 16, 1, 17, 15, 0.5, 15.5);
70 }
else if (sector == 4) {
71 meMap[meName] = ibooker.
book2D(meName, meName, 91, 0.5, 91.5, 21, 0.5, 21.5);
72 meMap[meClus] = ibooker.
book2D(meClus, meClus, 16, 1, 17, 21, 0.5, 21.5);
74 meMap[meName] = ibooker.
book2D(meName, meName, 91, 0.5, 91.5, 17, 0.5, 17.5);
75 meMap[meClus] = ibooker.
book2D(meClus, meClus, 16, 1, 17, 17, 0.5, 17.5);
81 meMap[meClus]->setAxisTitle(
"Cluster size", 1);
82 meMap[meClus]->setBinLabel(1,
"1", 1);
83 meMap[meClus]->setBinLabel(5,
"5", 1);
84 meMap[meClus]->setBinLabel(10,
"10", 1);
85 meMap[meClus]->setBinLabel(15,
"15", 1);
86 meMap[meClus]->setBinLabel(meMap[meClus]->getNbinsX(),
"Overflow", 1);
97 regionName =
"Endcap+";
107 auto me1 = ibooker.
book2D(meName1, meName1, 96, 0.5, 96.5, 18, 0.5, 18.5);
108 me1->setAxisTitle(
"strip", 1);
110 for (
int i = 1;
i <= 18;
i++) {
115 me1->setBinLabel(1,
"1", 1);
116 me1->setBinLabel(16,
"RollA", 1);
117 me1->setBinLabel(32,
"32", 1);
118 me1->setBinLabel(33,
"1", 1);
119 me1->setBinLabel(48,
"RollB", 1);
120 me1->setBinLabel(64,
"32", 1);
121 me1->setBinLabel(65,
"1", 1);
122 me1->setBinLabel(80,
"RollC", 1);
123 me1->setBinLabel(96,
"32", 1);
127 auto me2 = ibooker.
book2D(meName2, meName2, 96, 0.5, 96.5, 18, 18.5, 36.5);
128 me2->setAxisTitle(
"strip", 1);
130 for (
int i = 1;
i <= 18;
i++) {
135 me2->setBinLabel(1,
"1", 1);
136 me2->setBinLabel(16,
"RollA", 1);
137 me2->setBinLabel(32,
"32", 1);
138 me2->setBinLabel(33,
"1", 1);
139 me2->setBinLabel(48,
"RollB", 1);
140 me2->setBinLabel(64,
"32", 1);
141 me2->setBinLabel(65,
"1", 1);
142 me2->setBinLabel(80,
"RollC", 1);
143 me2->setBinLabel(96,
"32", 1);
145 meMap[meName1] =
me1;
146 meMap[meName2] =
me2;
154 auto mecl1 = ibooker.
book2D(meClus1, meClus1, 11, 1, 12, 27, 0.5, 27.5);
155 auto mecl2 = ibooker.
book2D(meClus2, meClus2, 11, 1, 12, 27, 27.5, 54.5);
156 auto mecl3 = ibooker.
book2D(meClus3, meClus3, 11, 1, 12, 27, 54.5, 81.5);
157 auto mecl4 = ibooker.
book2D(meClus4, meClus4, 11, 1, 12, 27, 81.5, 108.5);
159 std::array<MonitorElement*, 4> meCls = {{mecl1, mecl2, mecl3, mecl4}};
161 for (
unsigned int icl = 0; icl < meCls.size(); icl++) {
164 for (
int i = 1;
i <= 9;
i++) {
168 meCls[icl]->setBinLabel(1 + (
i - 1) * 3, ylabel1, 2);
169 meCls[icl]->setBinLabel(2 + (
i - 1) * 3, ylabel2, 2);
170 meCls[icl]->setBinLabel(3 + (
i - 1) * 3, ylabel3, 2);
172 meCls[icl]->setBinLabel(1,
"1", 1);
173 meCls[icl]->setBinLabel(5,
"5", 1);
174 meCls[icl]->setBinLabel(10,
"10", 1);
175 meCls[icl]->setBinLabel(mecl1->getNbinsX(),
"Overflow", 1);
178 meMap[meClus1] = mecl1;
179 meMap[meClus2] = mecl2;
180 meMap[meClus3] = mecl3;
181 meMap[meClus4] = mecl4;
189 std::map<std::string, MonitorElement*>& meMap) {
196 meMap[tmpStr] = ibooker.
book1D(tmpStr, tmpStr, 12, 0.5, 12.5);
197 for (
int i = 1;
i <= 12; ++
i) {
205 meMap[tmpStr] = ibooker.
book1D(tmpStr, tmpStr, 9, -4.5, 4.5);
213 tmpStr =
fmt::format(
"Occupancy_Ring_vs_Segment_Disk_{}", disk);
216 tmpStr =
fmt::format(
"BxDistribution_Disk_{}", disk);
217 meMap[tmpStr] = ibooker.
book1D(tmpStr, tmpStr, 9, -4.5, 4.5);
222 meMap[meName] = ibooker.
book1D(
230 meMap[meName]->setBinLabel(xbin,
label, 1);
246 std::map<std::string, MonitorElement*>& meMap) {
250 std::stringstream
name;
251 std::stringstream
title;
256 name <<
"Multiplicity_Barrel";
257 title <<
"Multiplicity per Event per Roll - Barrel";
262 name <<
"Multiplicity_Endcap+";
263 title <<
"Multiplicity per Event per Roll - Endcap+";
268 name <<
"Multiplicity_Endcap-";
269 title <<
"Multiplicity per Event per Roll - Endcap-";
272 meMap[
"Occupancy_for_Endcap"] = ibooker.
book2D(
"Occupancy_for_Endcap",
281 meMap[
"Occupancy_for_Endcap"]->setAxisTitle(
"Ring", 2);
283 std::stringstream binlabel;
291 meMap[
"Occupancy_for_Endcap"]->setBinLabel(
bin, binlabel.str(), 1);
294 meMap[
"Occupancy_for_Endcap"]->setBinLabel(1,
"2", 2);
295 meMap[
"Occupancy_for_Endcap"]->setBinLabel(2,
"3", 2);
297 meMap[
"Occupancy_for_Barrel"] =
298 ibooker.
book2D(
"Occupancy_for_Barrel",
"Occupancy Barrel", 12, 0.5, 12.5, 5, -2.5, 2.5);
300 meMap[
"Occupancy_for_Barrel"]->setAxisTitle(
"Wheel", 2);
305 meMap[
"Occupancy_for_Barrel"]->setBinLabel(
bin, binlabel.str(), 1);
308 binlabel << (
bin - 3);
309 meMap[
"Occupancy_for_Barrel"]->setBinLabel(
bin, binlabel.str(), 2);
std::string globalFolder_
virtual void setCurrentFolder(std::string const &fullpath)
const RPCRoll * roll(RPCDetId id) const
Return a roll given its id.
void bookSectorRingME(DQMStore::IBooker &, const std::string &, std::map< std::string, MonitorElement *> &)
Booking of MonitoringElement at Sector/Ring level.
static void setBarrelRollAxis(MonitorElement *me, const int wheel, const int axis, const bool useRollInfo)
Abs< T >::type abs(const T &t)
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)
static std::string name(const RPCDetId &detId, const bool useRoll)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
void bookWheelDiskME(DQMStore::IBooker &, const std::string &, std::map< std::string, MonitorElement *> &)
Booking of MonitoringElemnt at Wheel/Disk level.
static MonitorElement * bookBarrel(IBooker &booker, const int wheel, const std::string &prefix, const std::string &title, const bool useRollInfo)
static std::string folderStructure(const RPCDetId &detId)
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
void bookRegionME(DQMStore::IBooker &, const std::string &, std::map< std::string, MonitorElement *> &)
Booking of MonitoringElemnt at region (Barrel/Endcap) level.
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
int stripsInRoll(const RPCDetId &id, const RPCGeometry *rpcGeo) const
static MonitorElement * bookEndcap(IBooker &booker, const int disk, const std::string &prefix, const std::string &title, const bool useRollInfo)
std::string subsystemFolder_
void bookRollME(DQMStore::IBooker &, const RPCDetId &, const RPCGeometry *rpcGeo, const std::string &, std::map< std::string, MonitorElement *> &)
Booking of MonitoringElement for one RPCDetId (= roll)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)