diff --git a/DQM/L1TMonitor/interface/L1TStage2Shower.h b/DQM/L1TMonitor/interface/L1TStage2Shower.h index 33013f6e85d3c..883027162ab1a 100644 --- a/DQM/L1TMonitor/interface/L1TStage2Shower.h +++ b/DQM/L1TMonitor/interface/L1TStage2Shower.h @@ -30,7 +30,6 @@ class L1TStage2Shower : public DQMOneEDAnalyzer<> { std::string monitorDir; bool verbose; - MonitorElement* cscShowerOccupancyLoose; MonitorElement* cscShowerOccupancyNom; MonitorElement* cscShowerOccupancyTight; diff --git a/DQM/L1TMonitor/src/L1TStage2Shower.cc b/DQM/L1TMonitor/src/L1TStage2Shower.cc index 3ca9079c386e0..acbd89e41c480 100644 --- a/DQM/L1TMonitor/src/L1TStage2Shower.cc +++ b/DQM/L1TMonitor/src/L1TStage2Shower.cc @@ -16,11 +16,11 @@ L1TStage2Shower::~L1TStage2Shower() {} void L1TStage2Shower::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&, const edm::EventSetup&) { ibooker.setCurrentFolder(monitorDir); - const std::array suffix_label{ - {"4/2", "4/1", "3/2", "3/1", " 2/2", "2/1", "1/3", "1/2", "1/1"}}; + const std::array suffix_label{{"4/2", "4/1", "3/2", "3/1", " 2/2", "2/1", "1/3", "1/2", "1/1"}}; // CSC local shower - cscShowerOccupancyLoose = ibooker.book2D("cscShowerOccupancyLoose", "CSC Loose Shower Occupancy", 36, 1, 37, 18, 0, 18); + cscShowerOccupancyLoose = + ibooker.book2D("cscShowerOccupancyLoose", "CSC Loose Shower Occupancy", 36, 1, 37, 18, 0, 18); cscShowerOccupancyLoose->setAxisTitle("Chamber", 1); for (int ybin = 1; ybin <= 9; ++ybin) { cscShowerOccupancyLoose->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); @@ -34,14 +34,16 @@ void L1TStage2Shower::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run& cscShowerOccupancyNom->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); } - cscShowerOccupancyTight = ibooker.book2D("cscShowerOccupancyTight", "CSC Tight Shower Occupancy", 36, 1, 37, 18, 0, 18); + cscShowerOccupancyTight = + ibooker.book2D("cscShowerOccupancyTight", "CSC Tight Shower Occupancy", 36, 1, 37, 18, 0, 18); cscShowerOccupancyTight->setAxisTitle("Chamber", 1); for (int ybin = 1; ybin <= 9; ++ybin) { cscShowerOccupancyTight->setBinLabel(ybin, "ME-" + suffix_label[ybin - 1], 2); cscShowerOccupancyTight->setBinLabel(19 - ybin, "ME+" + suffix_label[ybin - 1], 2); } - cscShowerStationRing = ibooker.book2D("cscShowerStationRing", "CSC shower types in stations and rings", 4, 0, 4, 18, 0, 18); + cscShowerStationRing = + ibooker.book2D("cscShowerStationRing", "CSC shower types in stations and rings", 4, 0, 4, 18, 0, 18); cscShowerStationRing->setAxisTitle("Type", 1); cscShowerStationRing->setBinLabel(1, "Total", 1); cscShowerStationRing->setBinLabel(2, "Loose", 1); @@ -59,18 +61,18 @@ void L1TStage2Shower::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run& cscShowerChamber->setBinLabel(2, "Loose", 2); cscShowerChamber->setBinLabel(3, "Nominal", 2); cscShowerChamber->setBinLabel(4, "Tight", 2); - + // EMTF regional shower emtfShowerTypeOccupancy = ibooker.book2D("emtfShowerTypeOccupancy", "EMTF shower Type Occupancy", 6, 1, 7, 8, 0, 8); emtfShowerTypeOccupancy->setAxisTitle("Sector", 1); - emtfShowerTypeOccupancy->setBinLabel(8, "ME+ Tight", 2); + emtfShowerTypeOccupancy->setBinLabel(8, "ME+ Tight", 2); emtfShowerTypeOccupancy->setBinLabel(7, "ME+ 2Loose", 2); - emtfShowerTypeOccupancy->setBinLabel(6, "ME+ Nom", 2); - emtfShowerTypeOccupancy->setBinLabel(5, "ME+ Tot", 2); - emtfShowerTypeOccupancy->setBinLabel(4, "ME- Tot", 2); - emtfShowerTypeOccupancy->setBinLabel(3, "ME- Nom", 2); + emtfShowerTypeOccupancy->setBinLabel(6, "ME+ Nom", 2); + emtfShowerTypeOccupancy->setBinLabel(5, "ME+ Tot", 2); + emtfShowerTypeOccupancy->setBinLabel(4, "ME- Tot", 2); + emtfShowerTypeOccupancy->setBinLabel(3, "ME- Nom", 2); emtfShowerTypeOccupancy->setBinLabel(2, "ME- 2Loose", 2); - emtfShowerTypeOccupancy->setBinLabel(1, "ME- Tight", 2); + emtfShowerTypeOccupancy->setBinLabel(1, "ME- Tight", 2); } void L1TStage2Shower::analyze(const edm::Event& e, const edm::EventSetup& c) { @@ -93,51 +95,71 @@ void L1TStage2Shower::analyze(const edm::Event& e, const edm::EventSetup& c) { // Fill CSC local shower plots for (auto element = CscShowers->begin(); element != CscShowers->end(); ++element) { auto detId = (*element).first; - int endcap = (detId.endcap() == 1 ? 1 : -1); + int endcap = (detId.endcap() == 1 ? 1 : -1); int station = detId.station(); - int ring = detId.ring(); + int ring = detId.ring(); int chamber = detId.chamber(); int sr = histIndexCSC.at({station, ring}); - if (endcap == -1) sr = 17 - sr; + if (endcap == -1) + sr = 17 - sr; float evt_wgt = (station > 1 && ring == 1) ? 0.5 : 1.0; - auto cscShower = (*element).second.first; + auto cscShower = (*element).second.first; auto cscShowerEnd = (*element).second.second; for (; cscShower != cscShowerEnd; ++cscShower) { if (station > 1 && (ring % 2) == 1) { - if (cscShower->isLooseInTime()) cscShowerOccupancyLoose->Fill(chamber * 2, sr, evt_wgt); - if (cscShower->isNominalInTime()) cscShowerOccupancyNom->Fill(chamber * 2, sr, evt_wgt); - if (cscShower->isTightInTime()) cscShowerOccupancyTight->Fill(chamber * 2, sr, evt_wgt); - if (cscShower->isLooseInTime()) cscShowerOccupancyLoose->Fill(chamber * 2 - 1, sr, evt_wgt); - if (cscShower->isNominalInTime()) cscShowerOccupancyNom->Fill(chamber * 2 - 1, sr, evt_wgt); - if (cscShower->isTightInTime()) cscShowerOccupancyTight->Fill(chamber * 2 - 1, sr, evt_wgt); + if (cscShower->isLooseInTime()) + cscShowerOccupancyLoose->Fill(chamber * 2, sr, evt_wgt); + if (cscShower->isNominalInTime()) + cscShowerOccupancyNom->Fill(chamber * 2, sr, evt_wgt); + if (cscShower->isTightInTime()) + cscShowerOccupancyTight->Fill(chamber * 2, sr, evt_wgt); + if (cscShower->isLooseInTime()) + cscShowerOccupancyLoose->Fill(chamber * 2 - 1, sr, evt_wgt); + if (cscShower->isNominalInTime()) + cscShowerOccupancyNom->Fill(chamber * 2 - 1, sr, evt_wgt); + if (cscShower->isTightInTime()) + cscShowerOccupancyTight->Fill(chamber * 2 - 1, sr, evt_wgt); + } else { + if (cscShower->isLooseInTime()) + cscShowerOccupancyLoose->Fill(chamber, sr); + if (cscShower->isNominalInTime()) + cscShowerOccupancyNom->Fill(chamber, sr); + if (cscShower->isTightInTime()) + cscShowerOccupancyTight->Fill(chamber, sr); } - else { - if (cscShower->isLooseInTime()) cscShowerOccupancyLoose->Fill(chamber, sr); - if (cscShower->isNominalInTime()) cscShowerOccupancyNom->Fill(chamber, sr); - if (cscShower->isTightInTime()) cscShowerOccupancyTight->Fill(chamber, sr); - } cscShowerStationRing->Fill(0.5, sr); - if (cscShower->isLooseInTime()) cscShowerStationRing->Fill(1.5, sr); - if (cscShower->isNominalInTime()) cscShowerStationRing->Fill(2.5, sr); - if (cscShower->isTightInTime()) cscShowerStationRing->Fill(3.5, sr); + if (cscShower->isLooseInTime()) + cscShowerStationRing->Fill(1.5, sr); + if (cscShower->isNominalInTime()) + cscShowerStationRing->Fill(2.5, sr); + if (cscShower->isTightInTime()) + cscShowerStationRing->Fill(3.5, sr); if (station > 1 && (ring % 2) == 1) { - cscShowerChamber->Fill(chamber * 2, 0.5, evt_wgt); + cscShowerChamber->Fill(chamber * 2, 0.5, evt_wgt); cscShowerChamber->Fill(chamber * 2 - 1, 0.5, evt_wgt); - if (cscShower->isLooseInTime()) cscShowerChamber->Fill(chamber * 2, 1.5, evt_wgt); - if (cscShower->isNominalInTime()) cscShowerChamber->Fill(chamber * 2, 2.5, evt_wgt); - if (cscShower->isTightInTime()) cscShowerChamber->Fill(chamber * 2, 3.5, evt_wgt); - if (cscShower->isLooseInTime()) cscShowerChamber->Fill(chamber * 2 - 1, 1.5, evt_wgt); - if (cscShower->isNominalInTime()) cscShowerChamber->Fill(chamber * 2 - 1, 2.5, evt_wgt); - if (cscShower->isTightInTime()) cscShowerChamber->Fill(chamber * 2 - 1, 3.5, evt_wgt); - } - else { + if (cscShower->isLooseInTime()) + cscShowerChamber->Fill(chamber * 2, 1.5, evt_wgt); + if (cscShower->isNominalInTime()) + cscShowerChamber->Fill(chamber * 2, 2.5, evt_wgt); + if (cscShower->isTightInTime()) + cscShowerChamber->Fill(chamber * 2, 3.5, evt_wgt); + if (cscShower->isLooseInTime()) + cscShowerChamber->Fill(chamber * 2 - 1, 1.5, evt_wgt); + if (cscShower->isNominalInTime()) + cscShowerChamber->Fill(chamber * 2 - 1, 2.5, evt_wgt); + if (cscShower->isTightInTime()) + cscShowerChamber->Fill(chamber * 2 - 1, 3.5, evt_wgt); + } else { cscShowerChamber->Fill(chamber, 0.5); - if (cscShower->isLooseInTime()) cscShowerChamber->Fill(chamber, 1.5); - if (cscShower->isNominalInTime()) cscShowerChamber->Fill(chamber, 2.5); - if (cscShower->isTightInTime()) cscShowerChamber->Fill(chamber, 3.5); + if (cscShower->isLooseInTime()) + cscShowerChamber->Fill(chamber, 1.5); + if (cscShower->isNominalInTime()) + cscShowerChamber->Fill(chamber, 2.5); + if (cscShower->isTightInTime()) + cscShowerChamber->Fill(chamber, 3.5); } } } @@ -146,11 +168,15 @@ void L1TStage2Shower::analyze(const edm::Event& e, const edm::EventSetup& c) { for (auto Shower = EmtfShowers->begin(); Shower != EmtfShowers->end(); ++Shower) { int endcap = Shower->endcap(); int sector = Shower->sector(); - if (not Shower->isValid()) continue; + if (not Shower->isValid()) + continue; if (Shower->isOneNominalInTime() or Shower->isTwoLooseInTime() or Shower->isOneTightInTime()) { - if (Shower->isOneTightInTime()) emtfShowerTypeOccupancy->Fill(sector, (endcap == 1) ? 7.5 : 0.5); - if (Shower->isTwoLooseInTime()) emtfShowerTypeOccupancy->Fill(sector, (endcap == 1) ? 6.5 : 1.5); - if (Shower->isOneNominalInTime()) emtfShowerTypeOccupancy->Fill(sector, (endcap == 1) ? 5.5 : 2.5); + if (Shower->isOneTightInTime()) + emtfShowerTypeOccupancy->Fill(sector, (endcap == 1) ? 7.5 : 0.5); + if (Shower->isTwoLooseInTime()) + emtfShowerTypeOccupancy->Fill(sector, (endcap == 1) ? 6.5 : 1.5); + if (Shower->isOneNominalInTime()) + emtfShowerTypeOccupancy->Fill(sector, (endcap == 1) ? 5.5 : 2.5); emtfShowerTypeOccupancy->Fill(sector, (endcap == 1) ? 4.5 : 3.5); } }