26 const std::array<std::string, 6> binNamesErrors{{
"Corruptions",
"Synch. Err.",
"Synch. Mod.",
"BX Mismatch",
"Time Misalign",
"FMM != Ready"}};
32 for (
unsigned int bin = 0;
bin < binNamesErrors.size(); ++
bin) {
37 int nChambs, nWires, nStrips;
39 const std::array<std::string, 10> suffix_name{{
"42",
"41",
"32",
"31",
"22",
"21",
"13",
"12",
"11b",
"11a"}};
40 const std::array<std::string, 10> suffix_label{{
"4/2",
"4/1",
"3/2",
"3/1",
" 2/2",
"2/1",
"1/3",
"1/2",
"1/1b",
"1/1a"}};
41 const std::array<std::string, 12> binNames{{
"ME-N",
"ME-4",
"ME-3",
"ME-2",
"ME-1b",
"ME-1a",
"ME+1a",
"ME+1b",
"ME+2",
"ME+3",
"ME+4",
"ME+N"}};
43 cscLCTBX = ibooker.
book2D(
"cscLCTBX",
"CSC LCT BX", 7, -3, 4, 20, 0, 20);
45 for (
int xbin = 1, xbin_label = -3; xbin <= 7; ++xbin, ++xbin_label) {
48 for (
int ybin = 1; ybin <= 10; ++ybin) {
55 for (
int xbin = 1; xbin < 7; ++xbin) {
58 for (
unsigned int ybin = 0; ybin < binNames.size(); ++ybin) {
66 for (
int xbin=1; xbin < 43; ++xbin) {
68 if (xbin==2 || xbin==9 || xbin==16 || xbin==23 || xbin==30 ||xbin==37 ) {
74 for (
int ybin = 1; ybin <= 10; ++ybin) {
82 for (
int xbin = 1; xbin < 7; ++xbin) {
85 for (
unsigned int ybin = 0; ybin < binNames.size(); ++ybin) {
89 mpcLinkGood = ibooker.
book2D(
"mpcLinkGood",
"MPC Good Links", 54, 1, 55, 12, -6, 6);
91 for (
int xbin = 1; xbin < 7; ++xbin) {
94 for (
unsigned int ybin = 0; ybin < binNames.size(); ++ybin) {
99 const std::array<std::string, 6> rpc_name{{
"43",
"42",
"33",
"32",
"22",
"12"}};
100 const std::array<std::string, 6> rpc_label{{
"4/3",
"4/2",
"3/3",
"3/2",
"2/2",
"1/2"}};
102 rpcHitBX = ibooker.
book2D(
"rpcHitBX",
"RPC Hit BX", 7, -3, 4, 12, 0, 12);
104 for (
int xbin = 1, xbin_label = -3; xbin <= 7; ++xbin, ++xbin_label) {
107 for (
int ybin = 1; ybin <= 6; ++ybin) {
123 emtfnTracks = ibooker.
book1D(
"emtfnTracks",
"Number of EMTF Tracks per Event", 11, 0, 11);
124 for (
int xbin = 1; xbin <= 10; ++xbin) {
130 for (
int xbin = 1; xbin <= 5; ++xbin) {
134 emtfTrackBX = ibooker.
book2D(
"emtfTrackBX",
"EMTF Track Bunch Crossing", 12, -6, 6, 7, -3, 4);
136 for (
int xbin = 0; xbin < 6; ++xbin) {
141 for (
int ybin = 1,
i = -3; ybin <= 7; ++ybin, ++
i) {
154 emtfTrackOccupancy = ibooker.
book2D(
"emtfTrackOccupancy",
"EMTF Track Occupancy", 100, -2.5, 2.5, 126, -3.15, 3.15);
219 name =
"MENeg" + suffix_name[
i];
220 label =
"ME-" + suffix_label[
i];
222 name =
"MEPos" + suffix_name[9 -
i];
223 label =
"ME+" + suffix_label[9 -
i];
227 nChambs = (i % 2) ? 18 : 36;
228 }
else if (
hist >13) {
229 nChambs = (i % 2) ? 36 : 18;
234 const std::array<int, 10> wiregroups{{64, 96, 64, 96, 64, 112, 32, 64, 48, 48}};
235 const std::array<int, 10> halfstrips{{160, 160, 160, 160, 160, 160, 128, 160, 128, 96}};
238 nWires = wiregroups[
hist];
239 nStrips = halfstrips[
hist];
241 nWires = wiregroups[19 -
hist];
242 nStrips = halfstrips[19 -
hist];
245 cscLCTStrip[
hist] = ibooker.
book1D(
"cscLCTStrip" + name,
"CSC Halfstrip " + label, nStrips, 0, nStrips);
248 cscLCTWire[
hist] = ibooker.
book1D(
"cscLCTWire" + name,
"CSC Wiregroup " + label, nWires, 0, nWires);
251 cscChamberStrip[
hist] = ibooker.
book2D(
"cscChamberStrip" + name,
"CSC Halfstrip " + label, nChambs, 1, 1+nChambs, nStrips, 0, nStrips);
255 cscChamberWire[
hist] = ibooker.
book2D(
"cscChamberWire" + name,
"CSC Wiregroup " + label, nChambs, 1, 1+nChambs, nWires, 0, nWires);
259 for (
int bin = 1;
bin <= nChambs; ++
bin) {
270 name =
"RENeg" + rpc_name[
i];
271 label =
"RE-" + rpc_label[
i];
273 name =
"REPos" + rpc_name[5 -
i];
274 label =
"RE+" + rpc_label[5 -
i];
276 rpcHitPhi[
hist] = ibooker.
book1D(
"rpcHitPhi" + name,
"RPC Hit Phi " + label, 1250, 0, 1250);
280 rpcChamberPhi[
hist] = ibooker.
book2D(
"rpcChamberPhi" + name,
"RPC Chamber Phi " + label, 36, 1, 37, 1250, 0, 1250);
286 for (
int xbin = 1; xbin < 37; ++xbin) {
295 cscTimingTot = ibooker.
book2D(
"cscTimingTotal",
"CSC Total BX ", 42, 1, 43, 20, 0, 20);
300 const std::array<std::string, 5> nameBX{{
"BXNeg1",
"BXPos1",
"BXNeg2",
"BXPos2",
"BX0"}};
301 const std::array<std::string, 5> labelBX{{
"BX -1",
"BX +1",
"BX -2",
"BX +2",
"BX 0"}};
306 cscLCTTiming[
hist] = ibooker.
book2D(
"cscLCTTiming" + nameBX[
hist],
"CSC Chamber Occupancy " + labelBX[hist], 42, 1, 43, 20, 0, 20);
309 for (
int xbin=1; xbin < 43; ++xbin) {
312 if (xbin==2 || xbin==9 || xbin==16 || xbin==23 || xbin==30 ||xbin==37 ) {
320 for (
int ybin = 1; ybin <= 10; ++ybin) {
329 rpcHitTiming[
hist] = ibooker.
book2D(
"rpcHitTiming" + nameBX[hist],
"RPC Chamber Occupancy " + labelBX[hist], 42, 1, 43, 12, 0, 12);
350 cscLCTTimingFrac[
hist] = ibooker.
book2D(
"cscLCTTimingFrac" + nameBX[hist],
"CSC Chamber Occupancy " + labelBX[hist], 42, 1, 43, 20, 0, 20);
352 for (
int xbin=1; xbin < 43; ++xbin) {
354 if (xbin==2 || xbin==9 || xbin==16 || xbin==23 || xbin==30 || xbin==37 ) {
360 for (
int ybin = 1; ybin <= 10; ++ybin) {
366 rpcHitTimingFrac[
hist] = ibooker.
book2D(
"rpcHitTimingFrac" + nameBX[hist],
"RPC Chamber Fraction in " + labelBX[hist], 42, 1, 43, 12, 0, 12);
377 rpcHitTimingInTrack = ibooker.
book2D(
"rpcHitTimingInTrack",
"RPC Hit Timing (matched to track in BX 0)", 7, -3, 4, 12, 0, 12);
379 for (
int xbin = 1, xbin_label = -3; xbin <= 7; ++xbin, ++xbin_label) {
382 for (
int ybin = 1; ybin <= 6; ++ybin) {
387 const std::array<std::string, 3> nameNumStation{{
"4Station",
"3Station",
"2Station"}};
388 const std::array<std::string, 3> labelNumStation{{
"4 Station Track",
"3 Station Track",
"2 Station Track"}};
390 for (
int hist = 0; hist < 3; ++
hist) {
392 "EMTF " + labelNumStation[hist] +
" BX vs CSC LCT BX", 7, -3, 4, 7, -3, 4);
395 for (
int bin = 1, bin_label = -3;
bin <= 7; ++
bin, ++bin_label) {
400 "EMTF " + labelNumStation[hist] +
" BX vs RPC Hit BX", 7, -3, 4, 7, -3, 4);
403 for (
int bin = 1, bin_label = -3;
bin <= 7; ++
bin, ++bin_label) {
415 for (
int xbin = 1, bin_label = -3; xbin <= 7; ++xbin, ++bin_label) {
430 for (
int xbin = 1; xbin <= 16; ++xbin) {
MonitorElement * cscChamberWire[20]
MonitorElement * rpcHitTheta[12]
MonitorElement * rpcChamberPhi[12]
MonitorElement * emtfTrackBXVsCSCLCT[3]
MonitorElement * cscTimingTot
MonitorElement * emtfMuonhwEta
MonitorElement * rpcChamberTheta[12]
MonitorElement * RPCvsEMTFTrackMode
MonitorElement * emtfTrackPhiHighQualityHighPT
MonitorElement * cscLCTBX
MonitorElement * mpcLinkGood
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)
MonitorElement * cscLCTTimingFrac[5]
MonitorElement * rpcHitTimingFrac[5]
MonitorElement * mpcLinkErrors
MonitorElement * emtfMuonhwPhi
MonitorElement * cscChamberStrip[20]
MonitorElement * rpcHitTimingTot
MonitorElement * emtfTrackPhi
MonitorElement * cscLCTTiming[5]
MonitorElement * emtfMuonBX
void setCurrentFolder(std::string const &fullpath)
MonitorElement * emtfTrackPtHighQuality
MonitorElement * emtfTrackQuality
MonitorElement * cscDQMOccupancy
MonitorElement * emtfTrackQualityVsMode
MonitorElement * emtfTrackOccupancyHighQualityHighPT
MonitorElement * emtfMuonhwPt
MonitorElement * book1D(Args &&...args)
MonitorElement * cscLCTWire[20]
MonitorElement * cscLCTOccupancy
MonitorElement * emtfTrackMode
bin
set the eta bin as selection string.
MonitorElement * rpcHitTiming[5]
MonitorElement * cscLCTStrip[20]
MonitorElement * emtfTrackEtaHighQualityHighPT
MonitorElement * book2D(Args &&...args)
MonitorElement * emtfTrackBX
MonitorElement * rpcHitOccupancy
MonitorElement * emtfMuonhwQual
MonitorElement * emtfTrackPtHighQualityHighPT
MonitorElement * emtfErrors
MonitorElement * rpcHitPhi[12]
MonitorElement * emtfnTracks
MonitorElement * emtfTrackOccupancy
MonitorElement * emtfTrackEta
MonitorElement * emtfTrackEtaHighQuality
MonitorElement * emtfTrackBXVsRPCHit[3]
MonitorElement * emtfTracknHits
MonitorElement * emtfTrackPt
MonitorElement * rpcHitBX
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * emtfTrackPhiHighQuality
MonitorElement * rpcHitTimingInTrack
MonitorElement * emtfTrackOccupancyHighQuality