Skip to content

Commit

Permalink
Merge pull request #22271 from stahlleiton/CMSL1TDPG_466_master
Browse files Browse the repository at this point in the history
OnlineDQM: uGMT DQM plot improvements CMSLITDPG-466
  • Loading branch information
cmsbuild committed Feb 20, 2018
2 parents 8ac6801 + 4575e79 commit 76ac777
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 0 deletions.
1 change: 1 addition & 0 deletions DQM/L1TMonitor/interface/L1TStage2uGMT.h
Expand Up @@ -159,6 +159,7 @@ class L1TStage2uGMT : public DQMEDAnalyzer {
MonitorElement* ugmtMuonBXvshwChargeValid;
MonitorElement* ugmtMuonBXvshwQual;
MonitorElement* ugmtMuonBXvshwIso;
MonitorElement* ugmtMuonChargevsLink;

// muon correlations
MonitorElement* ugmtMuMuInvMass;
Expand Down
6 changes: 6 additions & 0 deletions DQM/L1TMonitor/src/L1TStage2MuonComp.cc
Expand Up @@ -110,12 +110,15 @@ void L1TStage2MuonComp::bookHistograms(DQMStore::IBooker& ibooker, const edm::Ru
muColl1hwEta->setAxisTitle("Hardware #eta", 1);
muColl1hwPhi = ibooker.book1D("muHwPhiColl1", (muonColl1Title+" mismatching muon #phi").c_str(), 576, -0.5, 575.5);
muColl1hwPhi->setAxisTitle("Hardware #phi", 1);
muColl1hwPhi->getTH1F()->SetMinimum(0.0);
muColl1hwEtaAtVtx = ibooker.book1D("muHwEtaAtVtxColl1", (muonColl1Title+" mismatching muon #eta at vertex").c_str(), 461, -230.5, 230.5);
muColl1hwEtaAtVtx->setAxisTitle("Hardware #eta at vertex", 1);
muColl1hwPhiAtVtx = ibooker.book1D("muHwPhiAtVtxColl1", (muonColl1Title+" mismatching muon #phi at vertex").c_str(), 576, -0.5, 575.5);
muColl1hwPhiAtVtx->setAxisTitle("Hardware #phi at vertex", 1);
muColl1hwPhiAtVtx->getTH1F()->SetMinimum(0.0);
muColl1hwCharge = ibooker.book1D("muHwChargeColl1", (muonColl1Title+" mismatching muon charge").c_str(), 2, -0.5, 1.5);
muColl1hwCharge->setAxisTitle("Hardware charge", 1);
muColl1hwCharge->getTH1F()->SetMinimum(0.0);
muColl1hwChargeValid = ibooker.book1D("muHwChargeValidColl1", (muonColl1Title+" mismatching muon charge valid").c_str(), 2, -0.5, 1.5);
muColl1hwChargeValid->setAxisTitle("Hardware charge valid", 1);
muColl1hwQual = ibooker.book1D("muHwQualColl1", (muonColl1Title+" mismatching muon quality").c_str(), 16, -0.5, 15.5);
Expand All @@ -135,12 +138,15 @@ void L1TStage2MuonComp::bookHistograms(DQMStore::IBooker& ibooker, const edm::Ru
muColl2hwEta->setAxisTitle("Hardware #eta", 1);
muColl2hwPhi = ibooker.book1D("muHwPhiColl2", (muonColl2Title+" mismatching muon #phi").c_str(), 576, -0.5, 575.5);
muColl2hwPhi->setAxisTitle("Hardware #phi", 1);
muColl2hwPhi->getTH1F()->SetMinimum(0.0);
muColl2hwEtaAtVtx = ibooker.book1D("muHwEtaAtVtxColl2", (muonColl2Title+" mismatching muon #eta at vertex").c_str(), 461, -230.5, 230.5);
muColl2hwEtaAtVtx->setAxisTitle("Hardware #eta at vertex", 1);
muColl2hwPhiAtVtx = ibooker.book1D("muHwPhiAtVtxColl2", (muonColl2Title+" mismatching muon #phi at vertex").c_str(), 576, -0.5, 575.5);
muColl2hwPhiAtVtx->setAxisTitle("Hardware #phi at vertex", 1);
muColl2hwPhiAtVtx->getTH1F()->SetMinimum(0.0);
muColl2hwCharge = ibooker.book1D("muHwChargeColl2", (muonColl2Title+" mismatching muon charge").c_str(), 2, -0.5, 1.5);
muColl2hwCharge->setAxisTitle("Hardware charge", 1);
muColl2hwCharge->getTH1F()->SetMinimum(0.0);
muColl2hwChargeValid = ibooker.book1D("muHwChargeValidColl2", (muonColl2Title+" mismatching muon charge valid").c_str(), 2, -0.5, 1.5);
muColl2hwChargeValid->setAxisTitle("Hardware charge valid", 1);
muColl2hwQual = ibooker.book1D("muHwQualColl2", (muonColl2Title+" mismatching muon quality").c_str(), 16, -0.5, 15.5);
Expand Down
4 changes: 4 additions & 0 deletions DQM/L1TMonitor/src/L1TStage2RegionalMuonCandComp.cc
Expand Up @@ -119,8 +119,10 @@ void L1TStage2RegionalMuonCandComp::bookHistograms(DQMStore::IBooker& ibooker, c
muColl1hwEta->setAxisTitle("Hardware #eta", 1);
muColl1hwPhi = ibooker.book1D("muHwPhiColl1", (muonColl1Title+" mismatching muon #phi"+trkAddrIgnoreText).c_str(), 256, -128.5, 127.5);
muColl1hwPhi->setAxisTitle("Hardware #phi", 1);
muColl1hwPhi->getTH1F()->SetMinimum(0.0);
muColl1hwSign = ibooker.book1D("muHwSignColl1", (muonColl1Title+" mismatching muon sign"+trkAddrIgnoreText).c_str(), 2, -0.5, 1.5);
muColl1hwSign->setAxisTitle("Hardware sign", 1);
muColl1hwSign->getTH1F()->SetMinimum(0.0);
muColl1hwSignValid = ibooker.book1D("muHwSignValidColl1", (muonColl1Title+" mismatching muon sign valid"+trkAddrIgnoreText).c_str(), 2, -0.5, 1.5);
muColl1hwSignValid->setAxisTitle("Hardware sign valid", 1);
muColl1hwQual = ibooker.book1D("muHwQualColl1", (muonColl1Title+" mismatching muon quality"+trkAddrIgnoreText).c_str(), 16, -0.5, 15.5);
Expand Down Expand Up @@ -154,8 +156,10 @@ void L1TStage2RegionalMuonCandComp::bookHistograms(DQMStore::IBooker& ibooker, c
muColl2hwEta->setAxisTitle("Hardware #eta", 1);
muColl2hwPhi = ibooker.book1D("muHwPhiColl2", (muonColl2Title+" mismatching muon #phi"+trkAddrIgnoreText).c_str(), 256, -128.5, 127.5);
muColl2hwPhi->setAxisTitle("Hardware #phi", 1);
muColl2hwPhi->getTH1F()->SetMinimum(0.0);
muColl2hwSign = ibooker.book1D("muHwSignColl2", (muonColl2Title+" mismatching muon sign"+trkAddrIgnoreText).c_str(), 2, -0.5, 1.5);
muColl2hwSign->setAxisTitle("Hardware sign", 1);
muColl2hwSign->getTH1F()->SetMinimum(0.0);
muColl2hwSignValid = ibooker.book1D("muHwSignValidColl2", (muonColl2Title+" mismatching muon sign valid"+trkAddrIgnoreText).c_str(), 2, -0.5, 1.5);
muColl2hwSignValid->setAxisTitle("Hardware sign valid", 1);
muColl2hwQual = ibooker.book1D("muHwQualColl2", (muonColl2Title+" mismatching muon quality"+trkAddrIgnoreText).c_str(), 16, -0.5, 15.5);
Expand Down
40 changes: 40 additions & 0 deletions DQM/L1TMonitor/src/L1TStage2uGMT.cc
Expand Up @@ -54,6 +54,7 @@ void L1TStage2uGMT::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,

ugmtBMTFhwPhi = ibooker.book1D("ugmtBMTFhwPhi", "uGMT BMTF Input #phi", 71, -10.5, 60.5);
ugmtBMTFhwPhi->setAxisTitle("Hardware #phi", 1);
ugmtBMTFhwPhi->getTH1F()->SetMinimum(0.0);

ugmtBMTFglbPhi = ibooker.book1D("ugmtBMTFglbhwPhi", "uGMT BMTF Input #phi", 576, -0.5, 575.5);
ugmtBMTFglbPhi->setAxisTitle("Global Hardware #phi", 1);
Expand All @@ -67,6 +68,7 @@ void L1TStage2uGMT::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,

ugmtBMTFhwSign = ibooker.book1D("ugmtBMTFhwSign", "uGMT BMTF Input Sign", 2, -0.5, 1.5);
ugmtBMTFhwSign->setAxisTitle("Hardware Sign", 1);
ugmtBMTFhwSign->getTH1F()->SetMinimum(0.0);

ugmtBMTFhwSignValid = ibooker.book1D("ugmtBMTFhwSignValid", "uGMT BMTF Input SignValid", 2, -0.5, 1.5);
ugmtBMTFhwSignValid->setAxisTitle("SignValid", 1);
Expand Down Expand Up @@ -103,9 +105,11 @@ void L1TStage2uGMT::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,

ugmtOMTFhwPhiPos = ibooker.book1D("ugmtOMTFhwPhiPos", "uGMT OMTF Input #phi, Positive Side", 122, -16.5, 105.5);
ugmtOMTFhwPhiPos->setAxisTitle("Hardware #phi", 1);
ugmtOMTFhwPhiPos->getTH1F()->SetMinimum(0.0);

ugmtOMTFhwPhiNeg = ibooker.book1D("ugmtOMTFhwPhiNeg", "uGMT OMTF Input #phi, Negative Side", 122, -16.5, 105.5);
ugmtOMTFhwPhiNeg->setAxisTitle("Hardware #phi", 1);
ugmtOMTFhwPhiNeg->getTH1F()->SetMinimum(0.0);

ugmtOMTFglbPhiPos = ibooker.book1D("ugmtOMTFglbhwPhiPos", "uGMT OMTF Input #phi, Positive Side", 576, -0.5, 575.5);
ugmtOMTFglbPhiPos->setAxisTitle("Global Hardware #phi", 1);
Expand All @@ -128,6 +132,7 @@ void L1TStage2uGMT::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,

ugmtOMTFhwSign = ibooker.book1D("ugmtOMTFhwSign", "uGMT OMTF Input Sign", 2, -0.5, 1.5);
ugmtOMTFhwSign->setAxisTitle("Hardware Sign", 1);
ugmtOMTFhwSign->getTH1F()->SetMinimum(0.0);

ugmtOMTFhwSignValid = ibooker.book1D("ugmtOMTFhwSignValid", "uGMT OMTF Input SignValid", 2, -0.5, 1.5);
ugmtOMTFhwSignValid->setAxisTitle("SignValid", 1);
Expand Down Expand Up @@ -164,9 +169,11 @@ void L1TStage2uGMT::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,

ugmtEMTFhwPhiPos = ibooker.book1D("ugmtEMTFhwPhiPos", "uGMT EMTF #phi, Positive Side", 146, -40.5, 105.5);
ugmtEMTFhwPhiPos->setAxisTitle("Hardware #phi", 1);
ugmtEMTFhwPhiPos->getTH1F()->SetMinimum(0.0);

ugmtEMTFhwPhiNeg = ibooker.book1D("ugmtEMTFhwPhiNeg", "uGMT EMTF #phi, Negative Side", 146, -40.5, 105.5);
ugmtEMTFhwPhiNeg->setAxisTitle("Hardware #phi", 1);
ugmtEMTFhwPhiNeg->getTH1F()->SetMinimum(0.0);

ugmtEMTFglbPhiPos = ibooker.book1D("ugmtEMTFglbhwPhiPos", "uGMT EMTF Input Global #phi, Positive Side", 576, -0.5, 575.5);
ugmtEMTFglbPhiPos->setAxisTitle("Global Hardware #phi", 1);
Expand All @@ -189,6 +196,7 @@ void L1TStage2uGMT::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,

ugmtEMTFhwSign = ibooker.book1D("ugmtEMTFhwSign", "uGMT EMTF Sign", 2, -0.5, 1.5);
ugmtEMTFhwSign->setAxisTitle("Hardware Sign", 1);
ugmtEMTFhwSign->getTH1F()->SetMinimum(0.0);

ugmtEMTFhwSignValid = ibooker.book1D("ugmtEMTFhwSignValid", "uGMT EMTF SignValid", 2, -0.5, 1.5);
ugmtEMTFhwSignValid->setAxisTitle("SignValid", 1);
Expand Down Expand Up @@ -278,6 +286,14 @@ void L1TStage2uGMT::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,

ugmtBXvsLink = ibooker.book2D("ugmtBXvsLink", "uGMT BX vs Input Links", 36, 35.5, 71.5, 5, -2.5, 2.5);
ugmtBXvsLink->setAxisTitle("Link", 1);
for (int bin = 1; bin <= 6; ++bin) {
ugmtBXvsLink->setBinLabel(bin , Form("E+%d", bin ), 1);
ugmtBXvsLink->setBinLabel(bin+6 , Form("O+%d", bin ), 1);
ugmtBXvsLink->setBinLabel(bin+12, Form("B+%d", bin ), 1);
ugmtBXvsLink->setBinLabel(bin+18, Form("B+%d", bin+6), 1);
ugmtBXvsLink->setBinLabel(bin+24, Form("O-%d", bin ), 1);
ugmtBXvsLink->setBinLabel(bin+30, Form("E-%d", bin ), 1);
}
ugmtBXvsLink->setAxisTitle("BX", 2);
}

Expand All @@ -298,15 +314,18 @@ void L1TStage2uGMT::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,

ugmtMuonhwPhi = ibooker.book1D("ugmtMuonhwPhi", "uGMT Muon #phi", 576, -0.5, 575.5);
ugmtMuonhwPhi->setAxisTitle("Hardware Phi", 1);
ugmtMuonhwPhi->getTH1F()->SetMinimum(0.0);

ugmtMuonhwEtaAtVtx = ibooker.book1D("ugmtMuonhwEtaAtVtx", "uGMT Muon #eta at vertex", 461, -230.5, 230.5);
ugmtMuonhwEtaAtVtx->setAxisTitle("Hardware Eta at Vertex", 1);

ugmtMuonhwPhiAtVtx = ibooker.book1D("ugmtMuonhwPhiAtVtx", "uGMT Muon #phi at vertex", 576, -0.5, 575.5);
ugmtMuonhwPhiAtVtx->setAxisTitle("Hardware Phi at Vertex", 1);
ugmtMuonhwPhiAtVtx->getTH1F()->SetMinimum(0.0);

ugmtMuonhwCharge = ibooker.book1D("ugmtMuonhwCharge", "uGMT Muon Charge", 2, -0.5, 1.5);
ugmtMuonhwCharge->setAxisTitle("Hardware Charge", 1);
ugmtMuonhwCharge->getTH1F()->SetMinimum(0.0);

ugmtMuonhwChargeValid = ibooker.book1D("ugmtMuonhwChargeValid", "uGMT Muon ChargeValid", 2, -0.5, 1.5);
ugmtMuonhwChargeValid->setAxisTitle("ChargeValid", 1);
Expand Down Expand Up @@ -388,8 +407,28 @@ void L1TStage2uGMT::bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&,

ugmtMuonBXvsLink = ibooker.book2D("ugmtMuonBXvsLink", "uGMT Muon BX vs Input Links", 36, 35.5, 71.5, 5, -2.5, 2.5);
ugmtMuonBXvsLink->setAxisTitle("Muon Input Links", 1);
for (int bin = 1; bin <= 6; ++bin) {
ugmtMuonBXvsLink->setBinLabel(bin , Form("E+%d", bin ), 1);
ugmtMuonBXvsLink->setBinLabel(bin+6 , Form("O+%d", bin ), 1);
ugmtMuonBXvsLink->setBinLabel(bin+12, Form("B+%d", bin ), 1);
ugmtMuonBXvsLink->setBinLabel(bin+18, Form("B+%d", bin+6), 1);
ugmtMuonBXvsLink->setBinLabel(bin+24, Form("O-%d", bin ), 1);
ugmtMuonBXvsLink->setBinLabel(bin+30, Form("E-%d", bin ), 1);
}
ugmtMuonBXvsLink->setAxisTitle("BX", 2);

ugmtMuonChargevsLink = ibooker.book2D("ugmtMuonChargevsLink", "uGMT Muon Charge vs Input Links", 36, 35.5, 71.5, 3, -1.5, 1.5);
ugmtMuonChargevsLink->setAxisTitle("Muon Input Links", 1);
for (int bin = 1; bin <= 6; ++bin) {
ugmtMuonChargevsLink->setBinLabel(bin , Form("E+%d", bin ), 1);
ugmtMuonChargevsLink->setBinLabel(bin+6 , Form("O+%d", bin ), 1);
ugmtMuonChargevsLink->setBinLabel(bin+12, Form("B+%d", bin ), 1);
ugmtMuonChargevsLink->setBinLabel(bin+18, Form("B+%d", bin+6), 1);
ugmtMuonChargevsLink->setBinLabel(bin+24, Form("O-%d", bin ), 1);
ugmtMuonChargevsLink->setBinLabel(bin+30, Form("E-%d", bin ), 1);
}
ugmtMuonChargevsLink->setAxisTitle("Charge", 2);

ugmtMuonBXvshwPt = ibooker.book2D("ugmtMuonBXvshwPt", "uGMT Muon BX vs p_{T}", 256, -0.5, 511.5, 5, -2.5, 2.5);
ugmtMuonBXvshwPt->setAxisTitle("Hardware p_{T}", 1);
ugmtMuonBXvshwPt->setAxisTitle("BX", 2);
Expand Down Expand Up @@ -783,6 +822,7 @@ void L1TStage2uGMT::analyze(const edm::Event& e, const edm::EventSetup& c) {
ugmtMuonBXvshwChargeValid->Fill(Muon->hwChargeValid(), itBX);
ugmtMuonBXvshwQual->Fill(Muon->hwQual(), itBX);
ugmtMuonBXvshwIso->Fill(Muon->hwIso(), itBX);
ugmtMuonChargevsLink->Fill(int(Muon->tfMuonIndex()/3.) + 36, Muon->charge());

int link = (int)std::floor(tfMuonIndex / 3.);
reco::Candidate::PolarLorentzVector mu1{Muon->pt(), Muon->eta(), Muon->phi(), 0.106};
Expand Down
3 changes: 3 additions & 0 deletions DQM/L1TMonitor/src/L1TStage2uGMTMuon.cc
Expand Up @@ -45,9 +45,11 @@ void L1TStage2uGMTMuon::bookHistograms(DQMStore::IBooker& ibooker, const edm::Ru

ugmtMuonhwPhi = ibooker.book1D("ugmtMuonhwPhi", (titlePrefix+"#phi").c_str(), 576, -0.5, 575.5);
ugmtMuonhwPhi->setAxisTitle("Hardware Phi", 1);
ugmtMuonhwPhi->getTH1F()->SetMinimum(0.0);

ugmtMuonhwCharge = ibooker.book1D("ugmtMuonhwCharge", (titlePrefix+"Charge").c_str(), 2, -0.5, 1.5);
ugmtMuonhwCharge->setAxisTitle("Hardware Charge", 1);
ugmtMuonhwCharge->getTH1F()->SetMinimum(0.0);

ugmtMuonhwChargeValid = ibooker.book1D("ugmtMuonhwChargeValid", (titlePrefix+"ChargeValid").c_str(), 2, -0.5, 1.5);
ugmtMuonhwChargeValid->setAxisTitle("ChargeValid", 1);
Expand Down Expand Up @@ -109,6 +111,7 @@ void L1TStage2uGMTMuon::bookHistograms(DQMStore::IBooker& ibooker, const edm::Ru

ugmtMuonhwPhiAtVtx = ibooker.book1D("ugmtMuonhwPhiAtVtx", (titlePrefix+"#phi at vertex").c_str(), 576, -0.5, 575.5);
ugmtMuonhwPhiAtVtx->setAxisTitle("Hardware Phi at Vertex", 1);
ugmtMuonhwPhiAtVtx->getTH1F()->SetMinimum(0.0);

ugmtMuonEtaAtVtx = ibooker.book1D("ugmtMuonEtaAtVtx", (titlePrefix+"#eta at vertex").c_str(), 100, -2.5, 2.5);
ugmtMuonEtaAtVtx->setAxisTitle("#eta at Vertex", 1);
Expand Down

0 comments on commit 76ac777

Please sign in to comment.