CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
L1TMuonDQMOffline Class Reference

#include <L1TMuonDQMOffline.h>

Inheritance diagram for L1TMuonDQMOffline:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

enum  Control {
  kCtrlTagPt, kCtrlTagEta, kCtrlTagPhi, kCtrlProbePt,
  kCtrlProbeEta, kCtrlProbePhi, kCtrlTagProbeDr, kCtrlTagHltDr,
  kCtrlMuonGmtDeltaR, kCtrlNTightVsAll, kCtrlNProbesVsTight
}
 
enum  EffType { kEffPt, kEffPhi, kEffEta, kEffVtx }
 
enum  EtaRegion {
  kEtaRegionAll, kEtaRegionBmtf, kEtaRegionOmtf, kEtaRegionEmtf,
  kEtaRegionOut
}
 
enum  QualLevel { kQualAll, kQualOpen, kQualDouble, kQualSingle }
 
enum  ResType {
  kResPt, kRes1OverPt, kResQOverPt, kResPhi,
  kResEta, kResCh
}
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Public Member Functions

 L1TMuonDQMOffline (const edm::ParameterSet &ps)
 
 ~L1TMuonDQMOffline () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
virtual void bookControlHistos (DQMStore::IBooker &)
 
virtual void bookEfficiencyHistos (DQMStore::IBooker &ibooker)
 
void bookHistograms (DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &iSetup) override
 
virtual void bookResolutionHistos (DQMStore::IBooker &ibooker)
 
void dqmBeginRun (const edm::Run &run, const edm::EventSetup &iSetup) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Types

typedef std::tuple< EffType, int, EtaRegionm_histoKeyEffDenVarType
 
typedef std::pair< int, QualLevelm_histoKeyEffNumEtaType
 
typedef std::tuple< EffType, int, EtaRegion, QualLevelm_histoKeyEffNumVarType
 
typedef std::tuple< ResType, EtaRegion, QualLevelm_histoKeyResType
 

Private Member Functions

std::vector< float > getHistBinsEff (EffType eff)
 
std::tuple< int, double, double > getHistBinsRes (ResType res)
 
void getMuonGmtPairs (edm::Handle< l1t::MuonBxCollection > &gmtCands)
 
const unsigned int getNVertices (edm::Handle< reco::VertexCollection > &vertex)
 
const reco::Vertex getPrimaryVertex (edm::Handle< reco::VertexCollection > &vertex, edm::Handle< reco::BeamSpot > &beamSpot)
 
void getProbeMuons (edm::Handle< edm::TriggerResults > &trigResults, edm::Handle< trigger::TriggerEvent > &trigEvent)
 
void getTightMuons (edm::Handle< reco::MuonCollection > &muons, const reco::Vertex &vertex)
 
double matchHlt (edm::Handle< trigger::TriggerEvent > &triggerEvent, const reco::Muon *mu)
 

Private Attributes

edm::EDGetTokenT< reco::BeamSpotm_BsInputTag
 
std::map< Control, MonitorElement * > m_ControlHistos
 
std::vector< std::pair< int, QualLevel > > m_cuts
 
std::vector< edm::ParameterSetm_cutsVPSet
 
std::map< int, MonitorElement * > m_EfficiencyDenEtaHistos
 
std::map< EtaRegion, MonitorElement * > m_EfficiencyDenPtHistos
 
std::map< std::tuple< EffType, int, EtaRegion >, MonitorElement * > m_EfficiencyDenVarHistos
 
std::map< std::pair< int, QualLevel >, MonitorElement * > m_EfficiencyNumEtaHistos
 
std::map< std::tuple< EffType, int, EtaRegion, QualLevel >, MonitorElement * > m_EfficiencyNumVarHistos
 
std::map< EffType, std::string > m_effLabelStrings
 
std::map< EffType, std::string > m_effStrings
 
const std::vector< EffTypem_effTypes
 
std::vector< double > m_effVsEtaBins
 
std::vector< double > m_effVsPhiBins
 
std::vector< double > m_effVsPtBins
 
std::vector< double > m_effVsVtxBins
 
const std::vector< EtaRegionm_etaRegions
 
std::map< EtaRegion, std::string > m_etaStrings
 
edm::EDGetTokenT< l1t::MuonBxCollectionm_GmtInputTag
 
std::string m_HistFolder
 
HLTConfigProvider m_hltConfig
 
BXVector< l1t::Muonm_L1tL1tMuons
 
std::vector< l1t::MuonBxCollectionm_L1tMuons
 
float m_maxGmtMuonDR
 
float m_maxHltMuonDR
 
float m_minTagProbeDR
 
std::vector< MuonGmtPairm_MuonGmtPairs
 
edm::EDGetTokenT< reco::MuonCollectionm_MuonInputTag
 
std::vector< const reco::Muon * > m_ProbeMuons
 
PropagateToMuon m_propagator
 
const std::vector< QualLevelm_qualLevelsRes
 
std::map< QualLevel, std::string > m_qualStrings
 
std::vector< reco::MuonCollectionm_RecoMuons
 
std::vector< reco::Muonm_RecoRecoMuons
 
double m_recoToL1PtCutFactor
 
std::map< ResType, std::string > m_resLabelStrings
 
std::map< std::tuple< ResType, EtaRegion, QualLevel >, MonitorElement * > m_ResolutionHistos
 
std::map< ResType, std::string > m_resStrings
 
const std::vector< ResTypem_resTypes
 
double m_TagPtCut
 
std::vector< const reco::Muon * > m_TightMuons
 
std::vector< int > m_trigIndices
 
edm::EDGetTokenT< trigger::TriggerEventm_trigInputTag
 
std::vector< std::string > m_trigNames
 
std::string m_trigProcess
 
edm::EDGetTokenT< edm::TriggerResultsm_trigProcess_token
 
bool m_useAtVtxCoord
 
bool m_verbose
 
edm::EDGetTokenT< reco::VertexCollectionm_VtxInputTag
 

Additional Inherited Members

- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 62 of file L1TMuonDQMOffline.h.

Member Typedef Documentation

◆ m_histoKeyEffDenVarType

Definition at line 118 of file L1TMuonDQMOffline.h.

◆ m_histoKeyEffNumEtaType

typedef std::pair<int, QualLevel> L1TMuonDQMOffline::m_histoKeyEffNumEtaType
private

Definition at line 116 of file L1TMuonDQMOffline.h.

◆ m_histoKeyEffNumVarType

Definition at line 115 of file L1TMuonDQMOffline.h.

◆ m_histoKeyResType

Definition at line 113 of file L1TMuonDQMOffline.h.

Member Enumeration Documentation

◆ Control

Enumerator
kCtrlTagPt 
kCtrlTagEta 
kCtrlTagPhi 
kCtrlProbePt 
kCtrlProbeEta 
kCtrlProbePhi 
kCtrlTagProbeDr 
kCtrlTagHltDr 
kCtrlMuonGmtDeltaR 
kCtrlNTightVsAll 
kCtrlNProbesVsTight 

Definition at line 64 of file L1TMuonDQMOffline.h.

◆ EffType

Enumerator
kEffPt 
kEffPhi 
kEffEta 
kEffVtx 

Definition at line 77 of file L1TMuonDQMOffline.h.

◆ EtaRegion

Enumerator
kEtaRegionAll 
kEtaRegionBmtf 
kEtaRegionOmtf 
kEtaRegionEmtf 
kEtaRegionOut 

Definition at line 79 of file L1TMuonDQMOffline.h.

◆ QualLevel

Enumerator
kQualAll 
kQualOpen 
kQualDouble 
kQualSingle 

Definition at line 80 of file L1TMuonDQMOffline.h.

◆ ResType

Enumerator
kResPt 
kRes1OverPt 
kResQOverPt 
kResPhi 
kResEta 
kResCh 

Definition at line 78 of file L1TMuonDQMOffline.h.

Constructor & Destructor Documentation

◆ L1TMuonDQMOffline()

L1TMuonDQMOffline::L1TMuonDQMOffline ( const edm::ParameterSet ps)

Definition at line 110 of file L1TMuonDQMOffline.cc.

116  m_effStrings({{kEffPt, "pt"}, {kEffPhi, "phi"}, {kEffEta, "eta"}, {kEffVtx, "vtx"}}),
117  m_effLabelStrings({{kEffPt, "p_{T} (GeV)"}, {kEffPhi, "#phi"}, {kEffEta, "#eta"}, {kEffVtx, "# vertices"}}),
118  m_resStrings({{kResPt, "pt"},
119  {kRes1OverPt, "1overpt"},
120  {kResQOverPt, "qoverpt"},
121  {kResPhi, "phi"},
122  {kResEta, "eta"},
123  {kResCh, "charge"}}),
124  m_resLabelStrings({{kResPt, "(p_{T}^{L1} - p_{T}^{reco})/p_{T}^{reco}"},
125  {kRes1OverPt, "(p_{T}^{reco} - p_{T}^{L1})/p_{T}^{L1}"},
126  {kResQOverPt, "(q^{L1}*q^{reco}*p_{T}^{reco} - p_{T}^{L1})/p_{T}^{L1}"},
127  {kResPhi, "#phi_{L1} - #phi_{reco}"},
128  {kResEta, "#eta_{L1} - #eta_{reco}"},
129  {kResCh, "charge^{L1} - charge^{reco}"}}),
130  m_etaStrings({{kEtaRegionAll, "etaMin0_etaMax2p4"},
131  {kEtaRegionBmtf, "etaMin0_etaMax0p83"},
132  {kEtaRegionOmtf, "etaMin0p83_etaMax1p24"},
133  {kEtaRegionEmtf, "etaMin1p24_etaMax2p4"}}),
135  {{kQualAll, "qualAll"}, {kQualOpen, "qualOpen"}, {kQualDouble, "qualDouble"}, {kQualSingle, "qualSingle"}}),
136  m_verbose(ps.getUntrackedParameter<bool>("verbose")),
137  m_HistFolder(ps.getUntrackedParameter<string>("histFolder")),
138  m_TagPtCut(ps.getUntrackedParameter<double>("tagPtCut")),
139  m_recoToL1PtCutFactor(ps.getUntrackedParameter<double>("recoToL1PtCutFactor")),
140  m_cutsVPSet(ps.getUntrackedParameter<std::vector<edm::ParameterSet>>("cuts")),
141  m_MuonInputTag(consumes<reco::MuonCollection>(ps.getUntrackedParameter<InputTag>("muonInputTag"))),
142  m_GmtInputTag(consumes<l1t::MuonBxCollection>(ps.getUntrackedParameter<InputTag>("gmtInputTag"))),
143  m_VtxInputTag(consumes<VertexCollection>(ps.getUntrackedParameter<InputTag>("vtxInputTag"))),
144  m_BsInputTag(consumes<BeamSpot>(ps.getUntrackedParameter<InputTag>("bsInputTag"))),
145  m_trigInputTag(consumes<trigger::TriggerEvent>(ps.getUntrackedParameter<InputTag>("trigInputTag"))),
146  m_trigProcess(ps.getUntrackedParameter<string>("trigProcess")),
147  m_trigProcess_token(consumes<edm::TriggerResults>(ps.getUntrackedParameter<InputTag>("trigProcess_token"))),
148  m_trigNames(ps.getUntrackedParameter<vector<string>>("triggerNames")),
149  m_effVsPtBins(ps.getUntrackedParameter<std::vector<double>>("efficiencyVsPtBins")),
150  m_effVsPhiBins(ps.getUntrackedParameter<std::vector<double>>("efficiencyVsPhiBins")),
151  m_effVsEtaBins(ps.getUntrackedParameter<std::vector<double>>("efficiencyVsEtaBins")),
152  m_effVsVtxBins(ps.getUntrackedParameter<std::vector<double>>("efficiencyVsVtxBins")),
153  m_useAtVtxCoord(ps.getUntrackedParameter<bool>("useL1AtVtxCoord")),
154  m_maxGmtMuonDR(0.3),
155  m_minTagProbeDR(0.5),
156  m_maxHltMuonDR(0.1) {
157  if (m_verbose)
158  cout << "[L1TMuonDQMOffline:] ____________ Storage initialization ____________ " << endl;
159 
160  for (const auto& cutsPSet : m_cutsVPSet) {
161  const auto qCut = cutsPSet.getUntrackedParameter<int>("qualCut");
162  QualLevel qLevel = kQualAll;
163  if (qCut > 11) {
164  qLevel = kQualSingle;
165  } else if (qCut > 7) {
166  qLevel = kQualDouble;
167  } else if (qCut > 3) {
168  qLevel = kQualOpen;
169  }
170  m_cuts.emplace_back(std::make_pair(cutsPSet.getUntrackedParameter<int>("ptCut"), qLevel));
171  }
172 }

References kEffEta, kEffPhi, kEffPt, and kEffVtx.

◆ ~L1TMuonDQMOffline()

L1TMuonDQMOffline::~L1TMuonDQMOffline ( )
override

Definition at line 175 of file L1TMuonDQMOffline.cc.

175 {}

Member Function Documentation

◆ analyze()

void L1TMuonDQMOffline::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 213 of file L1TMuonDQMOffline.cc.

213  {
215  iEvent.getByToken(m_MuonInputTag, muons);
217  iEvent.getByToken(m_BsInputTag, beamSpot);
219  iEvent.getByToken(m_VtxInputTag, vertex);
221  iEvent.getByToken(m_GmtInputTag, gmtCands);
222  Handle<edm::TriggerResults> trigResults;
223  iEvent.getByToken(m_trigProcess_token, trigResults);
225  iEvent.getByToken(m_trigInputTag, trigEvent);
226 
227  const auto nVtx = getNVertices(vertex);
229 
231  getProbeMuons(trigResults, trigEvent); // CB add flag to run on orthogonal datasets (no T&P)
232 
233  getMuonGmtPairs(gmtCands);
234 
235  if (m_verbose)
236  cout << "[L1TMuonDQMOffline:] Computing efficiencies" << endl;
237 
238  vector<MuonGmtPair>::const_iterator muonGmtPairsIt = m_MuonGmtPairs.begin();
239  vector<MuonGmtPair>::const_iterator muonGmtPairsEnd = m_MuonGmtPairs.end();
240 
241  // To fill once for global eta and once for TF eta region of the L1T muon.
242  // The second entry is a placeholder and will be replaced by the TF eta region of the L1T muon.
243  std::array<EtaRegion, 2> regsToFill{{kEtaRegionAll, kEtaRegionAll}};
244 
245  for (; muonGmtPairsIt != muonGmtPairsEnd; ++muonGmtPairsIt) {
246  // Fill the resolution histograms
247  if ((muonGmtPairsIt->etaRegion() != kEtaRegionOut) && (muonGmtPairsIt->gmtPt() > 0)) {
248  regsToFill[1] = muonGmtPairsIt->etaRegion();
250  for (const auto var : m_resTypes) {
251  const auto varToFill = muonGmtPairsIt->getDeltaVar(var);
252  std::get<0>(histoKeyRes) = var;
253  // Fill for the global eta and for TF eta region that the probe muon is in
254  for (const auto regToFill : regsToFill) {
255  std::get<1>(histoKeyRes) = regToFill;
256  for (const auto qualLevel : m_qualLevelsRes) {
257  // This assumes that the qualLevel enum has increasing qualities
258  // HW quality levels can be 0, 4, 8, or 12
259  int qualCut = qualLevel * 4;
260  if (muonGmtPairsIt->gmtQual() >= qualCut) {
261  std::get<2>(histoKeyRes) = qualLevel;
262  m_ResolutionHistos[histoKeyRes]->Fill(varToFill);
263  }
264  }
265  }
266  }
267  }
268 
269  // Fill the efficiency numerator and denominator histograms
270  if (muonGmtPairsIt->etaRegion() != kEtaRegionOut) {
271  unsigned int cutsCounter = 0;
272  for (const auto& cut : m_cuts) {
273  const auto gmtPtCut = cut.first;
274  const auto qualLevel = cut.second;
275  const bool gmtAboveCut = (muonGmtPairsIt->gmtPt() > gmtPtCut);
276 
277  // default keys
278  m_histoKeyEffDenVarType histoKeyEffDenVar = {kEffPt, gmtPtCut, kEtaRegionAll};
279  m_histoKeyEffNumVarType histoKeyEffNumVar = {kEffPt, gmtPtCut, kEtaRegionAll, qualLevel};
280 
281  regsToFill[1] = muonGmtPairsIt->etaRegion();
282  for (const auto var : m_effTypes) {
283  if (var != kEffPt) {
284  if (muonGmtPairsIt->pt() < m_recoToL1PtCutFactor * gmtPtCut)
285  break; // efficiency at plateau
286  }
287  double varToFill;
288  if (var == kEffVtx) {
289  varToFill = static_cast<double>(nVtx);
290  } else {
291  varToFill = muonGmtPairsIt->getVar(var);
292  }
293  // Fill denominators
294  if (var == kEffEta) {
295  m_EfficiencyDenEtaHistos[gmtPtCut]->Fill(varToFill);
296  } else {
297  std::get<0>(histoKeyEffDenVar) = var;
298  // Fill for the global eta and for TF eta region that the probe muon is in
299  for (const auto regToFill : regsToFill) {
300  if (var == kEffPt) {
301  if (cutsCounter == 0) {
302  m_EfficiencyDenPtHistos[regToFill]->Fill(varToFill);
303  }
304  } else {
305  std::get<2>(histoKeyEffDenVar) = regToFill;
306  m_EfficiencyDenVarHistos[histoKeyEffDenVar]->Fill(varToFill);
307  }
308  }
309  }
310  // Fill numerators
311  std::get<0>(histoKeyEffNumVar) = var;
312  // This assumes that the qualLevel enum has increasing qualities
313  if (gmtAboveCut && muonGmtPairsIt->gmtQual() >= qualLevel * 4) {
314  if (var == kEffEta) {
315  m_histoKeyEffNumEtaType histoKeyEffNumEta = {gmtPtCut, qualLevel};
316  m_EfficiencyNumEtaHistos[histoKeyEffNumEta]->Fill(varToFill);
317  } else {
318  std::get<3>(histoKeyEffNumVar) = qualLevel;
319  // Fill for the global eta and for TF eta region that the probe muon is in
320  for (const auto regToFill : regsToFill) {
321  std::get<2>(histoKeyEffNumVar) = regToFill;
322  m_EfficiencyNumVarHistos[histoKeyEffNumVar]->Fill(varToFill);
323  }
324  }
325  }
326  }
327  ++cutsCounter;
328  }
329  }
330  }
331 
332  if (m_verbose)
333  cout << "[L1TMuonDQMOffline:] Computation finished" << endl;
334 }

References pwdgSkimBPark_cfi::beamSpot, gather_cfg::cout, TkAlMuonSelectors_cfi::cut, getMuonGmtPairs(), getNVertices(), getPrimaryVertex(), getProbeMuons(), getTightMuons(), iEvent, kEffEta, kEffPt, kEffVtx, kEtaRegionAll, kEtaRegionOut, kQualAll, kResPt, m_BsInputTag, m_cuts, m_EfficiencyDenEtaHistos, m_EfficiencyDenPtHistos, m_EfficiencyDenVarHistos, m_EfficiencyNumEtaHistos, m_EfficiencyNumVarHistos, m_effTypes, m_GmtInputTag, m_MuonGmtPairs, m_MuonInputTag, m_qualLevelsRes, m_recoToL1PtCutFactor, m_ResolutionHistos, m_resTypes, m_trigInputTag, m_trigProcess_token, m_verbose, m_VtxInputTag, PDWG_BPHSkim_cff::muons, L1TkPrimaryVertexProducer_cfi::nVtx, BeamMonitor_cff::primaryVertex, L1TMuonDQMOffline_cfi::qualCut, B2GTnPMonitor_cfi::trigEvent, trigObjTnPSource_cfi::var, and bphysicsOniaDQM_cfi::vertex.

◆ bookControlHistos()

void L1TMuonDQMOffline::bookControlHistos ( DQMStore::IBooker ibooker)
protectedvirtual

Definition at line 337 of file L1TMuonDQMOffline.cc.

337  {
338  if (m_verbose)
339  cout << "[L1TMuonDQMOffline:] Booking Control Plot Histos" << endl;
340 
341  ibooker.setCurrentFolder(m_HistFolder + "/control_variables");
342 
343  m_ControlHistos[kCtrlMuonGmtDeltaR] = ibooker.book1D("MuonGmtDeltaR", "MuonGmtDeltaR; #DeltaR", 50, 0., 0.5);
345  ibooker.book2D("NTightVsAll", "NTightVsAll; # muons; # tight muons", 20, -0.5, 19.5, 16, -0.5, 15.5);
347  ibooker.book2D("NProbesVsTight", "NProbesVsTight; # tight muons; # probe muons", 8, -0.5, 7.5, 8, -0.5, 7.5);
348 
349  m_ControlHistos[kCtrlTagPt] = ibooker.book1D("TagMuonPt", "TagMuonPt; p_{T}", 50, 0., 100.);
350  m_ControlHistos[kCtrlTagPhi] = ibooker.book1D("TagMuonPhi", "TagMuonPhi; #phi", 66, -3.3, 3.3);
351  m_ControlHistos[kCtrlTagEta] = ibooker.book1D("TagMuonEta", "TagMuonEta; #eta", 50, -2.5, 2.5);
352 
353  m_ControlHistos[kCtrlProbePt] = ibooker.book1D("ProbeMuonPt", "ProbeMuonPt; p_{T}", 50, 0., 100.);
354  m_ControlHistos[kCtrlProbePhi] = ibooker.book1D("ProbeMuonPhi", "ProbeMuonPhi; #phi", 66, -3.3, 3.3);
355  m_ControlHistos[kCtrlProbeEta] = ibooker.book1D("ProbeMuonEta", "ProbeMuonEta; #eta", 50, -2.5, 2.5);
356 
358  ibooker.book1D("TagMuonProbeMuonDeltaR", "TagMuonProbeMuonDeltaR; #DeltaR", 50, 0., 5.0);
359  m_ControlHistos[kCtrlTagHltDr] = ibooker.book1D("TagMuonHltDeltaR", "TagMuonHltDeltaR;#DeltaR", 55, 0., 0.11);
360 }

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), gather_cfg::cout, kCtrlMuonGmtDeltaR, kCtrlNProbesVsTight, kCtrlNTightVsAll, kCtrlProbeEta, kCtrlProbePhi, kCtrlProbePt, kCtrlTagEta, kCtrlTagHltDr, kCtrlTagPhi, kCtrlTagProbeDr, kCtrlTagPt, m_ControlHistos, m_HistFolder, m_verbose, and dqm::implementation::NavigatorBase::setCurrentFolder().

Referenced by bookHistograms().

◆ bookEfficiencyHistos()

void L1TMuonDQMOffline::bookEfficiencyHistos ( DQMStore::IBooker ibooker)
protectedvirtual

Definition at line 363 of file L1TMuonDQMOffline.cc.

363  {
364  ibooker.setCurrentFolder(m_HistFolder + "/numerators_and_denominators");
365 
366  for (const auto var : m_effTypes) {
367  auto histBins = getHistBinsEff(var);
368  // histograms for eta variable get a special treatment
369  if (var == kEffEta) {
370  for (const auto& cut : m_cuts) {
371  const auto gmtPtCut = cut.first;
372  const auto qualLevel = cut.second;
373  std::string name = "effDen_" + m_effStrings[var] + "_" + std::to_string(gmtPtCut);
374  m_EfficiencyDenEtaHistos[gmtPtCut] =
375  ibooker.book1D(name, name + ";" + m_effLabelStrings[var], histBins.size() - 1, &histBins[0]);
376  name = "effNum_" + m_effStrings[var] + "_" + std::to_string(gmtPtCut) + "_" + m_qualStrings[qualLevel];
377  m_histoKeyEffNumEtaType histoKeyEffNumEta = {gmtPtCut, qualLevel};
378  m_EfficiencyNumEtaHistos[histoKeyEffNumEta] =
379  ibooker.book1D(name, name + ";" + m_effLabelStrings[var], histBins.size() - 1, &histBins[0]);
380  }
381  } else {
382  for (const auto etaReg : m_etaRegions) {
383  // denominator histograms for pt variable get a special treatment
384  if (var == kEffPt) {
385  std::string name = "effDen_" + m_effStrings[var] + "_" + m_etaStrings[etaReg];
386  m_EfficiencyDenPtHistos[etaReg] =
387  ibooker.book1D(name, name + ";" + m_effLabelStrings[var], histBins.size() - 1, &histBins[0]);
388  } else {
389  for (const auto& cut : m_cuts) {
390  const int gmtPtCut = cut.first;
391  std::string name =
392  "effDen_" + m_effStrings[var] + "_" + std::to_string(gmtPtCut) + "_" + m_etaStrings[etaReg];
393  m_histoKeyEffDenVarType histoKeyEffDenVar = {var, gmtPtCut, etaReg};
394  m_EfficiencyDenVarHistos[histoKeyEffDenVar] =
395  ibooker.book1D(name, name + ";" + m_effLabelStrings[var], histBins.size() - 1, &histBins[0]);
396  }
397  }
398  for (const auto& cut : m_cuts) {
399  const auto gmtPtCut = cut.first;
400  const auto qualLevel = cut.second;
401  std::string name = "effNum_" + m_effStrings[var] + "_" + std::to_string(gmtPtCut) + "_" +
402  m_etaStrings[etaReg] + "_" + m_qualStrings[qualLevel];
403  m_histoKeyEffNumVarType histoKeyEffNum = {var, gmtPtCut, etaReg, qualLevel};
404  m_EfficiencyNumVarHistos[histoKeyEffNum] =
405  ibooker.book1D(name, name + ";" + m_effLabelStrings[var], histBins.size() - 1, &histBins[0]);
406  }
407  }
408  }
409  }
410 }

References dqm::implementation::IBooker::book1D(), TkAlMuonSelectors_cfi::cut, getHistBinsEff(), kEffEta, kEffPt, m_cuts, m_EfficiencyDenEtaHistos, m_EfficiencyDenPtHistos, m_EfficiencyDenVarHistos, m_EfficiencyNumEtaHistos, m_EfficiencyNumVarHistos, m_effLabelStrings, m_effStrings, m_effTypes, m_etaRegions, m_etaStrings, m_HistFolder, m_qualStrings, Skims_PA_cff::name, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and trigObjTnPSource_cfi::var.

Referenced by bookHistograms().

◆ bookHistograms()

void L1TMuonDQMOffline::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run run,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 186 of file L1TMuonDQMOffline.cc.

186  {
187  //book histos
188  bookControlHistos(ibooker);
189  bookEfficiencyHistos(ibooker);
190  bookResolutionHistos(ibooker);
191 
192  vector<string>::const_iterator trigNamesIt = m_trigNames.begin();
193  vector<string>::const_iterator trigNamesEnd = m_trigNames.end();
194 
195  for (; trigNamesIt != trigNamesEnd; ++trigNamesIt) {
196  TString tNameTmp = TString(*trigNamesIt); // use TString as it handles regex
197  TRegexp tNamePattern = TRegexp(tNameTmp, true);
198  int tIndex = -1;
199 
200  for (unsigned ipath = 0; ipath < m_hltConfig.size(); ++ipath) {
201  TString tmpName = TString(m_hltConfig.triggerName(ipath));
202  if (tmpName.Contains(tNamePattern)) {
203  tIndex = int(ipath);
204  m_trigIndices.push_back(tIndex);
205  }
206  }
207  if (tIndex < 0 && m_verbose)
208  cout << "[L1TMuonDQMOffline:] Warning: Could not find trigger " << (*trigNamesIt) << endl;
209  }
210 }

References bookControlHistos(), bookEfficiencyHistos(), bookResolutionHistos(), gather_cfg::cout, createfilelist::int, m_hltConfig, m_trigIndices, m_trigNames, m_verbose, HLTConfigProvider::size(), and HLTConfigProvider::triggerName().

◆ bookResolutionHistos()

void L1TMuonDQMOffline::bookResolutionHistos ( DQMStore::IBooker ibooker)
protectedvirtual

Definition at line 412 of file L1TMuonDQMOffline.cc.

412  {
413  if (m_verbose)
414  cout << "[L1TMuonOffline:] Booking Resolution Plot Histos" << endl;
415  ibooker.setCurrentFolder(m_HistFolder + "/resolution");
416 
417  for (const auto var : m_resTypes) {
418  auto nbins = std::get<0>(getHistBinsRes(var));
419  auto xmin = std::get<1>(getHistBinsRes(var));
420  auto xmax = std::get<2>(getHistBinsRes(var));
421  for (const auto etaReg : m_etaRegions) {
422  for (const auto qualLevel : m_qualLevelsRes) {
423  m_histoKeyResType histoKeyRes = {var, etaReg, qualLevel};
424  std::string name =
425  "resolution_" + m_resStrings[var] + "_" + m_etaStrings[etaReg] + "_" + m_qualStrings[qualLevel];
426  m_ResolutionHistos[histoKeyRes] = ibooker.book1D(name, name + ";" + m_resLabelStrings[var], nbins, xmin, xmax);
427  }
428  }
429  }
430 }

References dqm::implementation::IBooker::book1D(), gather_cfg::cout, getHistBinsRes(), m_etaRegions, m_etaStrings, m_HistFolder, m_qualLevelsRes, m_qualStrings, m_resLabelStrings, m_ResolutionHistos, m_resStrings, m_resTypes, m_verbose, Skims_PA_cff::name, LaserClient_cfi::nbins, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, trigObjTnPSource_cfi::var, TrackerOfflineValidation_Dqm_cff::xmax, and TrackerOfflineValidation_Dqm_cff::xmin.

Referenced by bookHistograms().

◆ dqmBeginRun()

void L1TMuonDQMOffline::dqmBeginRun ( const edm::Run run,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 177 of file L1TMuonDQMOffline.cc.

177  {
178  if (m_verbose)
179  cout << "[L1TMuonDQMOffline:] Called beginRun." << endl;
180  bool changed = true;
181  m_hltConfig.init(run, iSetup, m_trigProcess, changed);
182  m_propagator.init(iSetup);
183 }

References gather_cfg::cout, PropagateToMuon::init(), HLTConfigProvider::init(), m_hltConfig, m_propagator, m_trigProcess, m_verbose, and writedatasetfile::run.

◆ getHistBinsEff()

std::vector< float > L1TMuonDQMOffline::getHistBinsEff ( EffType  eff)
private

Definition at line 617 of file L1TMuonDQMOffline.cc.

617  {
618  if (eff == kEffPt) {
619  std::vector<float> effVsPtBins(m_effVsPtBins.begin(), m_effVsPtBins.end());
620  return effVsPtBins;
621  }
622  if (eff == kEffPhi) {
623  std::vector<float> effVsPhiBins(m_effVsPhiBins.begin(), m_effVsPhiBins.end());
624  return effVsPhiBins;
625  }
626  if (eff == kEffEta) {
627  std::vector<float> effVsEtaBins(m_effVsEtaBins.begin(), m_effVsEtaBins.end());
628  return effVsEtaBins;
629  }
630  if (eff == kEffVtx) {
631  std::vector<float> effVsVtxBins(m_effVsVtxBins.begin(), m_effVsVtxBins.end());
632  return effVsVtxBins;
633  }
634  return {0., 1.};
635 }

References L1TMuonDQMOffline_cfi::effVsEtaBins, L1TMuonDQMOffline_cfi::effVsPhiBins, L1TMuonDQMOffline_cfi::effVsPtBins, L1TMuonDQMOffline_cfi::effVsVtxBins, kEffEta, kEffPhi, kEffPt, kEffVtx, m_effVsEtaBins, m_effVsPhiBins, m_effVsPtBins, and m_effVsVtxBins.

Referenced by bookEfficiencyHistos().

◆ getHistBinsRes()

std::tuple< int, double, double > L1TMuonDQMOffline::getHistBinsRes ( ResType  res)
private

Definition at line 637 of file L1TMuonDQMOffline.cc.

637  {
638  if (res == kResPt)
639  return {50, -2., 2.};
640  if (res == kRes1OverPt)
641  return {50, -2., 2.};
642  if (res == kResQOverPt)
643  return {50, -2., 2.};
644  if (res == kResPhi)
645  return {96, -0.2, 0.2};
646  if (res == kResEta)
647  return {100, -0.1, 0.1};
648  if (res == kResCh)
649  return {5, -2, 3};
650  return {1, 0, 1};
651 }

References kRes1OverPt, kResCh, kResEta, kResPhi, kResPt, and kResQOverPt.

Referenced by bookResolutionHistos().

◆ getMuonGmtPairs()

void L1TMuonDQMOffline::getMuonGmtPairs ( edm::Handle< l1t::MuonBxCollection > &  gmtCands)
private

Definition at line 555 of file L1TMuonDQMOffline.cc.

555  {
556  m_MuonGmtPairs.clear();
557  if (m_verbose)
558  cout << "[L1TMuonDQMOffline:] Getting muon GMT pairs" << endl;
559 
560  vector<const reco::Muon*>::const_iterator probeMuIt = m_ProbeMuons.begin();
561  vector<const reco::Muon*>::const_iterator probeMuEnd = m_ProbeMuons.end();
562 
564  l1t::MuonBxCollection::const_iterator gmtEnd = gmtCands->end(0);
565 
566  for (; probeMuIt != probeMuEnd; ++probeMuIt) {
567  MuonGmtPair pairBestCand((*probeMuIt), nullptr, m_propagator, m_useAtVtxCoord);
568 
569  // Fill the control histograms with the probe muon kinematic variables used
570  m_ControlHistos[kCtrlProbeEta]->Fill(pairBestCand.getVar(L1TMuonDQMOffline::kEffEta));
571  m_ControlHistos[kCtrlProbePhi]->Fill(pairBestCand.getVar(L1TMuonDQMOffline::kEffPhi));
572  m_ControlHistos[kCtrlProbePt]->Fill(pairBestCand.getVar(L1TMuonDQMOffline::kEffPt));
573 
574  gmtIt = gmtCands->begin(0); // use only on L1T muons from BX 0
575 
576  for (; gmtIt != gmtEnd; ++gmtIt) {
577  MuonGmtPair pairTmpCand((*probeMuIt), &(*gmtIt), m_propagator, m_useAtVtxCoord);
578 
579  if ((pairTmpCand.dR() < m_maxGmtMuonDR) && (pairTmpCand.dR() < pairBestCand.dR())) {
580  pairBestCand = pairTmpCand;
581  }
582  }
583  m_MuonGmtPairs.push_back(pairBestCand);
584  m_ControlHistos[kCtrlMuonGmtDeltaR]->Fill(pairBestCand.dR());
585  }
586 }

References BXVector< T >::begin(), gather_cfg::cout, MuonGmtPair::dR(), BXVector< T >::end(), MuonGmtPair::getVar(), kCtrlMuonGmtDeltaR, kCtrlProbeEta, kCtrlProbePhi, kCtrlProbePt, kEffEta, kEffPhi, kEffPt, m_ControlHistos, m_maxGmtMuonDR, m_MuonGmtPairs, m_ProbeMuons, m_propagator, m_useAtVtxCoord, and m_verbose.

Referenced by analyze().

◆ getNVertices()

const unsigned int L1TMuonDQMOffline::getNVertices ( edm::Handle< reco::VertexCollection > &  vertex)
private

Definition at line 433 of file L1TMuonDQMOffline.cc.

433  {
434  unsigned int nVtx = 0;
435 
436  if (vertex.isValid()) {
437  for (const auto& vertexIt : *vertex) {
438  if (vertexIt.isValid() && !vertexIt.isFake()) {
439  ++nVtx;
440  }
441  }
442  }
443  return nVtx;
444 }

References L1TkPrimaryVertexProducer_cfi::nVtx, and bphysicsOniaDQM_cfi::vertex.

Referenced by analyze().

◆ getPrimaryVertex()

const reco::Vertex L1TMuonDQMOffline::getPrimaryVertex ( edm::Handle< reco::VertexCollection > &  vertex,
edm::Handle< reco::BeamSpot > &  beamSpot 
)
private

Definition at line 447 of file L1TMuonDQMOffline.cc.

447  {
448  Vertex::Point posVtx;
449  Vertex::Error errVtx;
450 
451  bool hasPrimaryVertex = false;
452 
453  if (vertex.isValid()) {
454  vector<Vertex>::const_iterator vertexIt = vertex->begin();
455  vector<Vertex>::const_iterator vertexEnd = vertex->end();
456 
457  for (; vertexIt != vertexEnd; ++vertexIt) {
458  if (vertexIt->isValid() && !vertexIt->isFake()) {
459  posVtx = vertexIt->position();
460  errVtx = vertexIt->error();
461  hasPrimaryVertex = true;
462  break;
463  }
464  }
465  }
466 
467  if (!hasPrimaryVertex) {
468  posVtx = beamSpot->position();
469  errVtx(0, 0) = beamSpot->BeamWidthX();
470  errVtx(1, 1) = beamSpot->BeamWidthY();
471  errVtx(2, 2) = beamSpot->sigmaZ();
472  }
473  const Vertex primaryVertex(posVtx, errVtx);
474  return primaryVertex;
475 }

References pwdgSkimBPark_cfi::beamSpot, BeamMonitor_cff::primaryVertex, and bphysicsOniaDQM_cfi::vertex.

Referenced by analyze().

◆ getProbeMuons()

void L1TMuonDQMOffline::getProbeMuons ( edm::Handle< edm::TriggerResults > &  trigResults,
edm::Handle< trigger::TriggerEvent > &  trigEvent 
)
private

Definition at line 494 of file L1TMuonDQMOffline.cc.

495  {
496  if (m_verbose)
497  cout << "[L1TMuonDQMOffline:] getting probe muons" << endl;
498  m_ProbeMuons.clear();
499  std::vector<const reco::Muon*> tagMuonsInHist;
500 
501  tagMuonsInHist.clear();
502 
503  vector<const reco::Muon*>::const_iterator probeCandIt = m_TightMuons.begin();
504  vector<const reco::Muon*>::const_iterator tightMuonsEnd = m_TightMuons.end();
505 
506  for (; probeCandIt != tightMuonsEnd; ++probeCandIt) {
507  bool isProbe = false;
508  vector<const reco::Muon*>::const_iterator tagCandIt = m_TightMuons.begin();
509  float deltar = 0.;
510 
511  for (; tagCandIt != tightMuonsEnd; ++tagCandIt) {
512  bool tagMuonAlreadyInHist = false;
513  bool tagHasTrig = false;
514  float eta = (*tagCandIt)->eta();
515  float phi = (*tagCandIt)->phi();
516  float pt = (*tagCandIt)->pt();
517  float dEta = eta - (*probeCandIt)->eta();
518  float dPhi = phi - (*probeCandIt)->phi();
519  deltar = sqrt(dEta * dEta + dPhi * dPhi);
520 
521  if ((*tagCandIt) == (*probeCandIt) || deltar < m_minTagProbeDR)
522  continue; // CB has a little bias for closed-by muons
523  auto matchHltDeltaR = matchHlt(trigEvent, (*tagCandIt));
524  tagHasTrig = (matchHltDeltaR < m_maxHltMuonDR) && (pt > m_TagPtCut);
525  isProbe |= tagHasTrig;
526  if (tagHasTrig) {
527  if (std::distance(m_TightMuons.begin(), m_TightMuons.end()) > 2) {
528  for (vector<const reco::Muon*>::const_iterator tagMuonsInHistIt = tagMuonsInHist.begin();
529  tagMuonsInHistIt != tagMuonsInHist.end();
530  ++tagMuonsInHistIt) {
531  if ((*tagCandIt) == (*tagMuonsInHistIt)) {
532  tagMuonAlreadyInHist = true;
533  break;
534  }
535  }
536  if (tagMuonAlreadyInHist == false)
537  tagMuonsInHist.push_back((*tagCandIt));
538  }
539  if (tagMuonAlreadyInHist == false) {
542  m_ControlHistos[kCtrlTagPt]->Fill(pt);
544  m_ControlHistos[kCtrlTagHltDr]->Fill(matchHltDeltaR);
545  }
546  }
547  }
548  if (isProbe)
549  m_ProbeMuons.push_back((*probeCandIt));
550  }
552 }

References gather_cfg::cout, HLT_FULL_cff::dEta, HLT_FULL_cff::distance, HLT_FULL_cff::dPhi, PVValHelper::eta, kCtrlNProbesVsTight, kCtrlTagEta, kCtrlTagHltDr, kCtrlTagPhi, kCtrlTagProbeDr, kCtrlTagPt, m_ControlHistos, m_maxHltMuonDR, m_minTagProbeDR, m_ProbeMuons, m_TagPtCut, m_TightMuons, m_verbose, matchHlt(), phi, DiDispStaMuonMonitor_cfi::pt, mathSSE::sqrt(), and B2GTnPMonitor_cfi::trigEvent.

Referenced by analyze().

◆ getTightMuons()

void L1TMuonDQMOffline::getTightMuons ( edm::Handle< reco::MuonCollection > &  muons,
const reco::Vertex vertex 
)
private

Definition at line 478 of file L1TMuonDQMOffline.cc.

478  {
479  if (m_verbose)
480  cout << "[L1TMuonDQMOffline:] Getting tight muons" << endl;
481  m_TightMuons.clear();
482  MuonCollection::const_iterator muonIt = muons->begin();
483  MuonCollection::const_iterator muonEnd = muons->end();
484 
485  for (; muonIt != muonEnd; ++muonIt) {
486  if (muon::isTightMuon((*muonIt), vertex)) {
487  m_TightMuons.push_back(&(*muonIt));
488  }
489  }
490  m_ControlHistos[kCtrlNTightVsAll]->Fill(muons->size(), m_TightMuons.size());
491 }

References gather_cfg::cout, muon::isTightMuon(), kCtrlNTightVsAll, m_ControlHistos, m_TightMuons, m_verbose, PDWG_BPHSkim_cff::muons, and bphysicsOniaDQM_cfi::vertex.

Referenced by analyze().

◆ matchHlt()

double L1TMuonDQMOffline::matchHlt ( edm::Handle< trigger::TriggerEvent > &  triggerEvent,
const reco::Muon mu 
)
private

Definition at line 589 of file L1TMuonDQMOffline.cc.

589  {
590  double matchDeltaR = 9999;
591 
593 
594  vector<int>::const_iterator trigIndexIt = m_trigIndices.begin();
595  vector<int>::const_iterator trigIndexEnd = m_trigIndices.end();
596 
597  for (; trigIndexIt != trigIndexEnd; ++trigIndexIt) {
598  const vector<string> moduleLabels(m_hltConfig.moduleLabels(*trigIndexIt));
599  const unsigned moduleIndex = m_hltConfig.size((*trigIndexIt)) - 2;
600  const unsigned hltFilterIndex = triggerEvent->filterIndex(InputTag(moduleLabels[moduleIndex], "", m_trigProcess));
601 
602  if (hltFilterIndex < triggerEvent->sizeFilters()) {
603  const Keys triggerKeys(triggerEvent->filterKeys(hltFilterIndex));
604  const Vids triggerVids(triggerEvent->filterIds(hltFilterIndex));
605  const unsigned nTriggers = triggerVids.size();
606  for (size_t iTrig = 0; iTrig < nTriggers; ++iTrig) {
607  const TriggerObject trigObject = trigObjs[triggerKeys[iTrig]];
608  double dRtmp = deltaR((*mu), trigObject);
609  if (dRtmp < matchDeltaR)
610  matchDeltaR = dRtmp;
611  }
612  }
613  }
614  return matchDeltaR;
615 }

References PbPb_ZMuSkimMuonDPG_cff::deltaR, HLT_FULL_cff::InputTag, m_hltConfig, m_trigIndices, m_trigProcess, HLTConfigProvider::moduleLabels(), amptDefaultParameters_cff::mu, HLTConfigProvider::size(), PDWG_DiPhoton_SD_cff::triggerEvent, and TriggerAnalyzer::trigObjs.

Referenced by getProbeMuons().

Member Data Documentation

◆ m_BsInputTag

edm::EDGetTokenT<reco::BeamSpot> L1TMuonDQMOffline::m_BsInputTag
private

Definition at line 164 of file L1TMuonDQMOffline.h.

Referenced by analyze().

◆ m_ControlHistos

std::map<Control, MonitorElement*> L1TMuonDQMOffline::m_ControlHistos
private

◆ m_cuts

std::vector<std::pair<int, QualLevel> > L1TMuonDQMOffline::m_cuts
private

Definition at line 139 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookEfficiencyHistos().

◆ m_cutsVPSet

std::vector<edm::ParameterSet> L1TMuonDQMOffline::m_cutsVPSet
private

Definition at line 160 of file L1TMuonDQMOffline.h.

◆ m_EfficiencyDenEtaHistos

std::map<int, MonitorElement*> L1TMuonDQMOffline::m_EfficiencyDenEtaHistos
private

Definition at line 125 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookEfficiencyHistos().

◆ m_EfficiencyDenPtHistos

std::map<EtaRegion, MonitorElement*> L1TMuonDQMOffline::m_EfficiencyDenPtHistos
private

Definition at line 124 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookEfficiencyHistos().

◆ m_EfficiencyDenVarHistos

std::map<std::tuple<EffType, int, EtaRegion>, MonitorElement*> L1TMuonDQMOffline::m_EfficiencyDenVarHistos
private

Definition at line 123 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookEfficiencyHistos().

◆ m_EfficiencyNumEtaHistos

std::map<std::pair<int, QualLevel>, MonitorElement*> L1TMuonDQMOffline::m_EfficiencyNumEtaHistos
private

Definition at line 122 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookEfficiencyHistos().

◆ m_EfficiencyNumVarHistos

std::map<std::tuple<EffType, int, EtaRegion, QualLevel>, MonitorElement*> L1TMuonDQMOffline::m_EfficiencyNumVarHistos
private

Definition at line 121 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookEfficiencyHistos().

◆ m_effLabelStrings

std::map<EffType, std::string> L1TMuonDQMOffline::m_effLabelStrings
private

Definition at line 149 of file L1TMuonDQMOffline.h.

Referenced by bookEfficiencyHistos().

◆ m_effStrings

std::map<EffType, std::string> L1TMuonDQMOffline::m_effStrings
private

Definition at line 148 of file L1TMuonDQMOffline.h.

Referenced by bookEfficiencyHistos().

◆ m_effTypes

const std::vector<EffType> L1TMuonDQMOffline::m_effTypes
private

Definition at line 142 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookEfficiencyHistos().

◆ m_effVsEtaBins

std::vector<double> L1TMuonDQMOffline::m_effVsEtaBins
private

Definition at line 172 of file L1TMuonDQMOffline.h.

Referenced by getHistBinsEff().

◆ m_effVsPhiBins

std::vector<double> L1TMuonDQMOffline::m_effVsPhiBins
private

Definition at line 171 of file L1TMuonDQMOffline.h.

Referenced by getHistBinsEff().

◆ m_effVsPtBins

std::vector<double> L1TMuonDQMOffline::m_effVsPtBins
private

Definition at line 170 of file L1TMuonDQMOffline.h.

Referenced by getHistBinsEff().

◆ m_effVsVtxBins

std::vector<double> L1TMuonDQMOffline::m_effVsVtxBins
private

Definition at line 173 of file L1TMuonDQMOffline.h.

Referenced by getHistBinsEff().

◆ m_etaRegions

const std::vector<EtaRegion> L1TMuonDQMOffline::m_etaRegions
private

Definition at line 144 of file L1TMuonDQMOffline.h.

Referenced by bookEfficiencyHistos(), and bookResolutionHistos().

◆ m_etaStrings

std::map<EtaRegion, std::string> L1TMuonDQMOffline::m_etaStrings
private

Definition at line 152 of file L1TMuonDQMOffline.h.

Referenced by bookEfficiencyHistos(), and bookResolutionHistos().

◆ m_GmtInputTag

edm::EDGetTokenT<l1t::MuonBxCollection> L1TMuonDQMOffline::m_GmtInputTag
private

Definition at line 162 of file L1TMuonDQMOffline.h.

Referenced by analyze().

◆ m_HistFolder

std::string L1TMuonDQMOffline::m_HistFolder
private

◆ m_hltConfig

HLTConfigProvider L1TMuonDQMOffline::m_hltConfig
private

Definition at line 105 of file L1TMuonDQMOffline.h.

Referenced by bookHistograms(), dqmBeginRun(), and matchHlt().

◆ m_L1tL1tMuons

BXVector<l1t::Muon> L1TMuonDQMOffline::m_L1tL1tMuons
private

Definition at line 137 of file L1TMuonDQMOffline.h.

◆ m_L1tMuons

std::vector<l1t::MuonBxCollection> L1TMuonDQMOffline::m_L1tMuons
private

Definition at line 135 of file L1TMuonDQMOffline.h.

◆ m_maxGmtMuonDR

float L1TMuonDQMOffline::m_maxGmtMuonDR
private

Definition at line 178 of file L1TMuonDQMOffline.h.

Referenced by getMuonGmtPairs().

◆ m_maxHltMuonDR

float L1TMuonDQMOffline::m_maxHltMuonDR
private

Definition at line 180 of file L1TMuonDQMOffline.h.

Referenced by getProbeMuons().

◆ m_minTagProbeDR

float L1TMuonDQMOffline::m_minTagProbeDR
private

Definition at line 179 of file L1TMuonDQMOffline.h.

Referenced by getProbeMuons().

◆ m_MuonGmtPairs

std::vector<MuonGmtPair> L1TMuonDQMOffline::m_MuonGmtPairs
private

Definition at line 132 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and getMuonGmtPairs().

◆ m_MuonInputTag

edm::EDGetTokenT<reco::MuonCollection> L1TMuonDQMOffline::m_MuonInputTag
private

Definition at line 161 of file L1TMuonDQMOffline.h.

Referenced by analyze().

◆ m_ProbeMuons

std::vector<const reco::Muon*> L1TMuonDQMOffline::m_ProbeMuons
private

Definition at line 131 of file L1TMuonDQMOffline.h.

Referenced by getMuonGmtPairs(), and getProbeMuons().

◆ m_propagator

PropagateToMuon L1TMuonDQMOffline::m_propagator
private

Definition at line 107 of file L1TMuonDQMOffline.h.

Referenced by dqmBeginRun(), and getMuonGmtPairs().

◆ m_qualLevelsRes

const std::vector<QualLevel> L1TMuonDQMOffline::m_qualLevelsRes
private

Definition at line 145 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookResolutionHistos().

◆ m_qualStrings

std::map<QualLevel, std::string> L1TMuonDQMOffline::m_qualStrings
private

Definition at line 153 of file L1TMuonDQMOffline.h.

Referenced by bookEfficiencyHistos(), and bookResolutionHistos().

◆ m_RecoMuons

std::vector<reco::MuonCollection> L1TMuonDQMOffline::m_RecoMuons
private

Definition at line 134 of file L1TMuonDQMOffline.h.

◆ m_RecoRecoMuons

std::vector<reco::Muon> L1TMuonDQMOffline::m_RecoRecoMuons
private

Definition at line 136 of file L1TMuonDQMOffline.h.

◆ m_recoToL1PtCutFactor

double L1TMuonDQMOffline::m_recoToL1PtCutFactor
private

Definition at line 159 of file L1TMuonDQMOffline.h.

Referenced by analyze().

◆ m_resLabelStrings

std::map<ResType, std::string> L1TMuonDQMOffline::m_resLabelStrings
private

Definition at line 151 of file L1TMuonDQMOffline.h.

Referenced by bookResolutionHistos().

◆ m_ResolutionHistos

std::map<std::tuple<ResType, EtaRegion, QualLevel>, MonitorElement*> L1TMuonDQMOffline::m_ResolutionHistos
private

Definition at line 126 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookResolutionHistos().

◆ m_resStrings

std::map<ResType, std::string> L1TMuonDQMOffline::m_resStrings
private

Definition at line 150 of file L1TMuonDQMOffline.h.

Referenced by bookResolutionHistos().

◆ m_resTypes

const std::vector<ResType> L1TMuonDQMOffline::m_resTypes
private

Definition at line 143 of file L1TMuonDQMOffline.h.

Referenced by analyze(), and bookResolutionHistos().

◆ m_TagPtCut

double L1TMuonDQMOffline::m_TagPtCut
private

Definition at line 158 of file L1TMuonDQMOffline.h.

Referenced by getProbeMuons().

◆ m_TightMuons

std::vector<const reco::Muon*> L1TMuonDQMOffline::m_TightMuons
private

Definition at line 130 of file L1TMuonDQMOffline.h.

Referenced by getProbeMuons(), and getTightMuons().

◆ m_trigIndices

std::vector<int> L1TMuonDQMOffline::m_trigIndices
private

Definition at line 175 of file L1TMuonDQMOffline.h.

Referenced by bookHistograms(), and matchHlt().

◆ m_trigInputTag

edm::EDGetTokenT<trigger::TriggerEvent> L1TMuonDQMOffline::m_trigInputTag
private

Definition at line 165 of file L1TMuonDQMOffline.h.

Referenced by analyze().

◆ m_trigNames

std::vector<std::string> L1TMuonDQMOffline::m_trigNames
private

Definition at line 169 of file L1TMuonDQMOffline.h.

Referenced by bookHistograms().

◆ m_trigProcess

std::string L1TMuonDQMOffline::m_trigProcess
private

Definition at line 166 of file L1TMuonDQMOffline.h.

Referenced by dqmBeginRun(), and matchHlt().

◆ m_trigProcess_token

edm::EDGetTokenT<edm::TriggerResults> L1TMuonDQMOffline::m_trigProcess_token
private

Definition at line 167 of file L1TMuonDQMOffline.h.

Referenced by analyze().

◆ m_useAtVtxCoord

bool L1TMuonDQMOffline::m_useAtVtxCoord
private

Definition at line 177 of file L1TMuonDQMOffline.h.

Referenced by getMuonGmtPairs().

◆ m_verbose

bool L1TMuonDQMOffline::m_verbose
private

◆ m_VtxInputTag

edm::EDGetTokenT<reco::VertexCollection> L1TMuonDQMOffline::m_VtxInputTag
private

Definition at line 163 of file L1TMuonDQMOffline.h.

Referenced by analyze().

TriggerObject
Definition: TriggerObject.py:1
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
L1TMuonDQMOffline::kCtrlTagEta
Definition: L1TMuonDQMOffline.h:66
L1TMuonDQMOffline::kCtrlNTightVsAll
Definition: L1TMuonDQMOffline.h:74
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
L1TMuonDQMOffline::m_effVsPhiBins
std::vector< double > m_effVsPhiBins
Definition: L1TMuonDQMOffline.h:171
L1TMuonDQMOffline::m_effStrings
std::map< EffType, std::string > m_effStrings
Definition: L1TMuonDQMOffline.h:148
L1TMuonDQMOffline::m_maxHltMuonDR
float m_maxHltMuonDR
Definition: L1TMuonDQMOffline.h:180
TkAlMuonSelectors_cfi.cut
cut
Definition: TkAlMuonSelectors_cfi.py:5
trigger::Vids
std::vector< int > Vids
Definition: TriggerTypeDefs.h:21
L1TMuonDQMOffline::m_etaRegions
const std::vector< EtaRegion > m_etaRegions
Definition: L1TMuonDQMOffline.h:144
L1TMuonDQMOffline::kQualAll
Definition: L1TMuonDQMOffline.h:80
L1TMuonDQMOffline::bookEfficiencyHistos
virtual void bookEfficiencyHistos(DQMStore::IBooker &ibooker)
Definition: L1TMuonDQMOffline.cc:363
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
L1TMuonDQMOffline::m_HistFolder
std::string m_HistFolder
Definition: L1TMuonDQMOffline.h:157
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
L1TMuonDQMOffline::m_MuonInputTag
edm::EDGetTokenT< reco::MuonCollection > m_MuonInputTag
Definition: L1TMuonDQMOffline.h:161
TriggerAnalyzer.trigObjs
trigObjs
Definition: TriggerAnalyzer.py:89
PropagateToMuon::init
void init(const edm::EventSetup &iSetup)
Definition: PropagateToMuon.cc:56
L1TMuonDQMOffline::m_ResolutionHistos
std::map< std::tuple< ResType, EtaRegion, QualLevel >, MonitorElement * > m_ResolutionHistos
Definition: L1TMuonDQMOffline.h:126
MuonGmtPair
Definition: L1TMuonDQMOffline.h:186
BXVector::const_iterator
std::vector< T >::const_iterator const_iterator
Definition: BXVector.h:18
L1TMuonDQMOffline::kEffPt
Definition: L1TMuonDQMOffline.h:77
reco::Vertex::Error
math::Error< dimension >::type Error
covariance error matrix (3x3)
Definition: Vertex.h:44
L1TMuonDQMOffline::m_maxGmtMuonDR
float m_maxGmtMuonDR
Definition: L1TMuonDQMOffline.h:178
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1TMuonDQMOffline::m_histoKeyResType
std::tuple< ResType, EtaRegion, QualLevel > m_histoKeyResType
Definition: L1TMuonDQMOffline.h:113
L1TMuonDQMOffline::kEtaRegionEmtf
Definition: L1TMuonDQMOffline.h:79
L1TMuonDQMOffline::kCtrlTagProbeDr
Definition: L1TMuonDQMOffline.h:71
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89285
L1TMuonDQMOffline_cfi.effVsPhiBins
effVsPhiBins
Definition: L1TMuonDQMOffline_cfi.py:18
L1TMuonDQMOffline::m_recoToL1PtCutFactor
double m_recoToL1PtCutFactor
Definition: L1TMuonDQMOffline.h:159
L1TMuonDQMOffline::m_etaStrings
std::map< EtaRegion, std::string > m_etaStrings
Definition: L1TMuonDQMOffline.h:152
L1TMuonDQMOffline::m_histoKeyEffNumVarType
std::tuple< EffType, int, EtaRegion, QualLevel > m_histoKeyEffNumVarType
Definition: L1TMuonDQMOffline.h:115
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
L1TMuonDQMOffline::m_EfficiencyDenPtHistos
std::map< EtaRegion, MonitorElement * > m_EfficiencyDenPtHistos
Definition: L1TMuonDQMOffline.h:124
L1TMuonDQMOffline::kQualSingle
Definition: L1TMuonDQMOffline.h:80
L1TMuonDQMOffline::m_BsInputTag
edm::EDGetTokenT< reco::BeamSpot > m_BsInputTag
Definition: L1TMuonDQMOffline.h:164
L1TMuonDQMOffline::getHistBinsEff
std::vector< float > getHistBinsEff(EffType eff)
Definition: L1TMuonDQMOffline.cc:617
L1TMuonDQMOffline::getNVertices
const unsigned int getNVertices(edm::Handle< reco::VertexCollection > &vertex)
Definition: L1TMuonDQMOffline.cc:433
deltar
Definition: deltar.py:1
L1TMuonDQMOffline::m_trigNames
std::vector< std::string > m_trigNames
Definition: L1TMuonDQMOffline.h:169
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
L1TMuonDQMOffline::kCtrlProbePt
Definition: L1TMuonDQMOffline.h:68
L1TMuonDQMOffline::kEffEta
Definition: L1TMuonDQMOffline.h:77
L1TMuonDQMOffline::kRes1OverPt
Definition: L1TMuonDQMOffline.h:78
HLT_FULL_cff.dPhi
dPhi
Definition: HLT_FULL_cff.py:13703
L1TMuonDQMOffline::m_ProbeMuons
std::vector< const reco::Muon * > m_ProbeMuons
Definition: L1TMuonDQMOffline.h:131
L1TMuonDQMOffline::m_effVsVtxBins
std::vector< double > m_effVsVtxBins
Definition: L1TMuonDQMOffline.h:173
edm::Handle< reco::MuonCollection >
L1TMuonDQMOffline::m_resLabelStrings
std::map< ResType, std::string > m_resLabelStrings
Definition: L1TMuonDQMOffline.h:151
L1TMuonDQMOffline::bookControlHistos
virtual void bookControlHistos(DQMStore::IBooker &)
Definition: L1TMuonDQMOffline.cc:337
L1TMuonDQMOffline::m_effVsPtBins
std::vector< double > m_effVsPtBins
Definition: L1TMuonDQMOffline.h:170
L1TMuonDQMOffline::m_useAtVtxCoord
bool m_useAtVtxCoord
Definition: L1TMuonDQMOffline.h:177
L1TMuonDQMOffline::QualLevel
QualLevel
Definition: L1TMuonDQMOffline.h:80
L1TMuonDQMOffline::matchHlt
double matchHlt(edm::Handle< trigger::TriggerEvent > &triggerEvent, const reco::Muon *mu)
Definition: L1TMuonDQMOffline.cc:589
L1TMuonDQMOffline::m_GmtInputTag
edm::EDGetTokenT< l1t::MuonBxCollection > m_GmtInputTag
Definition: L1TMuonDQMOffline.h:162
L1TMuonDQMOffline::m_qualStrings
std::map< QualLevel, std::string > m_qualStrings
Definition: L1TMuonDQMOffline.h:153
L1TMuonDQMOffline::kQualOpen
Definition: L1TMuonDQMOffline.h:80
trigObjTnPSource_cfi.var
var
Definition: trigObjTnPSource_cfi.py:21
L1TMuonDQMOffline::m_trigProcess
std::string m_trigProcess
Definition: L1TMuonDQMOffline.h:166
L1TMuonDQMOffline::kCtrlTagHltDr
Definition: L1TMuonDQMOffline.h:72
BeamMonitor_cff.primaryVertex
primaryVertex
hltOfflineBeamSpot for HLTMON
Definition: BeamMonitor_cff.py:7
HLTConfigProvider::moduleLabels
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
Definition: HLTConfigProvider.h:76
L1TMuonDQMOffline::kEffVtx
Definition: L1TMuonDQMOffline.h:77
L1TMuonDQMOffline::kCtrlNProbesVsTight
Definition: L1TMuonDQMOffline.h:75
L1TMuonDQMOffline::kEtaRegionBmtf
Definition: L1TMuonDQMOffline.h:79
L1TMuonDQMOffline::getHistBinsRes
std::tuple< int, double, double > getHistBinsRes(ResType res)
Definition: L1TMuonDQMOffline.cc:637
L1TMuonDQMOffline::kCtrlProbeEta
Definition: L1TMuonDQMOffline.h:69
L1TMuonDQMOffline::m_effLabelStrings
std::map< EffType, std::string > m_effLabelStrings
Definition: L1TMuonDQMOffline.h:149
L1TMuonDQMOffline::m_cuts
std::vector< std::pair< int, QualLevel > > m_cuts
Definition: L1TMuonDQMOffline.h:139
PVValHelper::eta
Definition: PVValidationHelpers.h:70
L1TMuonDQMOffline::m_minTagProbeDR
float m_minTagProbeDR
Definition: L1TMuonDQMOffline.h:179
L1TMuonDQMOffline::m_histoKeyEffNumEtaType
std::pair< int, QualLevel > m_histoKeyEffNumEtaType
Definition: L1TMuonDQMOffline.h:116
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
L1TMuonDQMOffline::kCtrlTagPt
Definition: L1TMuonDQMOffline.h:65
L1TMuonDQMOffline::kEtaRegionAll
Definition: L1TMuonDQMOffline.h:79
LaserClient_cfi.nbins
nbins
Definition: LaserClient_cfi.py:51
L1TMuonDQMOffline::m_EfficiencyNumEtaHistos
std::map< std::pair< int, QualLevel >, MonitorElement * > m_EfficiencyNumEtaHistos
Definition: L1TMuonDQMOffline.h:122
L1TMuonDQMOffline::kResCh
Definition: L1TMuonDQMOffline.h:78
L1TMuonDQMOffline::m_cutsVPSet
std::vector< edm::ParameterSet > m_cutsVPSet
Definition: L1TMuonDQMOffline.h:160
BXVector::begin
const_iterator begin(int bx) const
L1TMuonDQMOffline::getProbeMuons
void getProbeMuons(edm::Handle< edm::TriggerResults > &trigResults, edm::Handle< trigger::TriggerEvent > &trigEvent)
Definition: L1TMuonDQMOffline.cc:494
L1TMuonDQMOffline_cfi.effVsVtxBins
effVsVtxBins
Definition: L1TMuonDQMOffline_cfi.py:27
L1TMuonDQMOffline::m_effTypes
const std::vector< EffType > m_effTypes
Definition: L1TMuonDQMOffline.h:142
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
B2GTnPMonitor_cfi.trigEvent
trigEvent
Definition: B2GTnPMonitor_cfi.py:39
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1TMuonDQMOffline::m_qualLevelsRes
const std::vector< QualLevel > m_qualLevelsRes
Definition: L1TMuonDQMOffline.h:145
HLTConfigProvider::size
unsigned int size() const
number of trigger paths in trigger table
Definition: HLTConfigProvider.h:63
L1TkPrimaryVertexProducer_cfi.nVtx
nVtx
Definition: L1TkPrimaryVertexProducer_cfi.py:14
L1TMuonDQMOffline::m_resStrings
std::map< ResType, std::string > m_resStrings
Definition: L1TMuonDQMOffline.h:150
L1TMuonDQMOffline::m_histoKeyEffDenVarType
std::tuple< EffType, int, EtaRegion > m_histoKeyEffDenVarType
Definition: L1TMuonDQMOffline.h:118
bphysicsOniaDQM_cfi.vertex
vertex
Definition: bphysicsOniaDQM_cfi.py:7
BXVector::end
const_iterator end(int bx) const
L1TMuonDQMOffline::m_EfficiencyDenVarHistos
std::map< std::tuple< EffType, int, EtaRegion >, MonitorElement * > m_EfficiencyDenVarHistos
Definition: L1TMuonDQMOffline.h:123
edm::ParameterSet
Definition: ParameterSet.h:47
L1TMuonDQMOffline::kCtrlTagPhi
Definition: L1TMuonDQMOffline.h:67
muon::isTightMuon
bool isTightMuon(const reco::Muon &, const reco::Vertex &)
Definition: MuonSelectors.cc:880
L1TMuonDQMOffline::m_hltConfig
HLTConfigProvider m_hltConfig
Definition: L1TMuonDQMOffline.h:105
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
L1TMuonDQMOffline::kQualDouble
Definition: L1TMuonDQMOffline.h:80
L1TMuonDQMOffline::m_MuonGmtPairs
std::vector< MuonGmtPair > m_MuonGmtPairs
Definition: L1TMuonDQMOffline.h:132
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
L1TMuonDQMOffline_cfi.qualCut
qualCut
Definition: L1TMuonDQMOffline_cfi.py:34
L1TMuonDQMOffline::kResQOverPt
Definition: L1TMuonDQMOffline.h:78
L1TMuonDQMOffline::kCtrlMuonGmtDeltaR
Definition: L1TMuonDQMOffline.h:73
L1TMuonDQMOffline::m_EfficiencyDenEtaHistos
std::map< int, MonitorElement * > m_EfficiencyDenEtaHistos
Definition: L1TMuonDQMOffline.h:125
L1TMuonDQMOffline::kCtrlProbePhi
Definition: L1TMuonDQMOffline.h:70
PDWG_DiPhoton_SD_cff.triggerEvent
triggerEvent
Definition: PDWG_DiPhoton_SD_cff.py:39
res
Definition: Electron.h:6
L1TMuonDQMOffline::m_trigInputTag
edm::EDGetTokenT< trigger::TriggerEvent > m_trigInputTag
Definition: L1TMuonDQMOffline.h:165
L1TMuonDQMOffline::kEffPhi
Definition: L1TMuonDQMOffline.h:77
L1TMuonDQMOffline::getMuonGmtPairs
void getMuonGmtPairs(edm::Handle< l1t::MuonBxCollection > &gmtCands)
Definition: L1TMuonDQMOffline.cc:555
L1TMuonDQMOffline::m_verbose
bool m_verbose
Definition: L1TMuonDQMOffline.h:156
L1TMuonDQMOffline::m_TightMuons
std::vector< const reco::Muon * > m_TightMuons
Definition: L1TMuonDQMOffline.h:130
L1TMuonDQMOffline::kEtaRegionOmtf
Definition: L1TMuonDQMOffline.h:79
DDAxes::phi
reco::Vertex::Point
math::XYZPoint Point
point in the space
Definition: Vertex.h:40
writedatasetfile.run
run
Definition: writedatasetfile.py:27
HLTConfigProvider::init
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
Definition: HLTConfigProvider.cc:36
L1TMuonDQMOffline::kResPt
Definition: L1TMuonDQMOffline.h:78
L1TMuonDQMOffline::getPrimaryVertex
const reco::Vertex getPrimaryVertex(edm::Handle< reco::VertexCollection > &vertex, edm::Handle< reco::BeamSpot > &beamSpot)
Definition: L1TMuonDQMOffline.cc:447
HLT_FULL_cff.dEta
dEta
Definition: HLT_FULL_cff.py:13702
L1TMuonDQMOffline::kEtaRegionOut
Definition: L1TMuonDQMOffline.h:79
TrackerOfflineValidation_Dqm_cff.xmax
xmax
Definition: TrackerOfflineValidation_Dqm_cff.py:11
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
L1TMuonDQMOffline::kResPhi
Definition: L1TMuonDQMOffline.h:78
L1TMuonDQMOffline_cfi.effVsPtBins
effVsPtBins
Definition: L1TMuonDQMOffline_cfi.py:7
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
L1TMuonDQMOffline::m_EfficiencyNumVarHistos
std::map< std::tuple< EffType, int, EtaRegion, QualLevel >, MonitorElement * > m_EfficiencyNumVarHistos
Definition: L1TMuonDQMOffline.h:121
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
L1TMuonDQMOffline::getTightMuons
void getTightMuons(edm::Handle< reco::MuonCollection > &muons, const reco::Vertex &vertex)
Definition: L1TMuonDQMOffline.cc:478
L1TMuonDQMOffline::bookResolutionHistos
virtual void bookResolutionHistos(DQMStore::IBooker &ibooker)
Definition: L1TMuonDQMOffline.cc:412
HLTConfigProvider::triggerName
const std::string & triggerName(unsigned int triggerIndex) const
Definition: HLTConfigProvider.h:70
L1TMuonDQMOffline::m_VtxInputTag
edm::EDGetTokenT< reco::VertexCollection > m_VtxInputTag
Definition: L1TMuonDQMOffline.h:163
L1TMuonDQMOffline::kResEta
Definition: L1TMuonDQMOffline.h:78
TrackerOfflineValidation_Dqm_cff.xmin
xmin
Definition: TrackerOfflineValidation_Dqm_cff.py:10
L1TMuonDQMOffline::m_effVsEtaBins
std::vector< double > m_effVsEtaBins
Definition: L1TMuonDQMOffline.h:172
L1TMuonDQMOffline::m_propagator
PropagateToMuon m_propagator
Definition: L1TMuonDQMOffline.h:107
L1TMuonDQMOffline_cfi.effVsEtaBins
effVsEtaBins
Definition: L1TMuonDQMOffline_cfi.py:24
HLT_FULL_cff.distance
distance
Definition: HLT_FULL_cff.py:7733
L1TMuonDQMOffline::m_resTypes
const std::vector< ResType > m_resTypes
Definition: L1TMuonDQMOffline.h:143
edm::InputTag
Definition: InputTag.h:15
L1TMuonDQMOffline::m_trigProcess_token
edm::EDGetTokenT< edm::TriggerResults > m_trigProcess_token
Definition: L1TMuonDQMOffline.h:167
reco::Vertex
Definition: Vertex.h:35
L1TMuonDQMOffline::m_TagPtCut
double m_TagPtCut
Definition: L1TMuonDQMOffline.h:158
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
L1TMuonDQMOffline::m_trigIndices
std::vector< int > m_trigIndices
Definition: L1TMuonDQMOffline.h:175
L1TMuonDQMOffline::m_ControlHistos
std::map< Control, MonitorElement * > m_ControlHistos
Definition: L1TMuonDQMOffline.h:127