CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
L1TStage2uGMT Class Reference

#include <L1TStage2uGMT.h>

Inheritance diagram for L1TStage2uGMT:
one::DQMEDAnalyzer< T > one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

 L1TStage2uGMT (const edm::ParameterSet &ps)
 
 ~L1TStage2uGMT () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Protected Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 

Private Member Functions

l1t::tftype getTfOrigin (const int tfMuonIndex)
 

Private Attributes

bool emul
 
const float etaScale_
 
std::string monitorDir
 
const float phiScale_
 
MonitorElementugmtBMTFBX
 
MonitorElementugmtBMTFBXvsProcessor
 
MonitorElementugmtBMTFglbPhi
 
MonitorElementugmtBMTFhwEta
 
MonitorElementugmtBMTFhwPhi
 
MonitorElementugmtBMTFhwPt
 
MonitorElementugmtBMTFhwQual
 
MonitorElementugmtBMTFhwSign
 
MonitorElementugmtBMTFhwSignValid
 
MonitorElementugmtBMTFlink
 
MonitorElementugmtBMTFMuMuDEta
 
MonitorElementugmtBMTFMuMuDPhi
 
MonitorElementugmtBMTFMuMuDR
 
MonitorElementugmtBMTFnMuons
 
MonitorElementugmtBMTFProcvshwPhi
 
edm::EDGetTokenT< l1t::RegionalMuonCandBxCollectionugmtBMTFToken
 
MonitorElementugmtBOMTFnegMuMuDEta
 
MonitorElementugmtBOMTFnegMuMuDPhi
 
MonitorElementugmtBOMTFnegMuMuDR
 
MonitorElementugmtBOMTFposMuMuDEta
 
MonitorElementugmtBOMTFposMuMuDPhi
 
MonitorElementugmtBOMTFposMuMuDR
 
MonitorElementugmtBXvsLink
 
MonitorElementugmtEMTFBX
 
MonitorElementugmtEMTFBXvsProcessor
 
MonitorElementugmtEMTFglbPhiNeg
 
MonitorElementugmtEMTFglbPhiPos
 
MonitorElementugmtEMTFhwEta
 
MonitorElementugmtEMTFhwPhiNeg
 
MonitorElementugmtEMTFhwPhiPos
 
MonitorElementugmtEMTFhwPt
 
MonitorElementugmtEMTFhwQual
 
MonitorElementugmtEMTFhwSign
 
MonitorElementugmtEMTFhwSignValid
 
MonitorElementugmtEMTFlink
 
MonitorElementugmtEMTFMuMuDEta
 
MonitorElementugmtEMTFMuMuDPhi
 
MonitorElementugmtEMTFMuMuDR
 
MonitorElementugmtEMTFnMuons
 
MonitorElementugmtEMTFProcvshwPhiNeg
 
MonitorElementugmtEMTFProcvshwPhiPos
 
edm::EDGetTokenT< l1t::RegionalMuonCandBxCollectionugmtEMTFToken
 
MonitorElementugmtEOMTFnegMuMuDEta
 
MonitorElementugmtEOMTFnegMuMuDPhi
 
MonitorElementugmtEOMTFnegMuMuDR
 
MonitorElementugmtEOMTFposMuMuDEta
 
MonitorElementugmtEOMTFposMuMuDPhi
 
MonitorElementugmtEOMTFposMuMuDR
 
MonitorElementugmtMuMuDEta
 
MonitorElementugmtMuMuDEtaB
 
MonitorElementugmtMuMuDEtaBOneg
 
MonitorElementugmtMuMuDEtaBOpos
 
MonitorElementugmtMuMuDEtaEneg
 
MonitorElementugmtMuMuDEtaEOneg
 
MonitorElementugmtMuMuDEtaEOpos
 
MonitorElementugmtMuMuDEtaEpos
 
MonitorElementugmtMuMuDEtaOneg
 
MonitorElementugmtMuMuDEtaOpos
 
MonitorElementugmtMuMuDPhi
 
MonitorElementugmtMuMuDPhiB
 
MonitorElementugmtMuMuDPhiBOneg
 
MonitorElementugmtMuMuDPhiBOpos
 
MonitorElementugmtMuMuDPhiEneg
 
MonitorElementugmtMuMuDPhiEOneg
 
MonitorElementugmtMuMuDPhiEOpos
 
MonitorElementugmtMuMuDPhiEpos
 
MonitorElementugmtMuMuDPhiOneg
 
MonitorElementugmtMuMuDPhiOpos
 
MonitorElementugmtMuMuDR
 
MonitorElementugmtMuMuDRB
 
MonitorElementugmtMuMuDRBOneg
 
MonitorElementugmtMuMuDRBOpos
 
MonitorElementugmtMuMuDREneg
 
MonitorElementugmtMuMuDREOneg
 
MonitorElementugmtMuMuDREOpos
 
MonitorElementugmtMuMuDREpos
 
MonitorElementugmtMuMuDROneg
 
MonitorElementugmtMuMuDROpos
 
MonitorElementugmtMuMuInvMass
 
MonitorElementugmtMuMuInvMassAtVtx
 
MonitorElementugmtMuonBX
 
MonitorElementugmtMuonBXvshwCharge
 
MonitorElementugmtMuonBXvshwChargeValid
 
MonitorElementugmtMuonBXvshwEta
 
MonitorElementugmtMuonBXvshwIso
 
MonitorElementugmtMuonBXvshwPhi
 
MonitorElementugmtMuonBXvshwPt
 
MonitorElementugmtMuonBXvshwQual
 
MonitorElementugmtMuonBXvsLink
 
MonitorElementugmtMuonCharge
 
MonitorElementugmtMuonChargevsLink
 
MonitorElementugmtMuonDEtavsPtBmtf
 
MonitorElementugmtMuonDEtavsPtEmtf
 
MonitorElementugmtMuonDEtavsPtOmtf
 
MonitorElementugmtMuonDPhivsPtBmtf
 
MonitorElementugmtMuonDPhivsPtEmtf
 
MonitorElementugmtMuonDPhivsPtOmtf
 
MonitorElementugmtMuonEta
 
MonitorElementugmtMuonEtaAtVtx
 
MonitorElementugmtMuonhwCharge
 
MonitorElementugmtMuonhwChargeValid
 
MonitorElementugmtMuonhwEta
 
MonitorElementugmtMuonhwEtaAtVtx
 
MonitorElementugmtMuonhwIso
 
MonitorElementugmtMuonhwPhi
 
MonitorElementugmtMuonhwPhiAtVtx
 
MonitorElementugmtMuonhwPt
 
MonitorElementugmtMuonhwQual
 
MonitorElementugmtMuonIndex
 
MonitorElementugmtMuonPhi
 
MonitorElementugmtMuonPhiAtVtx
 
MonitorElementugmtMuonPhiAtVtxvsEtaAtVtx
 
MonitorElementugmtMuonPhiBmtf
 
MonitorElementugmtMuonPhiEmtf
 
MonitorElementugmtMuonPhiOmtf
 
MonitorElementugmtMuonPhivsEta
 
MonitorElementugmtMuonPt
 
MonitorElementugmtMuonPtvsEta
 
MonitorElementugmtMuonPtvsPhi
 
edm::EDGetTokenT< l1t::MuonBxCollectionugmtMuonToken
 
MonitorElementugmtnMuons
 
MonitorElementugmtOMTFBX
 
MonitorElementugmtOMTFBXvsProcessor
 
MonitorElementugmtOMTFglbPhiNeg
 
MonitorElementugmtOMTFglbPhiPos
 
MonitorElementugmtOMTFhwEta
 
MonitorElementugmtOMTFhwPhiNeg
 
MonitorElementugmtOMTFhwPhiPos
 
MonitorElementugmtOMTFhwPt
 
MonitorElementugmtOMTFhwQual
 
MonitorElementugmtOMTFhwSign
 
MonitorElementugmtOMTFhwSignValid
 
MonitorElementugmtOMTFlink
 
MonitorElementugmtOMTFMuMuDEta
 
MonitorElementugmtOMTFMuMuDPhi
 
MonitorElementugmtOMTFMuMuDR
 
MonitorElementugmtOMTFnMuons
 
MonitorElementugmtOMTFProcvshwPhiNeg
 
MonitorElementugmtOMTFProcvshwPhiPos
 
edm::EDGetTokenT< l1t::RegionalMuonCandBxCollectionugmtOMTFToken
 
bool verbose
 

Detailed Description

Definition at line 19 of file L1TStage2uGMT.h.

Constructor & Destructor Documentation

L1TStage2uGMT::L1TStage2uGMT ( const edm::ParameterSet ps)

Definition at line 4 of file L1TStage2uGMT.cc.

References emul, edm::ParameterSet::getParameter(), ugmtBMTFToken, ugmtEMTFToken, and ugmtOMTFToken.

5  : ugmtMuonToken(consumes<l1t::MuonBxCollection>(ps.getParameter<edm::InputTag>("muonProducer"))),
7  emul(ps.getUntrackedParameter<bool>("emulator")),
8  verbose(ps.getUntrackedParameter<bool>("verbose")),
9  etaScale_(0.010875), // eta scale (CMS DN-2015/017)
10  phiScale_(0.010908) // phi scale (2*pi/576 HW values)
11 {
12  if (!emul) {
13  ugmtBMTFToken = consumes<l1t::RegionalMuonCandBxCollection>(ps.getParameter<edm::InputTag>("bmtfProducer"));
14  ugmtOMTFToken = consumes<l1t::RegionalMuonCandBxCollection>(ps.getParameter<edm::InputTag>("omtfProducer"));
15  ugmtEMTFToken = consumes<l1t::RegionalMuonCandBxCollection>(ps.getParameter<edm::InputTag>("emtfProducer"));
16  }
17 }
T getParameter(std::string const &) const
const float etaScale_
Definition: L1TStage2uGMT.h:45
T getUntrackedParameter(std::string const &, T const &) const
const float phiScale_
Definition: L1TStage2uGMT.h:46
std::string monitorDir
Definition: L1TStage2uGMT.h:41
edm::EDGetTokenT< l1t::RegionalMuonCandBxCollection > ugmtEMTFToken
Definition: L1TStage2uGMT.h:39
edm::EDGetTokenT< l1t::RegionalMuonCandBxCollection > ugmtBMTFToken
Definition: L1TStage2uGMT.h:37
edm::EDGetTokenT< l1t::MuonBxCollection > ugmtMuonToken
Definition: L1TStage2uGMT.h:40
edm::EDGetTokenT< l1t::RegionalMuonCandBxCollection > ugmtOMTFToken
Definition: L1TStage2uGMT.h:38
L1TStage2uGMT::~L1TStage2uGMT ( )
override

Definition at line 19 of file L1TStage2uGMT.cc.

19 {}

Member Function Documentation

void L1TStage2uGMT::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotected

Definition at line 553 of file L1TStage2uGMT.cc.

References funct::abs(), BXVector< T >::begin(), l1t::bmtf, l1t::MicroGMTConfiguration::calcGlobalPhi(), particleFlow_cfi::dEta, particleFlow_cfi::dPhi, l1t::emtf_neg, l1t::emtf_pos, emul, BXVector< T >::end(), etaScale_, MonitorElement::Fill(), edm::Event::getByToken(), BXVector< T >::getFirstBX(), BXVector< T >::getLastBX(), getTfOrigin(), createfilelist::int, nanoDQM_cff::Muon, l1t::omtf_neg, l1t::omtf_pos, phiScale_, BXVector< T >::size(), mathSSE::sqrt(), ugmtBMTFBX, ugmtBMTFBXvsProcessor, ugmtBMTFglbPhi, ugmtBMTFhwEta, ugmtBMTFhwPhi, ugmtBMTFhwPt, ugmtBMTFhwQual, ugmtBMTFhwSign, ugmtBMTFhwSignValid, ugmtBMTFlink, ugmtBMTFMuMuDEta, ugmtBMTFMuMuDPhi, ugmtBMTFMuMuDR, ugmtBMTFnMuons, ugmtBMTFProcvshwPhi, ugmtBMTFToken, ugmtBOMTFnegMuMuDEta, ugmtBOMTFnegMuMuDPhi, ugmtBOMTFnegMuMuDR, ugmtBOMTFposMuMuDEta, ugmtBOMTFposMuMuDPhi, ugmtBOMTFposMuMuDR, ugmtBXvsLink, ugmtEMTFBX, ugmtEMTFBXvsProcessor, ugmtEMTFglbPhiNeg, ugmtEMTFglbPhiPos, ugmtEMTFhwEta, ugmtEMTFhwPhiNeg, ugmtEMTFhwPhiPos, ugmtEMTFhwPt, ugmtEMTFhwQual, ugmtEMTFhwSign, ugmtEMTFhwSignValid, ugmtEMTFlink, ugmtEMTFMuMuDEta, ugmtEMTFMuMuDPhi, ugmtEMTFMuMuDR, ugmtEMTFnMuons, ugmtEMTFProcvshwPhiNeg, ugmtEMTFProcvshwPhiPos, ugmtEMTFToken, ugmtEOMTFnegMuMuDEta, ugmtEOMTFnegMuMuDPhi, ugmtEOMTFnegMuMuDR, ugmtEOMTFposMuMuDEta, ugmtEOMTFposMuMuDPhi, ugmtEOMTFposMuMuDR, ugmtMuMuDEta, ugmtMuMuDEtaB, ugmtMuMuDEtaBOneg, ugmtMuMuDEtaBOpos, ugmtMuMuDEtaEneg, ugmtMuMuDEtaEOneg, ugmtMuMuDEtaEOpos, ugmtMuMuDEtaEpos, ugmtMuMuDEtaOneg, ugmtMuMuDEtaOpos, ugmtMuMuDPhi, ugmtMuMuDPhiB, ugmtMuMuDPhiBOneg, ugmtMuMuDPhiBOpos, ugmtMuMuDPhiEneg, ugmtMuMuDPhiEOneg, ugmtMuMuDPhiEOpos, ugmtMuMuDPhiEpos, ugmtMuMuDPhiOneg, ugmtMuMuDPhiOpos, ugmtMuMuDR, ugmtMuMuDRB, ugmtMuMuDRBOneg, ugmtMuMuDRBOpos, ugmtMuMuDREneg, ugmtMuMuDREOneg, ugmtMuMuDREOpos, ugmtMuMuDREpos, ugmtMuMuDROneg, ugmtMuMuDROpos, ugmtMuMuInvMass, ugmtMuMuInvMassAtVtx, ugmtMuonBX, ugmtMuonBXvshwCharge, ugmtMuonBXvshwChargeValid, ugmtMuonBXvshwEta, ugmtMuonBXvshwIso, ugmtMuonBXvshwPhi, ugmtMuonBXvshwPt, ugmtMuonBXvshwQual, ugmtMuonBXvsLink, ugmtMuonCharge, ugmtMuonChargevsLink, ugmtMuonDEtavsPtBmtf, ugmtMuonDEtavsPtEmtf, ugmtMuonDEtavsPtOmtf, ugmtMuonDPhivsPtBmtf, ugmtMuonDPhivsPtEmtf, ugmtMuonDPhivsPtOmtf, ugmtMuonEta, ugmtMuonEtaAtVtx, ugmtMuonhwCharge, ugmtMuonhwChargeValid, ugmtMuonhwEta, ugmtMuonhwEtaAtVtx, ugmtMuonhwIso, ugmtMuonhwPhi, ugmtMuonhwPhiAtVtx, ugmtMuonhwPt, ugmtMuonhwQual, ugmtMuonIndex, ugmtMuonPhi, ugmtMuonPhiAtVtx, ugmtMuonPhiAtVtxvsEtaAtVtx, ugmtMuonPhiBmtf, ugmtMuonPhiEmtf, ugmtMuonPhiOmtf, ugmtMuonPhivsEta, ugmtMuonPt, ugmtMuonPtvsEta, ugmtMuonPtvsPhi, ugmtMuonToken, ugmtnMuons, ugmtOMTFBX, ugmtOMTFBXvsProcessor, ugmtOMTFglbPhiNeg, ugmtOMTFglbPhiPos, ugmtOMTFhwEta, ugmtOMTFhwPhiNeg, ugmtOMTFhwPhiPos, ugmtOMTFhwPt, ugmtOMTFhwQual, ugmtOMTFhwSign, ugmtOMTFhwSignValid, ugmtOMTFlink, ugmtOMTFMuMuDEta, ugmtOMTFMuMuDPhi, ugmtOMTFMuMuDR, ugmtOMTFnMuons, ugmtOMTFProcvshwPhiNeg, ugmtOMTFProcvshwPhiPos, and ugmtOMTFToken.

553  {
554 
555  if (verbose) edm::LogInfo("L1TStage2uGMT") << "L1TStage2uGMT: analyze..." << std::endl;
556 
557  if (!emul) {
559  e.getByToken(ugmtBMTFToken, BMTFBxCollection);
560 
561  ugmtBMTFnMuons->Fill(BMTFBxCollection->size(0));
562 
563  for (int itBX = BMTFBxCollection->getFirstBX(); itBX <= BMTFBxCollection->getLastBX(); ++itBX) {
564  for (l1t::RegionalMuonCandBxCollection::const_iterator BMTF = BMTFBxCollection->begin(itBX); BMTF != BMTFBxCollection->end(itBX); ++BMTF) {
565  ugmtBMTFBX->Fill(itBX);
566  ugmtBMTFhwPt->Fill(BMTF->hwPt());
567  ugmtBMTFhwEta->Fill(BMTF->hwEta());
568  ugmtBMTFhwPhi->Fill(BMTF->hwPhi());
569  ugmtBMTFhwSign->Fill(BMTF->hwSign());
570  ugmtBMTFhwSignValid->Fill(BMTF->hwSignValid());
571  ugmtBMTFhwQual->Fill(BMTF->hwQual());
572  ugmtBMTFlink->Fill(BMTF->link());
573 
574  int global_hw_phi = l1t::MicroGMTConfiguration::calcGlobalPhi(BMTF->hwPhi(), BMTF->trackFinderType(), BMTF->processor());
575  ugmtBMTFglbPhi->Fill(global_hw_phi);
576 
577  ugmtBMTFBXvsProcessor->Fill(BMTF->processor(), itBX);
578  ugmtBMTFProcvshwPhi->Fill(BMTF->hwPhi(), BMTF->processor());
579  ugmtBXvsLink->Fill(BMTF->link(), itBX);
580 
581  // Analyse muon correlations
582  for (l1t::RegionalMuonCandBxCollection::const_iterator BMTF2 = BMTF+1; BMTF2 != BMTFBxCollection->end(itBX); ++BMTF2) {
583  int global_hw_phi2 = l1t::MicroGMTConfiguration::calcGlobalPhi(BMTF2->hwPhi(), BMTF2->trackFinderType(), BMTF2->processor());
584  float dEta = (BMTF->hwEta() - BMTF2->hwEta()) * etaScale_;
585  float dPhi = (global_hw_phi - global_hw_phi2) * phiScale_;
586  float dR = sqrt(dEta*dEta + dPhi*dPhi);
587 
588  int dLink = std::abs(BMTF->link() - BMTF2->link());
589  if (dLink == 1 || dLink == 11) { // two adjacent wedges and wrap around
590  ugmtBMTFMuMuDEta->Fill(dEta);
591  ugmtBMTFMuMuDPhi->Fill(dPhi);
592  ugmtBMTFMuMuDR->Fill(dR);
593  }
594  }
595  }
596  }
597 
599  e.getByToken(ugmtOMTFToken, OMTFBxCollection);
600 
601  ugmtOMTFnMuons->Fill(OMTFBxCollection->size(0));
602 
603  for (int itBX = OMTFBxCollection->getFirstBX(); itBX <= OMTFBxCollection->getLastBX(); ++itBX) {
604  for (l1t::RegionalMuonCandBxCollection::const_iterator OMTF = OMTFBxCollection->begin(itBX); OMTF != OMTFBxCollection->end(itBX); ++OMTF) {
605  ugmtOMTFBX->Fill(itBX);
606  ugmtOMTFhwPt->Fill(OMTF->hwPt());
607  ugmtOMTFhwEta->Fill(OMTF->hwEta());
608  ugmtOMTFhwSign->Fill(OMTF->hwSign());
609  ugmtOMTFhwSignValid->Fill(OMTF->hwSignValid());
610  ugmtOMTFhwQual->Fill(OMTF->hwQual());
611  ugmtOMTFlink->Fill(OMTF->link());
612 
613  int global_hw_phi = l1t::MicroGMTConfiguration::calcGlobalPhi(OMTF->hwPhi(), OMTF->trackFinderType(), OMTF->processor());
614 
615  l1t::tftype trackFinderType = OMTF->trackFinderType();
616 
617  if (trackFinderType == l1t::omtf_neg) {
618  ugmtOMTFBXvsProcessor->Fill(5 - OMTF->processor(), itBX);
619  ugmtOMTFhwPhiNeg->Fill(OMTF->hwPhi());
620  ugmtOMTFglbPhiNeg->Fill(global_hw_phi);
621  ugmtOMTFProcvshwPhiNeg->Fill(OMTF->hwPhi(), OMTF->processor());
622  } else {
623  ugmtOMTFBXvsProcessor->Fill(OMTF->processor() + 6, itBX);
624  ugmtOMTFhwPhiPos->Fill(OMTF->hwPhi());
625  ugmtOMTFglbPhiPos->Fill(global_hw_phi);
626  ugmtOMTFProcvshwPhiPos->Fill(OMTF->hwPhi(), OMTF->processor());
627  }
628 
629  ugmtBXvsLink->Fill(OMTF->link(), itBX);
630 
631  // Analyse muon correlations
632  for (l1t::RegionalMuonCandBxCollection::const_iterator OMTF2 = OMTF+1; OMTF2 != OMTFBxCollection->end(itBX); ++OMTF2) {
633  int global_hw_phi2 = l1t::MicroGMTConfiguration::calcGlobalPhi(OMTF2->hwPhi(), OMTF2->trackFinderType(), OMTF2->processor());
634  float dEta = (OMTF->hwEta() - OMTF2->hwEta()) * etaScale_;
635  float dPhi = (global_hw_phi - global_hw_phi2) * phiScale_;
636  float dR = sqrt(dEta*dEta + dPhi*dPhi);
637 
638  int dLink = std::abs(OMTF->link() - OMTF2->link());
639  if (dLink == 1 || dLink == 5) { // two adjacent sectors and wrap around
640  ugmtOMTFMuMuDEta->Fill(dEta);
641  ugmtOMTFMuMuDPhi->Fill(dPhi);
642  ugmtOMTFMuMuDR->Fill(dR);
643  }
644  }
645  }
646  }
647 
649  e.getByToken(ugmtEMTFToken, EMTFBxCollection);
650 
651  ugmtEMTFnMuons->Fill(EMTFBxCollection->size(0));
652 
653  for (int itBX = EMTFBxCollection->getFirstBX(); itBX <= EMTFBxCollection->getLastBX(); ++itBX) {
654  for (l1t::RegionalMuonCandBxCollection::const_iterator EMTF = EMTFBxCollection->begin(itBX); EMTF != EMTFBxCollection->end(itBX); ++EMTF) {
655  ugmtEMTFBX->Fill(itBX);
656  ugmtEMTFhwPt->Fill(EMTF->hwPt());
657  ugmtEMTFhwEta->Fill(EMTF->hwEta());
658  ugmtEMTFhwSign->Fill(EMTF->hwSign());
659  ugmtEMTFhwSignValid->Fill(EMTF->hwSignValid());
660  ugmtEMTFhwQual->Fill(EMTF->hwQual());
661  ugmtEMTFlink->Fill(EMTF->link());
662 
663  int global_hw_phi = l1t::MicroGMTConfiguration::calcGlobalPhi(EMTF->hwPhi(), EMTF->trackFinderType(), EMTF->processor());
664 
665  l1t::tftype trackFinderType = EMTF->trackFinderType();
666 
667  if (trackFinderType == l1t::emtf_neg) {
668  ugmtEMTFBXvsProcessor->Fill(5 - EMTF->processor(), itBX);
669  ugmtEMTFhwPhiNeg->Fill(EMTF->hwPhi());
670  ugmtEMTFglbPhiNeg->Fill(global_hw_phi);
671  ugmtEMTFProcvshwPhiNeg->Fill(EMTF->hwPhi(), EMTF->processor());
672  } else {
673  ugmtEMTFBXvsProcessor->Fill(EMTF->processor() + 6, itBX);
674  ugmtEMTFhwPhiPos->Fill(EMTF->hwPhi());
675  ugmtEMTFglbPhiPos->Fill(global_hw_phi);
676  ugmtEMTFProcvshwPhiPos->Fill(EMTF->hwPhi(), EMTF->processor());
677  }
678 
679  ugmtBXvsLink->Fill(EMTF->link(), itBX);
680 
681  // Analyse muon correlations
682  for (l1t::RegionalMuonCandBxCollection::const_iterator EMTF2 = EMTF+1; EMTF2 != EMTFBxCollection->end(itBX); ++EMTF2) {
683  int global_hw_phi2 = l1t::MicroGMTConfiguration::calcGlobalPhi(EMTF2->hwPhi(), EMTF2->trackFinderType(), EMTF2->processor());
684  float dEta = (EMTF->hwEta() - EMTF2->hwEta()) * etaScale_;
685  float dPhi = (global_hw_phi - global_hw_phi2) * phiScale_;
686  float dR = sqrt(dEta*dEta + dPhi*dPhi);
687 
688  int dLink = std::abs(EMTF->link() - EMTF2->link());
689  if (dLink == 1 || dLink == 5) { // two adjacent sectors and wrap around
690  ugmtEMTFMuMuDEta->Fill(dEta);
691  ugmtEMTFMuMuDPhi->Fill(dPhi);
692  ugmtEMTFMuMuDR->Fill(dR);
693  }
694  }
695  }
696  }
697 
698  // barrel-overlap muon correlations
699  int firstBxBO = (BMTFBxCollection->getFirstBX() < OMTFBxCollection->getFirstBX()) ? OMTFBxCollection->getFirstBX() : BMTFBxCollection->getFirstBX();
700  int lastBxBO = (BMTFBxCollection->getLastBX() > OMTFBxCollection->getLastBX()) ? OMTFBxCollection->getLastBX() : BMTFBxCollection->getLastBX();
701  for (int itBX = firstBxBO; itBX <= lastBxBO; ++itBX) {
702  if (BMTFBxCollection->size(itBX) < 1 || OMTFBxCollection->size(itBX) < 1) {
703  continue;
704  }
705  for (l1t::RegionalMuonCandBxCollection::const_iterator BMTF = BMTFBxCollection->begin(itBX); BMTF != BMTFBxCollection->end(itBX); ++BMTF) {
706  int global_hw_phi_bmtf = l1t::MicroGMTConfiguration::calcGlobalPhi(BMTF->hwPhi(), BMTF->trackFinderType(), BMTF->processor());
707 
708  for (l1t::RegionalMuonCandBxCollection::const_iterator OMTF = OMTFBxCollection->begin(itBX); OMTF != OMTFBxCollection->end(itBX); ++OMTF) {
709  int global_hw_phi_omtf = l1t::MicroGMTConfiguration::calcGlobalPhi(OMTF->hwPhi(), OMTF->trackFinderType(), OMTF->processor());
710  float dEta = (BMTF->hwEta() - OMTF->hwEta()) * etaScale_;
711  float dPhi = (global_hw_phi_bmtf - global_hw_phi_omtf) * phiScale_;
712  float dR = sqrt(dEta*dEta + dPhi*dPhi);
713  if (OMTF->trackFinderType() == l1t::omtf_neg) {
714  ugmtBOMTFnegMuMuDEta->Fill(dEta);
715  ugmtBOMTFnegMuMuDPhi->Fill(dPhi);
717  } else {
718  ugmtBOMTFposMuMuDEta->Fill(dEta);
719  ugmtBOMTFposMuMuDPhi->Fill(dPhi);
721  }
722  }
723  }
724  }
725 
726  // endcap-overlap muon correlations
727  int firstBxEO = (EMTFBxCollection->getFirstBX() < OMTFBxCollection->getFirstBX()) ? OMTFBxCollection->getFirstBX() : EMTFBxCollection->getFirstBX();
728  int lastBxEO = (EMTFBxCollection->getLastBX() > OMTFBxCollection->getLastBX()) ? OMTFBxCollection->getLastBX() : EMTFBxCollection->getLastBX();
729  for (int itBX = firstBxEO; itBX <= lastBxEO; ++itBX) {
730  if (EMTFBxCollection->size(itBX) < 1 || OMTFBxCollection->size(itBX) < 1) {
731  continue;
732  }
733  for (l1t::RegionalMuonCandBxCollection::const_iterator EMTF = EMTFBxCollection->begin(itBX); EMTF != EMTFBxCollection->end(itBX); ++EMTF) {
734  int global_hw_phi_emtf = l1t::MicroGMTConfiguration::calcGlobalPhi(EMTF->hwPhi(), EMTF->trackFinderType(), EMTF->processor());
735 
736  for (l1t::RegionalMuonCandBxCollection::const_iterator OMTF = OMTFBxCollection->begin(itBX); OMTF != OMTFBxCollection->end(itBX); ++OMTF) {
737  int global_hw_phi_omtf = l1t::MicroGMTConfiguration::calcGlobalPhi(OMTF->hwPhi(), OMTF->trackFinderType(), OMTF->processor());
738  float dEta = (EMTF->hwEta() - OMTF->hwEta()) * etaScale_;
739  float dPhi = (global_hw_phi_emtf - global_hw_phi_omtf) * phiScale_;
740  float dR = sqrt(dEta*dEta + dPhi*dPhi);
741  if (EMTF->trackFinderType() == l1t::emtf_neg && OMTF->trackFinderType() == l1t::omtf_neg) {
742  ugmtEOMTFnegMuMuDEta->Fill(dEta);
743  ugmtEOMTFnegMuMuDPhi->Fill(dPhi);
745  } else if (EMTF->trackFinderType() == l1t::emtf_pos && OMTF->trackFinderType() == l1t::omtf_pos) {
746  ugmtEOMTFposMuMuDEta->Fill(dEta);
747  ugmtEOMTFposMuMuDPhi->Fill(dPhi);
749  }
750  }
751  }
752  }
753  }
754 
756  e.getByToken(ugmtMuonToken, MuonBxCollection);
757 
758  ugmtnMuons->Fill(MuonBxCollection->size(0));
759 
760  for (int itBX = MuonBxCollection->getFirstBX(); itBX <= MuonBxCollection->getLastBX(); ++itBX) {
761  for (l1t::MuonBxCollection::const_iterator Muon = MuonBxCollection->begin(itBX); Muon != MuonBxCollection->end(itBX); ++Muon) {
762 
763  int tfMuonIndex = Muon->tfMuonIndex();
764 
765  ugmtMuonBX->Fill(itBX);
766  ugmtMuonIndex->Fill(tfMuonIndex);
767  ugmtMuonhwPt->Fill(Muon->hwPt());
768  ugmtMuonhwEta->Fill(Muon->hwEta());
769  ugmtMuonhwPhi->Fill(Muon->hwPhi());
770  ugmtMuonhwEtaAtVtx->Fill(Muon->hwEtaAtVtx());
771  ugmtMuonhwPhiAtVtx->Fill(Muon->hwPhiAtVtx());
772  ugmtMuonhwCharge->Fill(Muon->hwCharge());
773  ugmtMuonhwChargeValid->Fill(Muon->hwChargeValid());
774  ugmtMuonhwQual->Fill(Muon->hwQual());
775  ugmtMuonhwIso->Fill(Muon->hwIso());
776 
777  ugmtMuonPt->Fill(Muon->pt());
778  ugmtMuonEta->Fill(Muon->eta());
779  ugmtMuonPhi->Fill(Muon->phi());
780  ugmtMuonEtaAtVtx->Fill(Muon->etaAtVtx());
781  ugmtMuonPhiAtVtx->Fill(Muon->phiAtVtx());
782  ugmtMuonCharge->Fill(Muon->charge());
783 
784  l1t::tftype tfType{getTfOrigin(tfMuonIndex)};
785  if (tfType == l1t::emtf_pos || tfType == l1t::emtf_neg) {
786  ugmtMuonPhiEmtf->Fill(Muon->phi());
787  ugmtMuonDEtavsPtEmtf->Fill(Muon->pt(), Muon->hwDEtaExtra()*etaScale_);
788  ugmtMuonDPhivsPtEmtf->Fill(Muon->pt(), Muon->hwDPhiExtra()*phiScale_);
789  } else if (tfType == l1t::omtf_pos || tfType == l1t::omtf_neg) {
790  ugmtMuonPhiOmtf->Fill(Muon->phi());
791  ugmtMuonDEtavsPtOmtf->Fill(Muon->pt(), Muon->hwDEtaExtra()*etaScale_);
792  ugmtMuonDPhivsPtOmtf->Fill(Muon->pt(), Muon->hwDPhiExtra()*phiScale_);
793  } else if (tfType == l1t::bmtf) {
794  ugmtMuonPhiBmtf->Fill(Muon->phi());
795  ugmtMuonDEtavsPtBmtf->Fill(Muon->pt(), Muon->hwDEtaExtra()*etaScale_);
796  ugmtMuonDPhivsPtBmtf->Fill(Muon->pt(), Muon->hwDPhiExtra()*phiScale_);
797  }
798 
799  ugmtMuonPtvsEta->Fill(Muon->eta(), Muon->pt());
800  ugmtMuonPtvsPhi->Fill(Muon->phi(), Muon->pt());
801  ugmtMuonPhivsEta->Fill(Muon->eta(), Muon->phi());
802 
803  ugmtMuonPhiAtVtxvsEtaAtVtx->Fill(Muon->etaAtVtx(), Muon->phiAtVtx());
804 
805  ugmtMuonBXvsLink->Fill(int(Muon->tfMuonIndex()/3.) + 36, itBX);
806  ugmtMuonBXvshwPt->Fill(Muon->hwPt(), itBX);
807  ugmtMuonBXvshwEta->Fill(Muon->hwEta(), itBX);
808  ugmtMuonBXvshwPhi->Fill(Muon->hwPhi(), itBX);
809  ugmtMuonBXvshwCharge->Fill(Muon->hwCharge(), itBX);
810  ugmtMuonBXvshwChargeValid->Fill(Muon->hwChargeValid(), itBX);
811  ugmtMuonBXvshwQual->Fill(Muon->hwQual(), itBX);
812  ugmtMuonBXvshwIso->Fill(Muon->hwIso(), itBX);
813  ugmtMuonChargevsLink->Fill(int(Muon->tfMuonIndex()/3.) + 36, Muon->charge());
814 
815  int link = (int)std::floor(tfMuonIndex / 3.);
816  reco::Candidate::PolarLorentzVector mu1{Muon->pt(), Muon->eta(), Muon->phi(), 0.106};
817  reco::Candidate::PolarLorentzVector muAtVtx1{Muon->pt(), Muon->etaAtVtx(), Muon->phiAtVtx(), 0.106};
818 
819  // Analyse multi muon events
820  for (l1t::MuonBxCollection::const_iterator Muon2 = Muon+1; Muon2 != MuonBxCollection->end(itBX); ++Muon2) {
821  reco::Candidate::PolarLorentzVector mu2{Muon2->pt(), Muon2->eta(), Muon2->phi(), 0.106};
822  reco::Candidate::PolarLorentzVector muAtVtx2{Muon2->pt(), Muon2->etaAtVtx(), Muon2->phiAtVtx(), 0.106};
823  ugmtMuMuInvMass->Fill((mu1 + mu2).M());
824  ugmtMuMuInvMassAtVtx->Fill((muAtVtx1 + muAtVtx2).M());
825 
826  float dEta = Muon->eta() - Muon2->eta();
827  float dPhi = Muon->phi() - Muon2->phi();
828  float dR = sqrt(dEta*dEta + dPhi*dPhi);
829  ugmtMuMuDEta->Fill(dEta);
830  ugmtMuMuDPhi->Fill(dPhi);
831  ugmtMuMuDR->Fill(dR);
832 
833  // muon distances between muons from different TFs and from different wedges/sectors of one TF
834  int link2 = (int)std::floor(Muon2->tfMuonIndex() / 3.);
835  l1t::tftype tfType2{getTfOrigin(Muon2->tfMuonIndex())};
836  if ((tfType == l1t::bmtf && tfType2 == l1t::omtf_pos) || (tfType == l1t::omtf_pos && tfType2 == l1t::bmtf)) {
837  ugmtMuMuDEtaBOpos->Fill(dEta);
838  ugmtMuMuDPhiBOpos->Fill(dPhi);
839  ugmtMuMuDRBOpos->Fill(dR);
840  } else if ((tfType == l1t::bmtf && tfType2 == l1t::omtf_neg) || (tfType == l1t::omtf_neg && tfType2 == l1t::bmtf)) {
841  ugmtMuMuDEtaBOneg->Fill(dEta);
842  ugmtMuMuDPhiBOneg->Fill(dPhi);
843  ugmtMuMuDRBOneg->Fill(dR);
844  } else if ((tfType == l1t::emtf_pos && tfType2 == l1t::omtf_pos) || (tfType == l1t::omtf_pos && tfType2 == l1t::emtf_pos)) {
845  ugmtMuMuDEtaEOpos->Fill(dEta);
846  ugmtMuMuDPhiEOpos->Fill(dPhi);
847  ugmtMuMuDREOpos->Fill(dR);
848  } else if ((tfType == l1t::emtf_neg && tfType2 == l1t::omtf_neg) || (tfType == l1t::omtf_neg && tfType2 == l1t::emtf_neg)) {
849  ugmtMuMuDEtaEOneg->Fill(dEta);
850  ugmtMuMuDPhiEOneg->Fill(dPhi);
851  ugmtMuMuDREOneg->Fill(dR);
852  } else if (tfType == l1t::bmtf && tfType2 == l1t::bmtf) {
853  if (std::abs(link - link2) == 1 || (std::abs(link - link2) == 11)) { // two adjacent wedges and wrap around
854  ugmtMuMuDEtaB->Fill(dEta);
855  ugmtMuMuDPhiB->Fill(dPhi);
856  ugmtMuMuDRB->Fill(dR);
857  }
858  } else if (tfType == l1t::omtf_pos && tfType2 == l1t::omtf_pos) {
859  if (std::abs(link - link2) == 1 || (std::abs(link - link2) == 5)) { // two adjacent sectors and wrap around
860  ugmtMuMuDEtaOpos->Fill(dEta);
861  ugmtMuMuDPhiOpos->Fill(dPhi);
862  ugmtMuMuDROpos->Fill(dR);
863  }
864  } else if (tfType == l1t::omtf_neg && tfType2 == l1t::omtf_neg) {
865  if (std::abs(link - link2) == 1 || (std::abs(link - link2) == 5)) { // two adjacent sectors and wrap around
866  ugmtMuMuDEtaOneg->Fill(dEta);
867  ugmtMuMuDPhiOneg->Fill(dPhi);
868  ugmtMuMuDROneg->Fill(dR);
869  }
870  } else if (tfType == l1t::emtf_pos && tfType2 == l1t::emtf_pos) {
871  if (std::abs(link - link2) == 1 || (std::abs(link - link2) == 5)) { // two adjacent sectors and wrap around
872  ugmtMuMuDEtaEpos->Fill(dEta);
873  ugmtMuMuDPhiEpos->Fill(dPhi);
874  ugmtMuMuDREpos->Fill(dR);
875  }
876  } else if (tfType == l1t::emtf_neg && tfType2 == l1t::emtf_neg) {
877  if (std::abs(link - link2) == 1 || (std::abs(link - link2) == 5)) { // two adjacent sectors and wrap around
878  ugmtMuMuDEtaEneg->Fill(dEta);
879  ugmtMuMuDPhiEneg->Fill(dPhi);
880  ugmtMuMuDREneg->Fill(dR);
881  }
882  }
883  }
884  }
885  }
886 }
MonitorElement * ugmtMuMuDEtaEpos
MonitorElement * ugmtMuonhwIso
MonitorElement * ugmtMuonPhi
const_iterator end(int bx) const
MonitorElement * ugmtOMTFhwPhiPos
Definition: L1TStage2uGMT.h:67
MonitorElement * ugmtMuonPhiOmtf
MonitorElement * ugmtBMTFProcvshwPhi
Definition: L1TStage2uGMT.h:54
MonitorElement * ugmtMuonBX
const float etaScale_
Definition: L1TStage2uGMT.h:45
MonitorElement * ugmtOMTFMuMuDR
Definition: L1TStage2uGMT.h:79
MonitorElement * ugmtMuonEta
MonitorElement * ugmtEOMTFnegMuMuDR
MonitorElement * ugmtMuMuDREneg
MonitorElement * ugmtBMTFnMuons
Definition: L1TStage2uGMT.h:49
MonitorElement * ugmtBMTFMuMuDR
Definition: L1TStage2uGMT.h:61
MonitorElement * ugmtMuonBXvshwCharge
unsigned size(int bx) const
MonitorElement * ugmtOMTFBX
Definition: L1TStage2uGMT.h:63
MonitorElement * ugmtEMTFnMuons
Definition: L1TStage2uGMT.h:82
MonitorElement * ugmtOMTFhwSignValid
Definition: L1TStage2uGMT.h:74
MonitorElement * ugmtMuonhwCharge
MonitorElement * ugmtMuMuDEtaBOneg
MonitorElement * ugmtEOMTFposMuMuDEta
MonitorElement * ugmtEMTFhwPhiNeg
Definition: L1TStage2uGMT.h:86
MonitorElement * ugmtBMTFhwEta
Definition: L1TStage2uGMT.h:51
MonitorElement * ugmtBMTFMuMuDPhi
Definition: L1TStage2uGMT.h:60
MonitorElement * ugmtEMTFhwPt
Definition: L1TStage2uGMT.h:83
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
MonitorElement * ugmtBMTFlink
Definition: L1TStage2uGMT.h:58
MonitorElement * ugmtMuMuDROpos
MonitorElement * ugmtMuonPhiEmtf
MonitorElement * ugmtEOMTFposMuMuDR
MonitorElement * ugmtMuMuDEtaBOpos
const float phiScale_
Definition: L1TStage2uGMT.h:46
MonitorElement * ugmtEMTFProcvshwPhiPos
Definition: L1TStage2uGMT.h:89
MonitorElement * ugmtMuonhwPhiAtVtx
MonitorElement * ugmtMuMuDPhiBOneg
MonitorElement * ugmtEMTFMuMuDR
Definition: L1TStage2uGMT.h:97
MonitorElement * ugmtEMTFProcvshwPhiNeg
Definition: L1TStage2uGMT.h:90
MonitorElement * ugmtMuMuDPhiOneg
MonitorElement * ugmtEOMTFnegMuMuDEta
MonitorElement * ugmtBMTFglbPhi
Definition: L1TStage2uGMT.h:53
MonitorElement * ugmtMuonhwQual
MonitorElement * ugmtMuMuDRBOpos
MonitorElement * ugmtMuonBXvsLink
MonitorElement * ugmtMuonPt
MonitorElement * ugmtBOMTFposMuMuDR
MonitorElement * ugmtMuMuDPhiEpos
MonitorElement * ugmtBOMTFnegMuMuDPhi
MonitorElement * ugmtBOMTFnegMuMuDEta
MonitorElement * ugmtOMTFBXvsProcessor
MonitorElement * ugmtEMTFBX
Definition: L1TStage2uGMT.h:81
MonitorElement * ugmtMuonDPhivsPtOmtf
MonitorElement * ugmtMuonPtvsPhi
MonitorElement * ugmtMuonBXvshwPt
MonitorElement * ugmtMuonPhiBmtf
MonitorElement * ugmtMuonhwChargeValid
MonitorElement * ugmtMuMuDROneg
MonitorElement * ugmtBMTFBX
Definition: L1TStage2uGMT.h:48
MonitorElement * ugmtEMTFglbPhiPos
Definition: L1TStage2uGMT.h:87
MonitorElement * ugmtOMTFglbPhiNeg
Definition: L1TStage2uGMT.h:70
MonitorElement * ugmtOMTFMuMuDPhi
Definition: L1TStage2uGMT.h:78
MonitorElement * ugmtMuMuDEtaEOpos
MonitorElement * ugmtMuMuDREOneg
void Fill(long long x)
MonitorElement * ugmtEMTFMuMuDPhi
Definition: L1TStage2uGMT.h:96
MonitorElement * ugmtMuonDPhivsPtEmtf
MonitorElement * ugmtEOMTFnegMuMuDPhi
MonitorElement * ugmtMuMuDEtaB
MonitorElement * ugmtnMuons
MonitorElement * ugmtEOMTFposMuMuDPhi
MonitorElement * ugmtBMTFhwSignValid
Definition: L1TStage2uGMT.h:56
MonitorElement * ugmtMuonCharge
MonitorElement * ugmtMuMuDR
MonitorElement * ugmtOMTFhwPhiNeg
Definition: L1TStage2uGMT.h:68
MonitorElement * ugmtBOMTFnegMuMuDR
MonitorElement * ugmtMuonChargevsLink
MonitorElement * ugmtMuMuInvMassAtVtx
MonitorElement * ugmtEMTFBXvsProcessor
Definition: Muon.py:1
MonitorElement * ugmtMuonPtvsEta
MonitorElement * ugmtMuMuDPhiEOneg
T sqrt(T t)
Definition: SSEVec.h:18
MonitorElement * ugmtMuMuDEtaOpos
MonitorElement * ugmtMuonPhiAtVtx
MonitorElement * ugmtMuonEtaAtVtx
MonitorElement * ugmtEMTFhwPhiPos
Definition: L1TStage2uGMT.h:85
MonitorElement * ugmtMuMuDEtaEOneg
edm::EDGetTokenT< l1t::RegionalMuonCandBxCollection > ugmtEMTFToken
Definition: L1TStage2uGMT.h:39
MonitorElement * ugmtMuMuDEta
MonitorElement * ugmtMuMuDPhiOpos
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MonitorElement * ugmtMuonIndex
MonitorElement * ugmtMuMuInvMass
MonitorElement * ugmtMuonBXvshwPhi
MonitorElement * ugmtMuonhwEta
MonitorElement * ugmtMuMuDEtaEneg
MonitorElement * ugmtMuonDPhivsPtBmtf
MonitorElement * ugmtMuMuDPhiEOpos
MonitorElement * ugmtBOMTFposMuMuDPhi
MonitorElement * ugmtMuonhwPt
MonitorElement * ugmtEMTFglbPhiNeg
Definition: L1TStage2uGMT.h:88
MonitorElement * ugmtOMTFProcvshwPhiNeg
Definition: L1TStage2uGMT.h:72
MonitorElement * ugmtBMTFhwPhi
Definition: L1TStage2uGMT.h:52
MonitorElement * ugmtMuonDEtavsPtOmtf
MonitorElement * ugmtOMTFMuMuDEta
Definition: L1TStage2uGMT.h:77
MonitorElement * ugmtMuMuDPhiBOpos
MonitorElement * ugmtBMTFhwPt
Definition: L1TStage2uGMT.h:50
BXVector< Muon > MuonBxCollection
Definition: Muon.h:11
edm::EDGetTokenT< l1t::RegionalMuonCandBxCollection > ugmtBMTFToken
Definition: L1TStage2uGMT.h:37
static int calcGlobalPhi(int locPhi, tftype t, int proc)
edm::EDGetTokenT< l1t::MuonBxCollection > ugmtMuonToken
Definition: L1TStage2uGMT.h:40
MonitorElement * ugmtMuMuDPhiB
int getFirstBX() const
MonitorElement * ugmtMuonDEtavsPtBmtf
MonitorElement * ugmtOMTFglbPhiPos
Definition: L1TStage2uGMT.h:69
MonitorElement * ugmtMuMuDRBOneg
MonitorElement * ugmtMuonhwPhi
MonitorElement * ugmtMuMuDREpos
MonitorElement * ugmtBMTFhwQual
Definition: L1TStage2uGMT.h:57
MonitorElement * ugmtMuMuDEtaOneg
MonitorElement * ugmtMuonBXvshwIso
MonitorElement * ugmtBXvsLink
MonitorElement * ugmtOMTFnMuons
Definition: L1TStage2uGMT.h:64
MonitorElement * ugmtBMTFMuMuDEta
Definition: L1TStage2uGMT.h:59
MonitorElement * ugmtMuonhwEtaAtVtx
MonitorElement * ugmtEMTFMuMuDEta
Definition: L1TStage2uGMT.h:95
MonitorElement * ugmtOMTFProcvshwPhiPos
Definition: L1TStage2uGMT.h:71
MonitorElement * ugmtMuonBXvshwEta
MonitorElement * ugmtEMTFhwSign
Definition: L1TStage2uGMT.h:91
MonitorElement * ugmtEMTFhwSignValid
Definition: L1TStage2uGMT.h:92
MonitorElement * ugmtBMTFhwSign
Definition: L1TStage2uGMT.h:55
MonitorElement * ugmtEMTFlink
Definition: L1TStage2uGMT.h:94
edm::EDGetTokenT< l1t::RegionalMuonCandBxCollection > ugmtOMTFToken
Definition: L1TStage2uGMT.h:38
MonitorElement * ugmtMuMuDREOpos
int getLastBX() const
MonitorElement * ugmtMuonBXvshwQual
MonitorElement * ugmtEMTFhwQual
Definition: L1TStage2uGMT.h:93
MonitorElement * ugmtOMTFhwEta
Definition: L1TStage2uGMT.h:66
MonitorElement * ugmtMuonDEtavsPtEmtf
MonitorElement * ugmtMuMuDPhiEneg
MonitorElement * ugmtMuonPhiAtVtxvsEtaAtVtx
MonitorElement * ugmtEMTFhwEta
Definition: L1TStage2uGMT.h:84
l1t::tftype getTfOrigin(const int tfMuonIndex)
MonitorElement * ugmtMuonBXvshwChargeValid
MonitorElement * ugmtBOMTFposMuMuDEta
Definition: L1TStage2uGMT.h:99
MonitorElement * ugmtMuMuDPhi
MonitorElement * ugmtOMTFlink
Definition: L1TStage2uGMT.h:76
MonitorElement * ugmtOMTFhwQual
Definition: L1TStage2uGMT.h:75
const_iterator begin(int bx) const
MonitorElement * ugmtOMTFhwSign
Definition: L1TStage2uGMT.h:73
MonitorElement * ugmtBMTFBXvsProcessor
std::vector< RegionalMuonCand >::const_iterator const_iterator
Definition: BXVector.h:20
MonitorElement * ugmtOMTFhwPt
Definition: L1TStage2uGMT.h:65
MonitorElement * ugmtMuMuDRB
MonitorElement * ugmtMuonPhivsEta
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: Candidate.h:39
void L1TStage2uGMT::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run ,
const edm::EventSetup  
)
overrideprotected

Definition at line 36 of file L1TStage2uGMT.cc.

References stringResolutionProvider_cfi::bin, DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), emul, etaScale_, monitorDir, phiScale_, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), ugmtBMTFBX, ugmtBMTFBXvsProcessor, ugmtBMTFglbPhi, ugmtBMTFhwEta, ugmtBMTFhwPhi, ugmtBMTFhwPt, ugmtBMTFhwQual, ugmtBMTFhwSign, ugmtBMTFhwSignValid, ugmtBMTFlink, ugmtBMTFMuMuDEta, ugmtBMTFMuMuDPhi, ugmtBMTFMuMuDR, ugmtBMTFnMuons, ugmtBMTFProcvshwPhi, ugmtBOMTFnegMuMuDEta, ugmtBOMTFnegMuMuDPhi, ugmtBOMTFnegMuMuDR, ugmtBOMTFposMuMuDEta, ugmtBOMTFposMuMuDPhi, ugmtBOMTFposMuMuDR, ugmtBXvsLink, ugmtEMTFBX, ugmtEMTFBXvsProcessor, ugmtEMTFglbPhiNeg, ugmtEMTFglbPhiPos, ugmtEMTFhwEta, ugmtEMTFhwPhiNeg, ugmtEMTFhwPhiPos, ugmtEMTFhwPt, ugmtEMTFhwQual, ugmtEMTFhwSign, ugmtEMTFhwSignValid, ugmtEMTFlink, ugmtEMTFMuMuDEta, ugmtEMTFMuMuDPhi, ugmtEMTFMuMuDR, ugmtEMTFnMuons, ugmtEMTFProcvshwPhiNeg, ugmtEMTFProcvshwPhiPos, ugmtEOMTFnegMuMuDEta, ugmtEOMTFnegMuMuDPhi, ugmtEOMTFnegMuMuDR, ugmtEOMTFposMuMuDEta, ugmtEOMTFposMuMuDPhi, ugmtEOMTFposMuMuDR, ugmtMuMuDEta, ugmtMuMuDEtaB, ugmtMuMuDEtaBOneg, ugmtMuMuDEtaBOpos, ugmtMuMuDEtaEneg, ugmtMuMuDEtaEOneg, ugmtMuMuDEtaEOpos, ugmtMuMuDEtaEpos, ugmtMuMuDEtaOneg, ugmtMuMuDEtaOpos, ugmtMuMuDPhi, ugmtMuMuDPhiB, ugmtMuMuDPhiBOneg, ugmtMuMuDPhiBOpos, ugmtMuMuDPhiEneg, ugmtMuMuDPhiEOneg, ugmtMuMuDPhiEOpos, ugmtMuMuDPhiEpos, ugmtMuMuDPhiOneg, ugmtMuMuDPhiOpos, ugmtMuMuDR, ugmtMuMuDRB, ugmtMuMuDRBOneg, ugmtMuMuDRBOpos, ugmtMuMuDREneg, ugmtMuMuDREOneg, ugmtMuMuDREOpos, ugmtMuMuDREpos, ugmtMuMuDROneg, ugmtMuMuDROpos, ugmtMuMuInvMass, ugmtMuMuInvMassAtVtx, ugmtMuonBX, ugmtMuonBXvshwCharge, ugmtMuonBXvshwChargeValid, ugmtMuonBXvshwEta, ugmtMuonBXvshwIso, ugmtMuonBXvshwPhi, ugmtMuonBXvshwPt, ugmtMuonBXvshwQual, ugmtMuonBXvsLink, ugmtMuonCharge, ugmtMuonChargevsLink, ugmtMuonDEtavsPtBmtf, ugmtMuonDEtavsPtEmtf, ugmtMuonDEtavsPtOmtf, ugmtMuonDPhivsPtBmtf, ugmtMuonDPhivsPtEmtf, ugmtMuonDPhivsPtOmtf, ugmtMuonEta, ugmtMuonEtaAtVtx, ugmtMuonhwCharge, ugmtMuonhwChargeValid, ugmtMuonhwEta, ugmtMuonhwEtaAtVtx, ugmtMuonhwIso, ugmtMuonhwPhi, ugmtMuonhwPhiAtVtx, ugmtMuonhwPt, ugmtMuonhwQual, ugmtMuonIndex, ugmtMuonPhi, ugmtMuonPhiAtVtx, ugmtMuonPhiAtVtxvsEtaAtVtx, ugmtMuonPhiBmtf, ugmtMuonPhiEmtf, ugmtMuonPhiOmtf, ugmtMuonPhivsEta, ugmtMuonPt, ugmtMuonPtvsEta, ugmtMuonPtvsPhi, ugmtnMuons, ugmtOMTFBX, ugmtOMTFBXvsProcessor, ugmtOMTFglbPhiNeg, ugmtOMTFglbPhiPos, ugmtOMTFhwEta, ugmtOMTFhwPhiNeg, ugmtOMTFhwPhiPos, ugmtOMTFhwPt, ugmtOMTFhwQual, ugmtOMTFhwSign, ugmtOMTFhwSignValid, ugmtOMTFlink, ugmtOMTFMuMuDEta, ugmtOMTFMuMuDPhi, ugmtOMTFMuMuDR, ugmtOMTFnMuons, ugmtOMTFProcvshwPhiNeg, and ugmtOMTFProcvshwPhiPos.

36  {
37 
38  if (!emul) {
39  // BMTF Input
40  ibooker.setCurrentFolder(monitorDir + "/BMTFInput");
41 
42  ugmtBMTFBX = ibooker.book1D("ugmtBMTFBX", "uGMT BMTF Input BX", 7, -3.5, 3.5);
43  ugmtBMTFBX->setAxisTitle("BX", 1);
44 
45  ugmtBMTFnMuons = ibooker.book1D("ugmtBMTFnMuons", "uGMT BMTF Input Muon Multiplicity", 37, -0.5, 36.5);
46  ugmtBMTFnMuons->setAxisTitle("Muon Multiplicity (BX == 0)", 1);
47 
48  ugmtBMTFhwPt = ibooker.book1D("ugmtBMTFhwPt", "uGMT BMTF Input HW p_{T}", 512, -0.5, 511.5);
49  ugmtBMTFhwPt->setAxisTitle("Hardware p_{T}", 1);
50 
51  ugmtBMTFhwEta = ibooker.book1D("ugmtBMTFhwEta", "uGMT BMTF Input HW #eta", 201, -100.5, 100.5);
52  ugmtBMTFhwEta->setAxisTitle("Hardware #eta", 1);
53 
54  ugmtBMTFhwPhi = ibooker.book1D("ugmtBMTFhwPhi", "uGMT BMTF Input HW #phi", 71, -10.5, 60.5);
55  ugmtBMTFhwPhi->setAxisTitle("Hardware #phi", 1);
56 
57  ugmtBMTFglbPhi = ibooker.book1D("ugmtBMTFglbhwPhi", "uGMT BMTF Input HW #phi", 577, -1.5, 575.5);
58  ugmtBMTFglbPhi->setAxisTitle("Global Hardware #phi", 1);
59 
60  ugmtBMTFProcvshwPhi = ibooker.book2D("ugmtBMTFProcvshwPhi", "uGMT BMTF Processor vs HW #phi", 71, -10.5, 60.5, 12, 0, 12);
61  ugmtBMTFProcvshwPhi->setAxisTitle("Hardware #phi", 1);
62  ugmtBMTFProcvshwPhi->setAxisTitle("Wedge", 2);
63  for (int bin = 1; bin <= 12; ++bin) {
64  ugmtBMTFProcvshwPhi->setBinLabel(bin, std::to_string(bin), 2);
65  }
66 
67  ugmtBMTFhwSign = ibooker.book1D("ugmtBMTFhwSign", "uGMT BMTF Input HW Sign", 4, -1.5, 2.5);
68  ugmtBMTFhwSign->setAxisTitle("Hardware Sign", 1);
69 
70  ugmtBMTFhwSignValid = ibooker.book1D("ugmtBMTFhwSignValid", "uGMT BMTF Input SignValid", 2, -0.5, 1.5);
71  ugmtBMTFhwSignValid->setAxisTitle("SignValid", 1);
72 
73  ugmtBMTFhwQual = ibooker.book1D("ugmtBMTFhwQual", "uGMT BMTF Input Quality", 16, -0.5, 15.5);
74  ugmtBMTFhwQual->setAxisTitle("Quality", 1);
75 
76  ugmtBMTFlink = ibooker.book1D("ugmtBMTFlink", "uGMT BMTF Input Link", 12, 47.5, 59.5);
77  ugmtBMTFlink->setAxisTitle("Link", 1);
78 
79  ugmtBMTFMuMuDEta = ibooker.book1D("ugmtBMTFMuMuDEta", "uGMT BMTF input muons #Delta#eta between wedges", 100, -0.5, 0.5);
80  ugmtBMTFMuMuDEta->setAxisTitle("#Delta#eta", 1);
81 
82  ugmtBMTFMuMuDPhi = ibooker.book1D("ugmtBMTFMuMuDPhi", "uGMT BMTF input muons #Delta#phi between wedges", 100, -0.5, 0.5);
83  ugmtBMTFMuMuDPhi->setAxisTitle("#Delta#phi", 1);
84 
85  ugmtBMTFMuMuDR = ibooker.book1D("ugmtBMTFMuMuDR", "uGMT BMTF input muons #DeltaR between wedges", 50, 0., 0.5);
86  ugmtBMTFMuMuDR->setAxisTitle("#DeltaR", 1);
87 
88  // OMTF Input
89  ibooker.setCurrentFolder(monitorDir + "/OMTFInput");
90 
91  ugmtOMTFBX = ibooker.book1D("ugmtOMTFBX", "uGMT OMTF Input BX", 7, -3.5, 3.5);
92  ugmtOMTFBX->setAxisTitle("BX", 1);
93 
94  ugmtOMTFnMuons = ibooker.book1D("ugmtOMTFnMuons", "uGMT OMTF Input Muon Multiplicity", 37, -0.5, 36.5);
95  ugmtOMTFnMuons->setAxisTitle("Muon Multiplicity (BX == 0)", 1);
96 
97  ugmtOMTFhwPt = ibooker.book1D("ugmtOMTFhwPt", "uGMT OMTF Input HW p_{T}", 512, -0.5, 511.5);
98  ugmtOMTFhwPt->setAxisTitle("Hardware p_{T}", 1);
99 
100  ugmtOMTFhwEta = ibooker.book1D("ugmtOMTFhwEta", "uGMT OMTF Input HW #eta", 231, -115.5, 115.5);
101  ugmtOMTFhwEta->setAxisTitle("Hardware #eta", 1);
102 
103  ugmtOMTFhwPhiPos = ibooker.book1D("ugmtOMTFhwPhiPos", "uGMT OMTF Input HW #phi, Positive Side", 122, -16.5, 105.5);
104  ugmtOMTFhwPhiPos->setAxisTitle("Hardware #phi", 1);
105 
106  ugmtOMTFhwPhiNeg = ibooker.book1D("ugmtOMTFhwPhiNeg", "uGMT OMTF Input HW #phi, Negative Side", 122, -16.5, 105.5);
107  ugmtOMTFhwPhiNeg->setAxisTitle("Hardware #phi", 1);
108 
109  ugmtOMTFglbPhiPos = ibooker.book1D("ugmtOMTFglbhwPhiPos", "uGMT OMTF Input HW #phi, Positive Side", 577, -1.5, 575.5);
110  ugmtOMTFglbPhiPos->setAxisTitle("Global Hardware #phi", 1);
111 
112  ugmtOMTFglbPhiNeg = ibooker.book1D("ugmtOMTFglbhwPhiNeg", "uGMT OMTF Input HW #phi, Negative Side", 577, -1.5, 575.5);
113  ugmtOMTFglbPhiNeg->setAxisTitle("Global Hardware #phi", 1);
114 
115  ugmtOMTFProcvshwPhiPos = ibooker.book2D("ugmtOMTFProcvshwPhiPos", "uGMT OMTF Processor vs HW #phi", 122, -16.5, 105.5, 6, 0, 6);
116  ugmtOMTFProcvshwPhiPos->setAxisTitle("Hardware #phi", 1);
117  ugmtOMTFProcvshwPhiPos->setAxisTitle("Sector (Positive Side)", 2);
118 
119  ugmtOMTFProcvshwPhiNeg = ibooker.book2D("ugmtOMTFProcvshwPhiNeg", "uGMT OMTF Processor vs HW #phi", 122, -16.5, 105.5, 6, 0, 6);
120  ugmtOMTFProcvshwPhiNeg->setAxisTitle("Hardware #phi", 1);
121  ugmtOMTFProcvshwPhiNeg->setAxisTitle("Sector (Negative Side)", 2);
122 
123  for (int bin = 1; bin <= 6; ++bin) {
124  ugmtOMTFProcvshwPhiPos->setBinLabel(bin, std::to_string(bin), 2);
125  ugmtOMTFProcvshwPhiNeg->setBinLabel(bin, std::to_string(bin), 2);
126  }
127 
128  ugmtOMTFhwSign = ibooker.book1D("ugmtOMTFhwSign", "uGMT OMTF Input HW Sign", 4, -1.5, 2.5);
129  ugmtOMTFhwSign->setAxisTitle("Hardware Sign", 1);
130 
131  ugmtOMTFhwSignValid = ibooker.book1D("ugmtOMTFhwSignValid", "uGMT OMTF Input SignValid", 2, -0.5, 1.5);
132  ugmtOMTFhwSignValid->setAxisTitle("SignValid", 1);
133 
134  ugmtOMTFhwQual = ibooker.book1D("ugmtOMTFhwQual", "uGMT OMTF Input Quality", 16, -0.5, 15.5);
135  ugmtOMTFhwQual->setAxisTitle("Quality", 1);
136 
137  ugmtOMTFlink = ibooker.book1D("ugmtOMTFlink", "uGMT OMTF Input Link", 24, 41.5, 65.5);
138  ugmtOMTFlink->setAxisTitle("Link", 1);
139 
140  ugmtOMTFMuMuDEta = ibooker.book1D("ugmtOMTFMuMuDEta", "uGMT OMTF input muons #Delta#eta between sectors", 100, -0.5, 0.5);
141  ugmtOMTFMuMuDEta->setAxisTitle("#Delta#eta", 1);
142 
143  ugmtOMTFMuMuDPhi = ibooker.book1D("ugmtOMTFMuMuDPhi", "uGMT OMTF input muons #Delta#phi between sectors", 100, -0.5, 0.5);
144  ugmtOMTFMuMuDPhi->setAxisTitle("#Delta#phi", 1);
145 
146  ugmtOMTFMuMuDR = ibooker.book1D("ugmtOMTFMuMuDR", "uGMT OMTF input muons #DeltaR between sectors", 50, 0., 0.5);
147  ugmtOMTFMuMuDR->setAxisTitle("#DeltaR", 1);
148 
149  // EMTF Input
150  ibooker.setCurrentFolder(monitorDir + "/EMTFInput");
151 
152  ugmtEMTFBX = ibooker.book1D("ugmtEMTFBX", "uGMT EMTF Input BX", 7, -3.5, 3.5);
153  ugmtEMTFBX->setAxisTitle("BX", 1);
154 
155  ugmtEMTFnMuons = ibooker.book1D("ugmtEMTFnMuons", "uGMT EMTF Input Muon Multiplicity", 37, -0.5, 36.5);
156  ugmtEMTFnMuons->setAxisTitle("Muon Multiplicity (BX == 0)", 1);
157 
158  ugmtEMTFhwPt = ibooker.book1D("ugmtEMTFhwPt", "uGMT EMTF HW p_{T}", 512, -0.5, 511.5);
159  ugmtEMTFhwPt->setAxisTitle("Hardware p_{T}", 1);
160 
161  ugmtEMTFhwEta = ibooker.book1D("ugmtEMTFhwEta", "uGMT EMTF HW #eta", 461, -230.5, 230.5);
162  ugmtEMTFhwEta->setAxisTitle("Hardware #eta", 1);
163 
164  ugmtEMTFhwPhiPos = ibooker.book1D("ugmtEMTFhwPhiPos", "uGMT EMTF HW #phi, Positive Side", 146, -40.5, 105.5);
165  ugmtEMTFhwPhiPos->setAxisTitle("Hardware #phi", 1);
166 
167  ugmtEMTFhwPhiNeg = ibooker.book1D("ugmtEMTFhwPhiNeg", "uGMT EMTF HW #phi, Negative Side", 146, -40.5, 105.5);
168  ugmtEMTFhwPhiNeg->setAxisTitle("Hardware #phi", 1);
169 
170  ugmtEMTFglbPhiPos = ibooker.book1D("ugmtEMTFglbhwPhiPos", "uGMT EMTF Input Global HW #phi, Positive Side", 577, -1.5, 575.5);
171  ugmtEMTFglbPhiPos->setAxisTitle("Global Hardware #phi", 1);
172 
173  ugmtEMTFglbPhiNeg = ibooker.book1D("ugmtEMTFglbhwPhiNeg", "uGMT EMTF Input Global HW #phi, Negative Side", 577, -1.5, 575.5);
174  ugmtEMTFglbPhiNeg->setAxisTitle("Global Hardware #phi", 1);
175 
176  ugmtEMTFProcvshwPhiPos = ibooker.book2D("ugmtEMTFProcvshwPhiPos", "uGMT EMTF Processor vs HW #phi", 146, -40.5, 105.5, 6, 0, 6);
177  ugmtEMTFProcvshwPhiPos->setAxisTitle("Hardware #phi", 1);
178  ugmtEMTFProcvshwPhiPos->setAxisTitle("Sector (Positive Side)", 2);
179 
180  ugmtEMTFProcvshwPhiNeg = ibooker.book2D("ugmtEMTFProcvshwPhiNeg", "uGMT EMTF Processor vs HW #phi", 146, -40.5, 105.5, 6, 0, 6);
181  ugmtEMTFProcvshwPhiNeg->setAxisTitle("Hardware #phi", 1);
182  ugmtEMTFProcvshwPhiNeg->setAxisTitle("Sector (Negative Side)", 2);
183 
184  for (int bin = 1; bin <= 6; ++bin) {
185  ugmtEMTFProcvshwPhiPos->setBinLabel(bin, std::to_string(bin), 2);
186  ugmtEMTFProcvshwPhiNeg->setBinLabel(bin, std::to_string(bin), 2);
187  }
188 
189  ugmtEMTFhwSign = ibooker.book1D("ugmtEMTFhwSign", "uGMT EMTF HW Sign", 4, -1.5, 2.5);
190  ugmtEMTFhwSign->setAxisTitle("Hardware Sign", 1);
191 
192  ugmtEMTFhwSignValid = ibooker.book1D("ugmtEMTFhwSignValid", "uGMT EMTF SignValid", 2, -0.5, 1.5);
193  ugmtEMTFhwSignValid->setAxisTitle("SignValid", 1);
194 
195  ugmtEMTFhwQual = ibooker.book1D("ugmtEMTFhwQual", "uGMT EMTF Quality", 16, -0.5, 15.5);
196  ugmtEMTFhwQual->setAxisTitle("Quality", 1);
197 
198  ugmtEMTFlink = ibooker.book1D("ugmtEMTFlink", "uGMT EMTF Link", 36, 35.5, 71.5);
199  ugmtEMTFlink->setAxisTitle("Link", 1);
200 
201  ugmtEMTFMuMuDEta = ibooker.book1D("ugmtEMTFMuMuDEta", "uGMT EMTF input muons #Delta#eta between sectors", 100, -0.5, 0.5);
202  ugmtEMTFMuMuDEta->setAxisTitle("#Delta#eta", 1);
203 
204  ugmtEMTFMuMuDPhi = ibooker.book1D("ugmtEMTFMuMuDPhi", "uGMT EMTF input muons #Delta#phi between sectors", 100, -0.5, 0.5);
205  ugmtEMTFMuMuDPhi->setAxisTitle("#Delta#phi", 1);
206 
207  ugmtEMTFMuMuDR = ibooker.book1D("ugmtEMTFMuMuDR", "uGMT EMTF input muons #DeltaR between sectors", 50, 0., 0.5);
208  ugmtEMTFMuMuDR->setAxisTitle("#DeltaR", 1);
209 
210  // inter-TF muon correlations
211  ibooker.setCurrentFolder(monitorDir + "/muon_correlations");
212 
213  ugmtBOMTFposMuMuDEta = ibooker.book1D("ugmtBOMTFposMuMuDEta", "uGMT input muons #Delta#eta between BMTF and OMTF+", 100, -0.5, 0.5);
214  ugmtBOMTFposMuMuDEta->setAxisTitle("#Delta#eta", 1);
215 
216  ugmtBOMTFposMuMuDPhi = ibooker.book1D("ugmtBOMTFposMuMuDPhi", "uGMT input muons #Delta#phi between BMTF and OMTF+", 100, -0.5, 0.5);
217  ugmtBOMTFposMuMuDPhi->setAxisTitle("#Delta#phi", 1);
218 
219  ugmtBOMTFposMuMuDR = ibooker.book1D("ugmtBOMTFposMuMuDR", "uGMT input muons #DeltaR between BMTF and OMTF+", 50, 0., 0.5);
220  ugmtBOMTFposMuMuDR->setAxisTitle("#DeltaR", 1);
221 
222  ugmtBOMTFnegMuMuDEta = ibooker.book1D("ugmtBOMTFnegMuMuDEta", "uGMT input muons #Delta#eta between BMTF and OMTF-", 100, -0.5, 0.5);
223  ugmtBOMTFnegMuMuDEta->setAxisTitle("#Delta#eta", 1);
224 
225  ugmtBOMTFnegMuMuDPhi = ibooker.book1D("ugmtBOMTFnegMuMuDPhi", "uGMT input muons #Delta#phi between BMTF and OMTF-", 100, -0.5, 0.5);
226  ugmtBOMTFnegMuMuDPhi->setAxisTitle("#Delta#phi", 1);
227 
228  ugmtBOMTFnegMuMuDR = ibooker.book1D("ugmtBOMTFnegMuMuDR", "uGMT input muons #DeltaR between BMTF and OMTF-", 50, 0., 0.5);
229  ugmtBOMTFnegMuMuDR->setAxisTitle("#DeltaR", 1);
230 
231  ugmtEOMTFposMuMuDEta = ibooker.book1D("ugmtEOMTFposMuMuDEta", "uGMT input muons #Delta#eta between EMTF+ and OMTF+", 100, -0.5, 0.5);
232  ugmtEOMTFposMuMuDEta->setAxisTitle("#Delta#eta", 1);
233 
234  ugmtEOMTFposMuMuDPhi = ibooker.book1D("ugmtEOMTFposMuMuDPhi", "uGMT input muons #Delta#phi between EMTF+ and OMTF+", 100, -0.5, 0.5);
235  ugmtEOMTFposMuMuDPhi->setAxisTitle("#Delta#phi", 1);
236 
237  ugmtEOMTFposMuMuDR = ibooker.book1D("ugmtEOMTFposMuMuDR", "uGMT input muons #DeltaR between EMTF+ and OMTF+", 50, 0., 0.5);
238  ugmtEOMTFposMuMuDR->setAxisTitle("#DeltaR", 1);
239 
240  ugmtEOMTFnegMuMuDEta = ibooker.book1D("ugmtEOMTFnegMuMuDEta", "uGMT input muons #Delta#eta between EMTF- and OMTF-", 100, -0.5, 0.5);
241  ugmtEOMTFnegMuMuDEta->setAxisTitle("#Delta#eta", 1);
242 
243  ugmtEOMTFnegMuMuDPhi = ibooker.book1D("ugmtEOMTFnegMuMuDPhi", "uGMT input muons #Delta#phi between EMTF- and OMTF-", 100, -0.5, 0.5);
244  ugmtEOMTFnegMuMuDPhi->setAxisTitle("#Delta#phi", 1);
245 
246  ugmtEOMTFnegMuMuDR = ibooker.book1D("ugmtEOMTFnegMuMuDR", "uGMT input muons #DeltaR between EMTF- and OMTF-", 50, 0., 0.5);
247  ugmtEOMTFnegMuMuDR->setAxisTitle("#DeltaR", 1);
248 
249  }
250 
251  // Subsystem Monitoring and Muon Output
252  ibooker.setCurrentFolder(monitorDir);
253 
254  if (!emul) {
255  ugmtBMTFBXvsProcessor = ibooker.book2D("ugmtBXvsProcessorBMTF", "uGMT BMTF Input BX vs Processor", 12, -0.5, 11.5, 5, -2.5, 2.5);
256  ugmtBMTFBXvsProcessor->setAxisTitle("Wedge", 1);
257  for (int bin = 1; bin <= 12; ++bin) {
258  ugmtBMTFBXvsProcessor->setBinLabel(bin, std::to_string(bin), 1);
259  }
261 
262  ugmtOMTFBXvsProcessor = ibooker.book2D("ugmtBXvsProcessorOMTF", "uGMT OMTF Input BX vs Processor", 12, -0.5, 11.5, 5, -2.5, 2.5);
263  ugmtOMTFBXvsProcessor->setAxisTitle("Sector (Detector Side)", 1);
264  for (int bin = 1; bin <= 6; ++bin) {
265  ugmtOMTFBXvsProcessor->setBinLabel(bin, std::to_string(7 - bin) + " (-)", 1);
266  ugmtOMTFBXvsProcessor->setBinLabel(bin + 6, std::to_string(bin) + " (+)", 1);
267  }
269 
270  ugmtEMTFBXvsProcessor = ibooker.book2D("ugmtBXvsProcessorEMTF", "uGMT EMTF Input BX vs Processor", 12, -0.5, 11.5, 5, -2.5, 2.5);
271  ugmtEMTFBXvsProcessor->setAxisTitle("Sector (Detector Side)", 1);
272  for (int bin = 1; bin <= 6; ++bin) {
273  ugmtEMTFBXvsProcessor->setBinLabel(bin, std::to_string(7 - bin) + " (-)", 1);
274  ugmtEMTFBXvsProcessor->setBinLabel(bin + 6, std::to_string(bin) + " (+)", 1);
275  }
277 
278  ugmtBXvsLink = ibooker.book2D("ugmtBXvsLink", "uGMT BX vs Input Links", 36, 35.5, 71.5, 5, -2.5, 2.5);
279  ugmtBXvsLink->setAxisTitle("Link", 1);
280  for (int bin = 1; bin <= 6; ++bin) {
281  ugmtBXvsLink->setBinLabel(bin , Form("E+%d", bin ), 1);
282  ugmtBXvsLink->setBinLabel(bin+6 , Form("O+%d", bin ), 1);
283  ugmtBXvsLink->setBinLabel(bin+12, Form("B%d", bin ), 1);
284  ugmtBXvsLink->setBinLabel(bin+18, Form("B%d", bin+6), 1);
285  ugmtBXvsLink->setBinLabel(bin+24, Form("O-%d", bin ), 1);
286  ugmtBXvsLink->setBinLabel(bin+30, Form("E-%d", bin ), 1);
287  }
288  ugmtBXvsLink->setAxisTitle("BX", 2);
289  }
290 
291  ugmtMuonBX = ibooker.book1D("ugmtMuonBX", "uGMT Muon BX", 7, -3.5, 3.5);
292  ugmtMuonBX->setAxisTitle("BX", 1);
293 
294  ugmtnMuons = ibooker.book1D("ugmtnMuons", "uGMT Muon Multiplicity", 9, -0.5, 8.5);
295  ugmtnMuons->setAxisTitle("Muon Multiplicity (BX == 0)", 1);
296 
297  ugmtMuonIndex = ibooker.book1D("ugmtMuonIndex", "uGMT Input Muon Index", 108, -0.5, 107.5);
298  ugmtMuonIndex->setAxisTitle("Index", 1);
299 
300  ugmtMuonhwPt = ibooker.book1D("ugmtMuonhwPt", "uGMT Muon HW p_{T}", 512, -0.5, 511.5);
301  ugmtMuonhwPt->setAxisTitle("Hardware p_{T}", 1);
302 
303  ugmtMuonhwEta = ibooker.book1D("ugmtMuonhwEta", "uGMT Muon HW #eta", 461, -230.5, 230.5);
304  ugmtMuonhwEta->setAxisTitle("Hardware Eta", 1);
305 
306  ugmtMuonhwPhi = ibooker.book1D("ugmtMuonhwPhi", "uGMT Muon HW #phi", 577, -1.5, 575.5);
307  ugmtMuonhwPhi->setAxisTitle("Hardware Phi", 1);
308 
309  ugmtMuonhwEtaAtVtx = ibooker.book1D("ugmtMuonhwEtaAtVtx", "uGMT Muon HW #eta at vertex", 461, -230.5, 230.5);
310  ugmtMuonhwEtaAtVtx->setAxisTitle("Hardware Eta at Vertex", 1);
311 
312  ugmtMuonhwPhiAtVtx = ibooker.book1D("ugmtMuonhwPhiAtVtx", "uGMT Muon HW #phi at vertex", 577, -1.5, 575.5);
313  ugmtMuonhwPhiAtVtx->setAxisTitle("Hardware Phi at Vertex", 1);
314 
315  ugmtMuonhwCharge = ibooker.book1D("ugmtMuonhwCharge", "uGMT Muon HW Charge", 4, -1.5, 2.5);
316  ugmtMuonhwCharge->setAxisTitle("Hardware Charge", 1);
317 
318  ugmtMuonhwChargeValid = ibooker.book1D("ugmtMuonhwChargeValid", "uGMT Muon ChargeValid", 2, -0.5, 1.5);
319  ugmtMuonhwChargeValid->setAxisTitle("ChargeValid", 1);
320 
321  ugmtMuonhwQual = ibooker.book1D("ugmtMuonhwQual", "uGMT Muon Quality", 16, -0.5, 15.5);
322  ugmtMuonhwQual->setAxisTitle("Quality", 1);
323 
324  ugmtMuonhwIso = ibooker.book1D("ugmtMuonhwIso", "uGMT Muon Isolation", 4, -0.5, 3.5);
325  ugmtMuonhwIso->setAxisTitle("Isolation", 1);
326 
327  ugmtMuonPt = ibooker.book1D("ugmtMuonPt", "uGMT Muon p_{T}", 128, -0.5, 255.5);
328  ugmtMuonPt->setAxisTitle("p_{T} [GeV]", 1);
329 
330  ugmtMuonEta = ibooker.book1D("ugmtMuonEta", "uGMT Muon #eta", 52, -2.6, 2.6);
331  ugmtMuonEta->setAxisTitle("#eta", 1);
332 
333  ugmtMuonPhi = ibooker.book1D("ugmtMuonPhi", "uGMT Muon #phi", 66, -3.3, 3.3);
334  ugmtMuonPhi->setAxisTitle("#phi", 1);
335 
336  ugmtMuonEtaAtVtx = ibooker.book1D("ugmtMuonEtaAtVtx", "uGMT Muon #eta at vertex", 52, -2.6, 2.6);
337  ugmtMuonEtaAtVtx->setAxisTitle("#eta at vertex", 1);
338 
339  ugmtMuonPhiAtVtx = ibooker.book1D("ugmtMuonPhiAtVtx", "uGMT Muon #phi at vertex", 66, -3.3, 3.3);
340  ugmtMuonPhiAtVtx->setAxisTitle("#phi at vertex", 1);
341 
342  ugmtMuonCharge = ibooker.book1D("ugmtMuonCharge", "uGMT Muon Charge", 3, -1.5, 1.5);
343  ugmtMuonCharge->setAxisTitle("Charge", 1);
344 
345  ugmtMuonPhiBmtf = ibooker.book1D("ugmtMuonPhiBmtf", "uGMT Muon #phi for BMTF Inputs", 66, -3.3, 3.3);
346  ugmtMuonPhiBmtf->setAxisTitle("#phi", 1);
347 
348  ugmtMuonPhiOmtf = ibooker.book1D("ugmtMuonPhiOmtf", "uGMT Muon #phi for OMTF Inputs", 66, -3.3, 3.3);
349  ugmtMuonPhiOmtf->setAxisTitle("#phi", 1);
350 
351  ugmtMuonPhiEmtf = ibooker.book1D("ugmtMuonPhiEmtf", "uGMT Muon #phi for EMTF Inputs", 66, -3.3, 3.3);
352  ugmtMuonPhiEmtf->setAxisTitle("#phi", 1);
353 
354  const float dPhiScale = 4*phiScale_;
355  const float dEtaScale = etaScale_;
356  ugmtMuonDEtavsPtBmtf = ibooker.book2D("ugmtMuonDEtavsPtBmtf", "uGMT Muon from BMTF #eta_{at vertex} - #eta_{at muon system} vs p_{T}", 32, 0, 64, 31, -15.5*dEtaScale, 15.5*dEtaScale);
357  ugmtMuonDEtavsPtBmtf->setAxisTitle("p_{T} [GeV]", 1);
358  ugmtMuonDEtavsPtBmtf->setAxisTitle("#eta_{at vertex} - #eta", 2);
359 
360  ugmtMuonDPhivsPtBmtf = ibooker.book2D("ugmtMuonDPhivsPtBmtf", "uGMT Muon from BMTF #phi_{at vertex} - #phi_{at muon system} vs p_{T}", 32, 0, 64, 31, -15.5*dPhiScale, 15.5*dPhiScale);
361  ugmtMuonDPhivsPtBmtf->setAxisTitle("p_{T} [GeV]", 1);
362  ugmtMuonDPhivsPtBmtf->setAxisTitle("#phi_{at vertex} - #phi", 2);
363 
364  ugmtMuonDEtavsPtOmtf = ibooker.book2D("ugmtMuonDEtavsPtOmtf", "uGMT Muon from OMTF #eta_{at vertex} - #eta_{at muon system} vs p_{T}", 32, 0, 64, 31, -15.5*dEtaScale, 15.5*dEtaScale);
365  ugmtMuonDEtavsPtOmtf->setAxisTitle("p_{T} [GeV]", 1);
366  ugmtMuonDEtavsPtOmtf->setAxisTitle("#eta_{at vertex} - #eta", 2);
367 
368  ugmtMuonDPhivsPtOmtf = ibooker.book2D("ugmtMuonDPhivsPtOmtf", "uGMT Muon from OMTF #phi_{at vertex} - #phi_{at muon system} vs p_{T}", 32, 0, 64, 31, -15.5*dPhiScale, 15.5*dPhiScale);
369  ugmtMuonDPhivsPtOmtf->setAxisTitle("p_{T} [GeV]", 1);
370  ugmtMuonDPhivsPtOmtf->setAxisTitle("#phi_{at vertex} - #phi", 2);
371 
372  ugmtMuonDEtavsPtEmtf = ibooker.book2D("ugmtMuonDEtavsPtEmtf", "uGMT Muon from EMTF #eta_{at vertex} - #eta_{at muon system} vs p_{T}", 32, 0, 64, 31, -15.5*dEtaScale, 15.5*dEtaScale);
373  ugmtMuonDEtavsPtEmtf->setAxisTitle("p_{T} [GeV]", 1);
374  ugmtMuonDEtavsPtEmtf->setAxisTitle("#eta_{at vertex} - #eta", 2);
375 
376  ugmtMuonDPhivsPtEmtf = ibooker.book2D("ugmtMuonDPhivsPtEmtf", "uGMT Muon from EMTF #phi_{at vertex} - #phi_{at muon system} vs p_{T}", 32, 0, 64, 31, -15.5*dPhiScale, 15.5*dPhiScale);
377  ugmtMuonDPhivsPtEmtf->setAxisTitle("p_{T} [GeV]", 1);
378  ugmtMuonDPhivsPtEmtf->setAxisTitle("#phi_{at vertex} - #phi", 2);
379 
380  ugmtMuonPtvsEta = ibooker.book2D("ugmtMuonPtvsEta", "uGMT Muon p_{T} vs #eta", 100, -2.5, 2.5, 128, -0.5, 255.5);
381  ugmtMuonPtvsEta->setAxisTitle("#eta", 1);
382  ugmtMuonPtvsEta->setAxisTitle("p_{T} [GeV]", 2);
383 
384  ugmtMuonPtvsPhi = ibooker.book2D("ugmtMuonPtvsPhi", "uGMT Muon p_{T} vs #phi", 64, -3.2, 3.2, 128, -0.5, 255.5);
385  ugmtMuonPtvsPhi->setAxisTitle("#phi", 1);
386  ugmtMuonPtvsPhi->setAxisTitle("p_{T} [GeV]", 2);
387 
388  ugmtMuonPhivsEta = ibooker.book2D("ugmtMuonPhivsEta", "uGMT Muon #phi vs #eta", 100, -2.5, 2.5, 64, -3.2, 3.2);
389  ugmtMuonPhivsEta->setAxisTitle("#eta", 1);
390  ugmtMuonPhivsEta->setAxisTitle("#phi", 2);
391 
392  ugmtMuonPhiAtVtxvsEtaAtVtx = ibooker.book2D("ugmtMuonPhiAtVtxvsEtaAtVtx", "uGMT Muon #phi at vertex vs #eta at vertex", 100, -2.5, 2.5, 64, -3.2, 3.2);
393  ugmtMuonPhiAtVtxvsEtaAtVtx->setAxisTitle("#eta at vertex", 1);
394  ugmtMuonPhiAtVtxvsEtaAtVtx->setAxisTitle("#phi at vertex", 2);
395 
396  ugmtMuonBXvsLink = ibooker.book2D("ugmtMuonBXvsLink", "uGMT Muon BX vs Input Links", 36, 35.5, 71.5, 5, -2.5, 2.5);
397  ugmtMuonBXvsLink->setAxisTitle("Muon Input Links", 1);
398  for (int bin = 1; bin <= 6; ++bin) {
399  ugmtMuonBXvsLink->setBinLabel(bin , Form("E+%d", bin ), 1);
400  ugmtMuonBXvsLink->setBinLabel(bin+6 , Form("O+%d", bin ), 1);
401  ugmtMuonBXvsLink->setBinLabel(bin+12, Form("B%d", bin ), 1);
402  ugmtMuonBXvsLink->setBinLabel(bin+18, Form("B%d", bin+6), 1);
403  ugmtMuonBXvsLink->setBinLabel(bin+24, Form("O-%d", bin ), 1);
404  ugmtMuonBXvsLink->setBinLabel(bin+30, Form("E-%d", bin ), 1);
405  }
406  ugmtMuonBXvsLink->setAxisTitle("BX", 2);
407 
408  ugmtMuonChargevsLink = ibooker.book2D("ugmtMuonChargevsLink", "uGMT Muon Charge vs Input Links", 36, 35.5, 71.5, 3, -1.5, 1.5);
409  ugmtMuonChargevsLink->setAxisTitle("Muon Input Links", 1);
410  for (int bin = 1; bin <= 6; ++bin) {
411  ugmtMuonChargevsLink->setBinLabel(bin , Form("E+%d", bin ), 1);
412  ugmtMuonChargevsLink->setBinLabel(bin+6 , Form("O+%d", bin ), 1);
413  ugmtMuonChargevsLink->setBinLabel(bin+12, Form("B%d", bin ), 1);
414  ugmtMuonChargevsLink->setBinLabel(bin+18, Form("B%d", bin+6), 1);
415  ugmtMuonChargevsLink->setBinLabel(bin+24, Form("O-%d", bin ), 1);
416  ugmtMuonChargevsLink->setBinLabel(bin+30, Form("E-%d", bin ), 1);
417  }
418  ugmtMuonChargevsLink->setAxisTitle("Charge", 2);
419 
420  ugmtMuonBXvshwPt = ibooker.book2D("ugmtMuonBXvshwPt", "uGMT Muon BX vs HW p_{T}", 128, -0.5, 511.5, 5, -2.5, 2.5);
421  ugmtMuonBXvshwPt->setAxisTitle("Hardware p_{T}", 1);
422  ugmtMuonBXvshwPt->setAxisTitle("BX", 2);
423 
424  ugmtMuonBXvshwEta = ibooker.book2D("ugmtMuonBXvshwEta", "uGMT Muon BX vs HW #eta", 93, -232.5, 232.5, 5, -2.5, 2.5);
425  ugmtMuonBXvshwEta->setAxisTitle("Hardware #eta", 1);
427 
428  ugmtMuonBXvshwPhi = ibooker.book2D("ugmtMuonBXvshwPhi", "uGMT Muon BX vs HW #phi", 116, -2.5, 577.5, 5, -2.5, 2.5);
429  ugmtMuonBXvshwPhi->setAxisTitle("Hardware #phi", 1);
431 
432  ugmtMuonBXvshwCharge = ibooker.book2D("ugmtMuonBXvshwCharge", "uGMT Muon BX vs HW Charge", 2, -0.5, 1.5, 5, -2.5, 2.5);
433  ugmtMuonBXvshwCharge->setAxisTitle("Hardware Charge", 1);
435 
436  ugmtMuonBXvshwChargeValid = ibooker.book2D("ugmtMuonBXvshwChargeValid", "uGMT Muon BX vs ChargeValid", 2, -0.5, 1.5, 5, -2.5, 2.5);
437  ugmtMuonBXvshwChargeValid->setAxisTitle("ChargeValid", 1);
439 
440  ugmtMuonBXvshwQual = ibooker.book2D("ugmtMuonBXvshwQual", "uGMT Muon BX vs Quality", 16, -0.5, 15.5, 5, -2.5, 2.5);
441  ugmtMuonBXvshwQual->setAxisTitle("Quality", 1);
443 
444  ugmtMuonBXvshwIso = ibooker.book2D("ugmtMuonBXvshwIso", "uGMT Muon BX vs Isolation", 4, -0.5, 3.5, 5, -2.5, 2.5);
445  ugmtMuonBXvshwIso->setAxisTitle("Isolation", 1);
447 
448  // muon correlations
449  ibooker.setCurrentFolder(monitorDir + "/muon_correlations");
450 
451  ugmtMuMuInvMass = ibooker.book1D("ugmtMuMuInvMass", "uGMT dimuon invariant mass", 200, 0., 200.);
452  ugmtMuMuInvMass->setAxisTitle("m(#mu#mu) [GeV]", 1);
453 
454  ugmtMuMuInvMassAtVtx = ibooker.book1D("ugmtMuMuInvMassAtVtx", "uGMT dimuon invariant mass with coordinates at vertex", 200, 0., 200.);
455  ugmtMuMuInvMassAtVtx->setAxisTitle("m(#mu#mu) [GeV]", 1);
456 
457  ugmtMuMuDEta = ibooker.book1D("ugmtMuMuDEta", "uGMT Muons #Delta#eta", 100, -1., 1.);
458  ugmtMuMuDEta->setAxisTitle("#Delta#eta", 1);
459 
460  ugmtMuMuDPhi = ibooker.book1D("ugmtMuMuDPhi", "uGMT Muons #Delta#phi", 100, -1., 1.);
461  ugmtMuMuDPhi->setAxisTitle("#Delta#phi", 1);
462 
463  ugmtMuMuDR = ibooker.book1D("ugmtMuMuDR", "uGMT Muons #DeltaR", 50, 0., 1.);
464  ugmtMuMuDR->setAxisTitle("#DeltaR", 1);
465 
466  // barrel - overlap
467  ugmtMuMuDEtaBOpos = ibooker.book1D("ugmtMuMuDEtaBOpos", "uGMT Muons #Delta#eta barrel-overlap positive side", 100, -1., 1.);
468  ugmtMuMuDEtaBOpos->setAxisTitle("#Delta#eta", 1);
469 
470  ugmtMuMuDPhiBOpos = ibooker.book1D("ugmtMuMuDPhiBOpos", "uGMT Muons #Delta#phi barrel-overlap positive side", 100, -1., 1.);
471  ugmtMuMuDPhiBOpos->setAxisTitle("#Delta#phi", 1);
472 
473  ugmtMuMuDRBOpos = ibooker.book1D("ugmtMuMuDRBOpos", "uGMT Muons #DeltaR barrel-overlap positive side", 50, 0., 1.);
474  ugmtMuMuDRBOpos->setAxisTitle("#DeltaR", 1);
475 
476  ugmtMuMuDEtaBOneg = ibooker.book1D("ugmtMuMuDEtaBOneg", "uGMT Muons #Delta#eta barrel-overlap negative side", 100, -1., 1.);
477  ugmtMuMuDEtaBOneg->setAxisTitle("#Delta#eta", 1);
478 
479  ugmtMuMuDPhiBOneg = ibooker.book1D("ugmtMuMuDPhiBOneg", "uGMT Muons #Delta#phi barrel-overlap negative side", 100, -1., 1.);
480  ugmtMuMuDPhiBOneg->setAxisTitle("#Delta#phi", 1);
481 
482  ugmtMuMuDRBOneg = ibooker.book1D("ugmtMuMuDRBOneg", "uGMT Muons #DeltaR barrel-overlap negative side", 50, 0., 1.);
483  ugmtMuMuDRBOneg->setAxisTitle("#DeltaR", 1);
484 
485  // endcap - overlap
486  ugmtMuMuDEtaEOpos = ibooker.book1D("ugmtMuMuDEtaEOpos", "uGMT Muons #Delta#eta endcap-overlap positive side", 100, -1., 1.);
487  ugmtMuMuDEtaEOpos->setAxisTitle("#Delta#eta", 1);
488 
489  ugmtMuMuDPhiEOpos = ibooker.book1D("ugmtMuMuDPhiEOpos", "uGMT Muons #Delta#phi endcap-overlap positive side", 100, -1., 1.);
490  ugmtMuMuDPhiEOpos->setAxisTitle("#Delta#phi", 1);
491 
492  ugmtMuMuDREOpos = ibooker.book1D("ugmtMuMuDREOpos", "uGMT Muons #DeltaR endcap-overlap positive side", 50, 0., 1.);
493  ugmtMuMuDREOpos->setAxisTitle("#DeltaR", 1);
494 
495  ugmtMuMuDEtaEOneg = ibooker.book1D("ugmtMuMuDEtaEOneg", "uGMT Muons #Delta#eta endcap-overlap negative side", 100, -1., 1.);
496  ugmtMuMuDEtaEOneg->setAxisTitle("#Delta#eta", 1);
497 
498  ugmtMuMuDPhiEOneg = ibooker.book1D("ugmtMuMuDPhiEOneg", "uGMT Muons #Delta#phi endcap-overlap negative side", 100, -1., 1.);
499  ugmtMuMuDPhiEOneg->setAxisTitle("#Delta#phi", 1);
500 
501  ugmtMuMuDREOneg = ibooker.book1D("ugmtMuMuDREOneg", "uGMT Muons #DeltaR endcap-overlap negative side", 50, 0., 1.);
502  ugmtMuMuDREOneg->setAxisTitle("#DeltaR", 1);
503 
504  // barrel wedges
505  ugmtMuMuDEtaB = ibooker.book1D("ugmtMuMuDEtaB", "uGMT Muons #Delta#eta between barrel wedges", 100, -1., 1.);
506  ugmtMuMuDEtaB->setAxisTitle("#Delta#eta", 1);
507 
508  ugmtMuMuDPhiB = ibooker.book1D("ugmtMuMuDPhiB", "uGMT Muons #Delta#phi between barrel wedges", 100, -1., 1.);
509  ugmtMuMuDPhiB->setAxisTitle("#Delta#phi", 1);
510 
511  ugmtMuMuDRB = ibooker.book1D("ugmtMuMuDRB", "uGMT Muons #DeltaR between barrel wedges", 50, 0., 1.);
512  ugmtMuMuDRB->setAxisTitle("#DeltaR", 1);
513 
514  // overlap sectors
515  ugmtMuMuDEtaOpos = ibooker.book1D("ugmtMuMuDEtaOpos", "uGMT Muons #Delta#eta between overlap positive side sectors", 100, -1., 1.);
516  ugmtMuMuDEtaOpos->setAxisTitle("#Delta#eta", 1);
517 
518  ugmtMuMuDPhiOpos = ibooker.book1D("ugmtMuMuDPhiOpos", "uGMT Muons #Delta#phi between overlap positive side sectors", 100, -1., 1.);
519  ugmtMuMuDPhiOpos->setAxisTitle("#Delta#phi", 1);
520 
521  ugmtMuMuDROpos = ibooker.book1D("ugmtMuMuDROpos", "uGMT Muons #DeltaR between overlap positive side sectors", 50, 0., 1.);
522  ugmtMuMuDROpos->setAxisTitle("#DeltaR", 1);
523 
524  ugmtMuMuDEtaOneg = ibooker.book1D("ugmtMuMuDEtaOneg", "uGMT Muons #Delta#eta between overlap negative side sectors", 100, -1., 1.);
525  ugmtMuMuDEtaOneg->setAxisTitle("#Delta#eta", 1);
526 
527  ugmtMuMuDPhiOneg = ibooker.book1D("ugmtMuMuDPhiOneg", "uGMT Muons #Delta#phi between overlap negative side sectors", 100, -1., 1.);
528  ugmtMuMuDPhiOneg->setAxisTitle("#Delta#phi", 1);
529 
530  ugmtMuMuDROneg = ibooker.book1D("ugmtMuMuDROneg", "uGMT Muons #DeltaR between overlap negative side sectors", 50, 0., 1.);
531  ugmtMuMuDROneg->setAxisTitle("#DeltaR", 1);
532 
533  // endcap sectors
534  ugmtMuMuDEtaEpos = ibooker.book1D("ugmtMuMuDEtaEpos", "uGMT Muons #Delta#eta between endcap positive side sectors", 100, -1., 1.);
535  ugmtMuMuDEtaEpos->setAxisTitle("#Delta#eta", 1);
536 
537  ugmtMuMuDPhiEpos = ibooker.book1D("ugmtMuMuDPhiEpos", "uGMT Muons #Delta#phi between endcap positive side sectors", 100, -1., 1.);
538  ugmtMuMuDPhiEpos->setAxisTitle("#Delta#phi", 1);
539 
540  ugmtMuMuDREpos = ibooker.book1D("ugmtMuMuDREpos", "uGMT Muons #DeltaR between endcap positive side sectors", 50, 0., 1.);
541  ugmtMuMuDREpos->setAxisTitle("#DeltaR", 1);
542 
543  ugmtMuMuDEtaEneg = ibooker.book1D("ugmtMuMuDEtaEneg", "uGMT Muons #Delta#eta between endcap negative side sectors", 100, -1., 1.);
544  ugmtMuMuDEtaEneg->setAxisTitle("#Delta#eta", 1);
545 
546  ugmtMuMuDPhiEneg = ibooker.book1D("ugmtMuMuDPhiEneg", "uGMT Muons #Delta#phi between endcap negative side sectors", 100, -1., 1.);
547  ugmtMuMuDPhiEneg->setAxisTitle("#Delta#phi", 1);
548 
549  ugmtMuMuDREneg = ibooker.book1D("ugmtMuMuDREneg", "uGMT Muons #DeltaR between endcap negative side sectors", 50, 0., 1.);
550  ugmtMuMuDREneg->setAxisTitle("#DeltaR", 1);
551 }
MonitorElement * ugmtMuMuDEtaEpos
MonitorElement * ugmtMuonhwIso
MonitorElement * ugmtMuonPhi
MonitorElement * ugmtOMTFhwPhiPos
Definition: L1TStage2uGMT.h:67
MonitorElement * ugmtMuonPhiOmtf
MonitorElement * ugmtBMTFProcvshwPhi
Definition: L1TStage2uGMT.h:54
MonitorElement * ugmtMuonBX
const float etaScale_
Definition: L1TStage2uGMT.h:45
MonitorElement * ugmtOMTFMuMuDR
Definition: L1TStage2uGMT.h:79
MonitorElement * ugmtMuonEta
MonitorElement * ugmtEOMTFnegMuMuDR
MonitorElement * ugmtMuMuDREneg
MonitorElement * ugmtBMTFnMuons
Definition: L1TStage2uGMT.h:49
MonitorElement * ugmtBMTFMuMuDR
Definition: L1TStage2uGMT.h:61
MonitorElement * ugmtMuonBXvshwCharge
MonitorElement * ugmtOMTFBX
Definition: L1TStage2uGMT.h:63
MonitorElement * ugmtEMTFnMuons
Definition: L1TStage2uGMT.h:82
MonitorElement * ugmtOMTFhwSignValid
Definition: L1TStage2uGMT.h:74
MonitorElement * ugmtMuonhwCharge
MonitorElement * ugmtMuMuDEtaBOneg
MonitorElement * ugmtEOMTFposMuMuDEta
MonitorElement * ugmtEMTFhwPhiNeg
Definition: L1TStage2uGMT.h:86
MonitorElement * ugmtBMTFhwEta
Definition: L1TStage2uGMT.h:51
MonitorElement * ugmtBMTFMuMuDPhi
Definition: L1TStage2uGMT.h:60
MonitorElement * ugmtEMTFhwPt
Definition: L1TStage2uGMT.h:83
MonitorElement * ugmtBMTFlink
Definition: L1TStage2uGMT.h:58
MonitorElement * ugmtMuMuDROpos
MonitorElement * ugmtMuonPhiEmtf
MonitorElement * ugmtEOMTFposMuMuDR
MonitorElement * ugmtMuMuDEtaBOpos
const float phiScale_
Definition: L1TStage2uGMT.h:46
MonitorElement * ugmtEMTFProcvshwPhiPos
Definition: L1TStage2uGMT.h:89
MonitorElement * ugmtMuonhwPhiAtVtx
MonitorElement * ugmtMuMuDPhiBOneg
MonitorElement * ugmtEMTFMuMuDR
Definition: L1TStage2uGMT.h:97
MonitorElement * ugmtEMTFProcvshwPhiNeg
Definition: L1TStage2uGMT.h:90
MonitorElement * ugmtMuMuDPhiOneg
MonitorElement * ugmtEOMTFnegMuMuDEta
MonitorElement * ugmtBMTFglbPhi
Definition: L1TStage2uGMT.h:53
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 * ugmtMuonhwQual
MonitorElement * ugmtMuMuDRBOpos
MonitorElement * ugmtMuonBXvsLink
MonitorElement * ugmtMuonPt
MonitorElement * ugmtBOMTFposMuMuDR
MonitorElement * ugmtMuMuDPhiEpos
MonitorElement * ugmtBOMTFnegMuMuDPhi
MonitorElement * ugmtBOMTFnegMuMuDEta
MonitorElement * ugmtOMTFBXvsProcessor
MonitorElement * ugmtEMTFBX
Definition: L1TStage2uGMT.h:81
std::string monitorDir
Definition: L1TStage2uGMT.h:41
MonitorElement * ugmtMuonDPhivsPtOmtf
MonitorElement * ugmtMuonPtvsPhi
MonitorElement * ugmtMuonBXvshwPt
MonitorElement * ugmtMuonPhiBmtf
MonitorElement * ugmtMuonhwChargeValid
MonitorElement * ugmtMuMuDROneg
MonitorElement * ugmtBMTFBX
Definition: L1TStage2uGMT.h:48
MonitorElement * ugmtEMTFglbPhiPos
Definition: L1TStage2uGMT.h:87
MonitorElement * ugmtOMTFglbPhiNeg
Definition: L1TStage2uGMT.h:70
MonitorElement * ugmtOMTFMuMuDPhi
Definition: L1TStage2uGMT.h:78
MonitorElement * ugmtMuMuDEtaEOpos
MonitorElement * ugmtMuMuDREOneg
MonitorElement * ugmtEMTFMuMuDPhi
Definition: L1TStage2uGMT.h:96
MonitorElement * ugmtMuonDPhivsPtEmtf
MonitorElement * ugmtEOMTFnegMuMuDPhi
MonitorElement * ugmtMuMuDEtaB
MonitorElement * ugmtnMuons
MonitorElement * ugmtEOMTFposMuMuDPhi
MonitorElement * ugmtBMTFhwSignValid
Definition: L1TStage2uGMT.h:56
MonitorElement * ugmtMuonCharge
MonitorElement * ugmtMuMuDR
MonitorElement * ugmtOMTFhwPhiNeg
Definition: L1TStage2uGMT.h:68
MonitorElement * ugmtBOMTFnegMuMuDR
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * ugmtMuonChargevsLink
MonitorElement * ugmtMuMuInvMassAtVtx
MonitorElement * ugmtEMTFBXvsProcessor
MonitorElement * ugmtMuonPtvsEta
MonitorElement * ugmtMuMuDPhiEOneg
MonitorElement * ugmtMuMuDEtaOpos
MonitorElement * ugmtMuonPhiAtVtx
MonitorElement * ugmtMuonEtaAtVtx
MonitorElement * ugmtEMTFhwPhiPos
Definition: L1TStage2uGMT.h:85
MonitorElement * ugmtMuMuDEtaEOneg
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * ugmtMuMuDEta
MonitorElement * ugmtMuMuDPhiOpos
MonitorElement * ugmtMuonIndex
MonitorElement * ugmtMuMuInvMass
MonitorElement * ugmtMuonBXvshwPhi
MonitorElement * ugmtMuonhwEta
MonitorElement * ugmtMuMuDEtaEneg
MonitorElement * ugmtMuonDPhivsPtBmtf
MonitorElement * ugmtMuMuDPhiEOpos
MonitorElement * ugmtBOMTFposMuMuDPhi
MonitorElement * ugmtMuonhwPt
MonitorElement * ugmtEMTFglbPhiNeg
Definition: L1TStage2uGMT.h:88
MonitorElement * ugmtOMTFProcvshwPhiNeg
Definition: L1TStage2uGMT.h:72
bin
set the eta bin as selection string.
MonitorElement * ugmtBMTFhwPhi
Definition: L1TStage2uGMT.h:52
MonitorElement * ugmtMuonDEtavsPtOmtf
MonitorElement * ugmtOMTFMuMuDEta
Definition: L1TStage2uGMT.h:77
MonitorElement * ugmtMuMuDPhiBOpos
MonitorElement * ugmtBMTFhwPt
Definition: L1TStage2uGMT.h:50
MonitorElement * ugmtMuMuDPhiB
MonitorElement * ugmtMuonDEtavsPtBmtf
MonitorElement * ugmtOMTFglbPhiPos
Definition: L1TStage2uGMT.h:69
MonitorElement * ugmtMuMuDRBOneg
MonitorElement * ugmtMuonhwPhi
MonitorElement * ugmtMuMuDREpos
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
MonitorElement * ugmtBMTFhwQual
Definition: L1TStage2uGMT.h:57
MonitorElement * ugmtMuMuDEtaOneg
MonitorElement * ugmtMuonBXvshwIso
MonitorElement * ugmtBXvsLink
MonitorElement * ugmtOMTFnMuons
Definition: L1TStage2uGMT.h:64
MonitorElement * ugmtBMTFMuMuDEta
Definition: L1TStage2uGMT.h:59
MonitorElement * ugmtMuonhwEtaAtVtx
MonitorElement * ugmtEMTFMuMuDEta
Definition: L1TStage2uGMT.h:95
MonitorElement * ugmtOMTFProcvshwPhiPos
Definition: L1TStage2uGMT.h:71
MonitorElement * ugmtMuonBXvshwEta
MonitorElement * ugmtEMTFhwSign
Definition: L1TStage2uGMT.h:91
MonitorElement * ugmtEMTFhwSignValid
Definition: L1TStage2uGMT.h:92
MonitorElement * ugmtBMTFhwSign
Definition: L1TStage2uGMT.h:55
MonitorElement * ugmtEMTFlink
Definition: L1TStage2uGMT.h:94
MonitorElement * ugmtMuMuDREOpos
MonitorElement * ugmtMuonBXvshwQual
MonitorElement * ugmtEMTFhwQual
Definition: L1TStage2uGMT.h:93
MonitorElement * ugmtOMTFhwEta
Definition: L1TStage2uGMT.h:66
MonitorElement * ugmtMuonDEtavsPtEmtf
MonitorElement * ugmtMuMuDPhiEneg
MonitorElement * ugmtMuonPhiAtVtxvsEtaAtVtx
MonitorElement * ugmtEMTFhwEta
Definition: L1TStage2uGMT.h:84
MonitorElement * ugmtMuonBXvshwChargeValid
MonitorElement * ugmtBOMTFposMuMuDEta
Definition: L1TStage2uGMT.h:99
MonitorElement * ugmtMuMuDPhi
MonitorElement * ugmtOMTFlink
Definition: L1TStage2uGMT.h:76
MonitorElement * ugmtOMTFhwQual
Definition: L1TStage2uGMT.h:75
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * ugmtOMTFhwSign
Definition: L1TStage2uGMT.h:73
MonitorElement * ugmtBMTFBXvsProcessor
MonitorElement * ugmtOMTFhwPt
Definition: L1TStage2uGMT.h:65
MonitorElement * ugmtMuMuDRB
MonitorElement * ugmtMuonPhivsEta
void L1TStage2uGMT::dqmBeginRun ( const edm::Run r,
const edm::EventSetup c 
)
overrideprotected

Definition at line 33 of file L1TStage2uGMT.cc.

33 {}
void L1TStage2uGMT::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 21 of file L1TStage2uGMT.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), and AlCaHLTBitMon_QueryRunRegistry::string.

21  {
23  desc.add<edm::InputTag>("muonProducer")->setComment("uGMT output muons.");;
24  desc.add<edm::InputTag>("bmtfProducer")->setComment("RegionalMuonCands from BMTF.");
25  desc.add<edm::InputTag>("omtfProducer")->setComment("RegionalMuonCands from OMTF.");
26  desc.add<edm::InputTag>("emtfProducer")->setComment("RegionalMuonCands from EMTF.");
27  desc.addUntracked<std::string>("monitorDir", "")->setComment("Target directory in the DQM file. Will be created if not existing.");
28  desc.addUntracked<bool>("emulator", false)->setComment("Create histograms for muonProducer input only. xmtfProducer inputs are ignored.");
29  desc.addUntracked<bool>("verbose", false);
30  descriptions.add("l1tStage2uGMT", desc);
31 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
l1t::tftype L1TStage2uGMT::getTfOrigin ( const int  tfMuonIndex)
private

Definition at line 888 of file L1TStage2uGMT.cc.

References l1t::bmtf, l1t::emtf_neg, l1t::emtf_pos, l1t::omtf_neg, and l1t::omtf_pos.

Referenced by analyze().

889 {
890  if (tfMuonIndex >= 0 && tfMuonIndex <=17) {
891  return l1t::emtf_pos;
892  } else if (tfMuonIndex >= 90 && tfMuonIndex <=107) {
893  return l1t::emtf_neg;
894  } else if (tfMuonIndex >= 18 && tfMuonIndex <=35) {
895  return l1t::omtf_pos;
896  } else if (tfMuonIndex >= 72 && tfMuonIndex <=89) {
897  return l1t::omtf_neg;
898  } else {
899  return l1t::bmtf;
900  }
901 }

Member Data Documentation

bool L1TStage2uGMT::emul
private

Definition at line 42 of file L1TStage2uGMT.h.

Referenced by analyze(), bookHistograms(), and L1TStage2uGMT().

const float L1TStage2uGMT::etaScale_
private

Definition at line 45 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

std::string L1TStage2uGMT::monitorDir
private

Definition at line 41 of file L1TStage2uGMT.h.

Referenced by bookHistograms().

const float L1TStage2uGMT::phiScale_
private

Definition at line 46 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFBX
private

Definition at line 48 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFBXvsProcessor
private

Definition at line 113 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFglbPhi
private

Definition at line 53 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFhwEta
private

Definition at line 51 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFhwPhi
private

Definition at line 52 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFhwPt
private

Definition at line 50 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFhwQual
private

Definition at line 57 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFhwSign
private

Definition at line 55 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFhwSignValid
private

Definition at line 56 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFlink
private

Definition at line 58 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFMuMuDEta
private

Definition at line 59 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFMuMuDPhi
private

Definition at line 60 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFMuMuDR
private

Definition at line 61 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFnMuons
private

Definition at line 49 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBMTFProcvshwPhi
private

Definition at line 54 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<l1t::RegionalMuonCandBxCollection> L1TStage2uGMT::ugmtBMTFToken
private

Definition at line 37 of file L1TStage2uGMT.h.

Referenced by analyze(), and L1TStage2uGMT().

MonitorElement* L1TStage2uGMT::ugmtBOMTFnegMuMuDEta
private

Definition at line 102 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBOMTFnegMuMuDPhi
private

Definition at line 103 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBOMTFnegMuMuDR
private

Definition at line 104 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBOMTFposMuMuDEta
private

Definition at line 99 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBOMTFposMuMuDPhi
private

Definition at line 100 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBOMTFposMuMuDR
private

Definition at line 101 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtBXvsLink
private

Definition at line 116 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFBX
private

Definition at line 81 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFBXvsProcessor
private

Definition at line 115 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFglbPhiNeg
private

Definition at line 88 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFglbPhiPos
private

Definition at line 87 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFhwEta
private

Definition at line 84 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFhwPhiNeg
private

Definition at line 86 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFhwPhiPos
private

Definition at line 85 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFhwPt
private

Definition at line 83 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFhwQual
private

Definition at line 93 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFhwSign
private

Definition at line 91 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFhwSignValid
private

Definition at line 92 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFlink
private

Definition at line 94 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFMuMuDEta
private

Definition at line 95 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFMuMuDPhi
private

Definition at line 96 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFMuMuDR
private

Definition at line 97 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFnMuons
private

Definition at line 82 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFProcvshwPhiNeg
private

Definition at line 90 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEMTFProcvshwPhiPos
private

Definition at line 89 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<l1t::RegionalMuonCandBxCollection> L1TStage2uGMT::ugmtEMTFToken
private

Definition at line 39 of file L1TStage2uGMT.h.

Referenced by analyze(), and L1TStage2uGMT().

MonitorElement* L1TStage2uGMT::ugmtEOMTFnegMuMuDEta
private

Definition at line 109 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEOMTFnegMuMuDPhi
private

Definition at line 110 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEOMTFnegMuMuDR
private

Definition at line 111 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEOMTFposMuMuDEta
private

Definition at line 106 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEOMTFposMuMuDPhi
private

Definition at line 107 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtEOMTFposMuMuDR
private

Definition at line 108 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEta
private

Definition at line 167 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEtaB
private

Definition at line 185 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEtaBOneg
private

Definition at line 174 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEtaBOpos
private

Definition at line 171 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEtaEneg
private

Definition at line 199 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEtaEOneg
private

Definition at line 181 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEtaEOpos
private

Definition at line 178 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEtaEpos
private

Definition at line 196 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEtaOneg
private

Definition at line 192 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDEtaOpos
private

Definition at line 189 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhi
private

Definition at line 168 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhiB
private

Definition at line 186 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhiBOneg
private

Definition at line 175 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhiBOpos
private

Definition at line 172 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhiEneg
private

Definition at line 200 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhiEOneg
private

Definition at line 182 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhiEOpos
private

Definition at line 179 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhiEpos
private

Definition at line 197 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhiOneg
private

Definition at line 193 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDPhiOpos
private

Definition at line 190 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDR
private

Definition at line 169 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDRB
private

Definition at line 187 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDRBOneg
private

Definition at line 176 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDRBOpos
private

Definition at line 173 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDREneg
private

Definition at line 201 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDREOneg
private

Definition at line 183 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDREOpos
private

Definition at line 180 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDREpos
private

Definition at line 198 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDROneg
private

Definition at line 194 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuDROpos
private

Definition at line 191 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuInvMass
private

Definition at line 164 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuMuInvMassAtVtx
private

Definition at line 165 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonBX
private

Definition at line 118 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonBXvshwCharge
private

Definition at line 157 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonBXvshwChargeValid
private

Definition at line 158 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonBXvshwEta
private

Definition at line 155 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonBXvshwIso
private

Definition at line 160 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonBXvshwPhi
private

Definition at line 156 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonBXvshwPt
private

Definition at line 154 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonBXvshwQual
private

Definition at line 159 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonBXvsLink
private

Definition at line 153 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonCharge
private

Definition at line 136 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonChargevsLink
private

Definition at line 161 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonDEtavsPtBmtf
private

Definition at line 141 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonDEtavsPtEmtf
private

Definition at line 145 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonDEtavsPtOmtf
private

Definition at line 143 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonDPhivsPtBmtf
private

Definition at line 142 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonDPhivsPtEmtf
private

Definition at line 146 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonDPhivsPtOmtf
private

Definition at line 144 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonEta
private

Definition at line 132 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonEtaAtVtx
private

Definition at line 134 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonhwCharge
private

Definition at line 126 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonhwChargeValid
private

Definition at line 127 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonhwEta
private

Definition at line 122 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonhwEtaAtVtx
private

Definition at line 124 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonhwIso
private

Definition at line 129 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonhwPhi
private

Definition at line 123 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonhwPhiAtVtx
private

Definition at line 125 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonhwPt
private

Definition at line 121 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonhwQual
private

Definition at line 128 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonIndex
private

Definition at line 120 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPhi
private

Definition at line 133 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPhiAtVtx
private

Definition at line 135 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPhiAtVtxvsEtaAtVtx
private

Definition at line 151 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPhiBmtf
private

Definition at line 138 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPhiEmtf
private

Definition at line 140 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPhiOmtf
private

Definition at line 139 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPhivsEta
private

Definition at line 150 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPt
private

Definition at line 131 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPtvsEta
private

Definition at line 148 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtMuonPtvsPhi
private

Definition at line 149 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<l1t::MuonBxCollection> L1TStage2uGMT::ugmtMuonToken
private

Definition at line 40 of file L1TStage2uGMT.h.

Referenced by analyze().

MonitorElement* L1TStage2uGMT::ugmtnMuons
private

Definition at line 119 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFBX
private

Definition at line 63 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFBXvsProcessor
private

Definition at line 114 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFglbPhiNeg
private

Definition at line 70 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFglbPhiPos
private

Definition at line 69 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFhwEta
private

Definition at line 66 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFhwPhiNeg
private

Definition at line 68 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFhwPhiPos
private

Definition at line 67 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFhwPt
private

Definition at line 65 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFhwQual
private

Definition at line 75 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFhwSign
private

Definition at line 73 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFhwSignValid
private

Definition at line 74 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFlink
private

Definition at line 76 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFMuMuDEta
private

Definition at line 77 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFMuMuDPhi
private

Definition at line 78 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFMuMuDR
private

Definition at line 79 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFnMuons
private

Definition at line 64 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFProcvshwPhiNeg
private

Definition at line 72 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TStage2uGMT::ugmtOMTFProcvshwPhiPos
private

Definition at line 71 of file L1TStage2uGMT.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<l1t::RegionalMuonCandBxCollection> L1TStage2uGMT::ugmtOMTFToken
private

Definition at line 38 of file L1TStage2uGMT.h.

Referenced by analyze(), and L1TStage2uGMT().

bool L1TStage2uGMT::verbose
private