CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
DiDispStaMuonMonitor Class Reference
Inheritance diagram for DiDispStaMuonMonitor:
DQMEDAnalyzer TriggerDQMBase edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- 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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Public Types inherited from TriggerDQMBase
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

 DiDispStaMuonMonitor (const edm::ParameterSet &)
 
 ~DiDispStaMuonMonitor () override throw ()
 
- 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
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
- Public Member Functions inherited from TriggerDQMBase
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbinsX, const double xmin, const double xmax, const uint nbinsY, const double ymin, const double ymax, const bool bookDen=true)
 
void bookME (DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const std::vector< double > &binningX, const std::vector< double > &binningY, const bool bookDen=true)
 
void setMETitle (ObjME &me, const std::string &titleX, const std::string &titleY)
 
 TriggerDQMBase ()=default
 
virtual ~TriggerDQMBase ()=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- 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 &)
 
- Static Public Member Functions inherited from TriggerDQMBase
static void fillHistoLSPSetDescription (edm::ParameterSetDescription &pset)
 
static void fillHistoPSetDescription (edm::ParameterSetDescription &pset)
 
static MEbinning getHistoLSPSet (const edm::ParameterSet &pset)
 
static MEbinning getHistoPSet (const edm::ParameterSet &pset)
 

Protected Member Functions

void analyze (edm::Event const &iEvent, edm::EventSetup const &iSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

std::unique_ptr< GenericTriggerEventFlagden_genTriggerEventFlag_
 
const std::string folderName_
 
bool hltPathsAreValid_
 
MEbinning ls_binning_
 
MEbinning muonDxy_binning_
 
ObjME muonDxyME_
 
MEbinning muonEta_binning_
 
ObjME muonEtaME_
 
MEbinning muonPhi_binning_
 
ObjME muonPhiME_
 
MEbinning muonPt_binning_
 
std::vector< double > muonPt_variable_binning_
 
ObjME muonPtME_
 
ObjME muonPtME_variableBinning_
 
ObjME muonPtNoDxyCutME_
 
ObjME muonPtVsLS_
 
StringCutObjectSelector< reco::Track, true > muonSelectionDxy_
 
StringCutObjectSelector< reco::Track, true > muonSelectionGeneral_
 
StringCutObjectSelector< reco::Track, true > muonSelectionPt_
 
edm::EDGetTokenT< reco::TrackCollectionmuonToken_
 
unsigned int nmuons_
 
std::unique_ptr< GenericTriggerEventFlagnum_genTriggerEventFlag_
 
const bool requireValidHLTPaths_
 
ObjME subMuonDxyME_
 
ObjME subMuonEtaME_
 
ObjME subMuonPhiME_
 
ObjME subMuonPtME_
 
ObjME subMuonPtME_variableBinning_
 

Additional Inherited Members

- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 16 of file DiDispStaMuonMonitor.cc.

Member Typedef Documentation

◆ DQMStore

Definition at line 19 of file DiDispStaMuonMonitor.cc.

◆ MonitorElement

Definition at line 18 of file DiDispStaMuonMonitor.cc.

Constructor & Destructor Documentation

◆ DiDispStaMuonMonitor()

DiDispStaMuonMonitor::DiDispStaMuonMonitor ( const edm::ParameterSet iConfig)

Definition at line 67 of file DiDispStaMuonMonitor.cc.

68  : folderName_(iConfig.getParameter<std::string>("FolderName")),
69  requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
70  hltPathsAreValid_(false),
71  muonToken_(consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("muons"))),
73  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<std::vector<double>>("muonPtBinning")),
75  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("muonPtPSet"))),
77  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("muonEtaPSet"))),
79  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("muonPhiPSet"))),
81  iConfig.getParameter<edm::ParameterSet>("histoPSet").getParameter<edm::ParameterSet>("muonDxyPSet"))),
85  iConfig.getParameter<edm::ParameterSet>("numGenericTriggerEventPSet"), consumesCollector(), *this)),
87  iConfig.getParameter<edm::ParameterSet>("denGenericTriggerEventPSet"), consumesCollector(), *this)),
89  iConfig.getParameter<edm::ParameterSet>("muonSelection").getParameter<std::string>("general")),
91  muonSelectionDxy_(iConfig.getParameter<edm::ParameterSet>("muonSelection").getParameter<std::string>("dxy")),
92  nmuons_(iConfig.getParameter<unsigned int>("nmuons")) {}
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::vector< double > muonPt_variable_binning_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
const std::string folderName_
static MEbinning getHistoPSet(const edm::ParameterSet &pset)
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
StringCutObjectSelector< reco::Track, true > muonSelectionDxy_
StringCutObjectSelector< reco::Track, true > muonSelectionGeneral_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
StringCutObjectSelector< reco::Track, true > muonSelectionPt_
edm::EDGetTokenT< reco::TrackCollection > muonToken_

◆ ~DiDispStaMuonMonitor()

DiDispStaMuonMonitor::~DiDispStaMuonMonitor ( )
throw (
)
override

Definition at line 94 of file DiDispStaMuonMonitor.cc.

References den_genTriggerEventFlag_, and num_genTriggerEventFlag_.

94  {
97  }
100  }
101 }
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_

Member Function Documentation

◆ analyze()

void DiDispStaMuonMonitor::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 230 of file DiDispStaMuonMonitor.cc.

References den_genTriggerEventFlag_, TriggerDQMBase::ObjME::denominator, PVValHelper::dxy, PVValHelper::eta, dqm::impl::MonitorElement::Fill(), hltPathsAreValid_, mps_fire::i, iEvent, eostools::ls(), visualization-live-secondInstance_cfg::m, muonDxyME_, muonEtaME_, muonPhiME_, muonPtME_, muonPtME_variableBinning_, muonPtNoDxyCutME_, muonPtVsLS_, PDWG_BPHSkim_cff::muons, muonSelectionDxy_, muonSelectionGeneral_, muonSelectionPt_, muonToken_, nmuons_, num_genTriggerEventFlag_, TriggerDQMBase::ObjME::numerator, phi, DiDispStaMuonMonitor_cfi::pt, reco::TrackBase::pt(), requireValidHLTPaths_, jetsAK4_CHS_cff::sort, subMuonDxyME_, subMuonEtaME_, subMuonPhiME_, subMuonPtME_, and subMuonPtME_variableBinning_.

230  {
231  // if valid HLT paths are required,
232  // analyze event only if all paths are valid
234  return;
235  }
236 
237  // Filter out events if Trigger Filtering is requested
238  if (den_genTriggerEventFlag_->on() && !den_genTriggerEventFlag_->accept(iEvent, iSetup))
239  return;
240 
241  const int ls = iEvent.id().luminosityBlock();
242 
244  iEvent.getByToken(muonToken_, DSAHandle);
245  if ((unsigned int)(DSAHandle->size()) < nmuons_)
246  return;
247  std::vector<edm::Ptr<reco::Track>> dsaMuonPtrs_{}; // = DSAHandle->ptrs();
248  for (size_t i(0); i != DSAHandle->size(); ++i) {
249  dsaMuonPtrs_.emplace_back(DSAHandle, i);
250  }
251  std::vector<edm::Ptr<reco::Track>> muons{}, muonsCutOnPt{}, muonsCutOnDxy{}, muonsCutOnPtAndDxy{};
252 
253  // general selection
254  auto selectGeneral_([this](edm::Ptr<reco::Track> const& m) -> bool { return muonSelectionGeneral_(*m); });
255  std::copy_if(dsaMuonPtrs_.begin(), dsaMuonPtrs_.end(), back_inserter(muons), selectGeneral_);
256  if ((unsigned int)(muons.size()) < nmuons_)
257  return;
258 
259  // sort by pt
260  auto ptSorter_ = [](edm::Ptr<reco::Track> const& lhs, edm::Ptr<reco::Track> const& rhs) -> bool {
261  return lhs->pt() > rhs->pt();
262  };
263  std::sort(muons.begin(), muons.end(), ptSorter_);
264 
265  // cut on pt
266  auto selectOnPt_([this](edm::Ptr<reco::Track> const& m) -> bool { return muonSelectionPt_(*m); });
267  std::copy_if(muons.begin(), muons.end(), back_inserter(muonsCutOnPt), selectOnPt_);
268  // cut on dxy
269  auto selectOnDxy_([this](edm::Ptr<reco::Track> const& m) -> bool { return muonSelectionDxy_(*m); });
270  std::copy_if(muons.begin(), muons.end(), back_inserter(muonsCutOnDxy), selectOnDxy_);
271  // cut on pt and dxy
272  auto selectOnPtAndDxy_(
273  [this](edm::Ptr<reco::Track> const& m) -> bool { return muonSelectionPt_(*m) && muonSelectionDxy_(*m); });
274  std::copy_if(muons.begin(), muons.end(), back_inserter(muonsCutOnPtAndDxy), selectOnPtAndDxy_);
275 
276  std::sort(muonsCutOnPt.begin(), muonsCutOnPt.end(), ptSorter_);
277  std::sort(muonsCutOnDxy.begin(), muonsCutOnDxy.end(), ptSorter_);
278  std::sort(muonsCutOnPtAndDxy.begin(), muonsCutOnPtAndDxy.end(), ptSorter_);
279 
280  // --------------------------------
281  // filling histograms (denominator)
282  // --------------------------------
283  if (muonsCutOnDxy.size() >= nmuons_) {
284  // pt has cut on dxy
285  muonPtME_.denominator->Fill(muonsCutOnDxy[0]->pt());
287  muonPtME_variableBinning_.denominator->Fill(muonsCutOnDxy[0]->pt());
288  muonPtVsLS_.denominator->Fill(ls, muonsCutOnDxy[0]->pt());
289  if (nmuons_ > 1) {
290  subMuonPtME_.denominator->Fill(muonsCutOnDxy[1]->pt());
291  subMuonPtME_variableBinning_.denominator->Fill(muonsCutOnDxy[1]->pt());
292  }
293  }
294  if (muonsCutOnPtAndDxy.size() >= nmuons_) {
295  // eta, phi have cut on pt and dxy
296  muonEtaME_.denominator->Fill(muonsCutOnPtAndDxy[0]->eta());
297  muonPhiME_.denominator->Fill(muonsCutOnPtAndDxy[0]->phi());
298  if (nmuons_ > 1) {
299  subMuonEtaME_.denominator->Fill(muonsCutOnPtAndDxy[1]->eta());
300  subMuonPhiME_.denominator->Fill(muonsCutOnPtAndDxy[1]->phi());
301  }
302  }
303  if (muonsCutOnPt.size() >= nmuons_) {
304  // dxy has cut on pt
305  muonDxyME_.denominator->Fill(muonsCutOnPt[0]->dxy());
306  if (nmuons_ > 1) {
307  subMuonDxyME_.denominator->Fill(muonsCutOnPt[1]->dxy());
308  }
309  }
310 
311  // --------------------------------
312  // filling histograms (numerator)
313  // --------------------------------
314  if (num_genTriggerEventFlag_->on() && !num_genTriggerEventFlag_->accept(iEvent, iSetup))
315  return;
316 
317  if (muonsCutOnDxy.size() >= nmuons_) {
318  // pt has cut on dxy
319  muonPtME_.numerator->Fill(muonsCutOnDxy[0]->pt());
321  muonPtME_variableBinning_.numerator->Fill(muonsCutOnDxy[0]->pt());
322  muonPtVsLS_.numerator->Fill(ls, muonsCutOnDxy[0]->pt());
323  if (nmuons_ > 1) {
324  subMuonPtME_.numerator->Fill(muonsCutOnDxy[1]->pt());
325  subMuonPtME_variableBinning_.numerator->Fill(muonsCutOnDxy[1]->pt());
326  }
327  }
328  if (muonsCutOnPtAndDxy.size() >= nmuons_) {
329  // eta, phi have cut on pt and dxy
330  muonEtaME_.numerator->Fill(muonsCutOnPtAndDxy[0]->eta());
331  muonPhiME_.numerator->Fill(muonsCutOnPtAndDxy[0]->phi());
332  if (nmuons_ > 1) {
333  subMuonEtaME_.numerator->Fill(muonsCutOnPtAndDxy[1]->eta());
334  subMuonPhiME_.numerator->Fill(muonsCutOnPtAndDxy[1]->phi());
335  }
336  }
337  if (muonsCutOnPt.size() >= nmuons_) {
338  // dxy has cut on pt
339  muonDxyME_.numerator->Fill(muonsCutOnPt[0]->dxy());
340  if (nmuons_ > 1) {
341  subMuonDxyME_.numerator->Fill(muonsCutOnPt[1]->dxy());
342  }
343  }
344 }
void Fill(long long x)
double pt() const
track transverse momentum
Definition: TrackBase.h:637
int iEvent
Definition: GenABIO.cc:224
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
StringCutObjectSelector< reco::Track, true > muonSelectionDxy_
StringCutObjectSelector< reco::Track, true > muonSelectionGeneral_
MonitorElement * denominator
MonitorElement * numerator
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
def ls(path, rec=False)
Definition: eostools.py:349
StringCutObjectSelector< reco::Track, true > muonSelectionPt_
edm::EDGetTokenT< reco::TrackCollection > muonToken_

◆ bookHistograms()

void DiDispStaMuonMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 103 of file DiDispStaMuonMonitor.cc.

References TriggerDQMBase::bookME(), den_genTriggerEventFlag_, folderName_, hltPathsAreValid_, ls_binning_, muonDxy_binning_, muonDxyME_, muonEta_binning_, muonEtaME_, muonPhi_binning_, muonPhiME_, muonPt_binning_, muonPt_variable_binning_, muonPtME_, muonPtME_variableBinning_, muonPtNoDxyCutME_, muonPtVsLS_, TriggerDQMBase::MEbinning::nbins, nmuons_, num_genTriggerEventFlag_, requireValidHLTPaths_, dqm::implementation::NavigatorBase::setCurrentFolder(), TriggerDQMBase::setMETitle(), AlCaHLTBitMon_QueryRunRegistry::string, subMuonDxyME_, subMuonEtaME_, subMuonPhiME_, subMuonPtME_, subMuonPtME_variableBinning_, TriggerDQMBase::MEbinning::xmax, and TriggerDQMBase::MEbinning::xmin.

105  {
106  // Initialize the GenericTriggerEventFlag
108  num_genTriggerEventFlag_->initRun(iRun, iSetup);
109  }
111  den_genTriggerEventFlag_->initRun(iRun, iSetup);
112  }
113 
114  // check if every HLT path specified in numerator and denominator has a valid match in the HLT Menu
116  den_genTriggerEventFlag_->on() && num_genTriggerEventFlag_->allHLTPathsAreValid() &&
117  den_genTriggerEventFlag_->allHLTPathsAreValid());
118 
119  // if valid HLT paths are required,
120  // create DQM outputs only if all paths are valid
122  return;
123  }
124 
125  std::string histname, histtitle;
126 
127  std::string currentFolder = folderName_;
128  ibooker.setCurrentFolder(currentFolder);
129 
130  histname = "muonPt";
131  histtitle = "muonPt";
132 
133  bookME(ibooker, muonPtME_, histname, histtitle, muonPt_binning_.nbins, muonPt_binning_.xmin, muonPt_binning_.xmax);
134  setMETitle(muonPtME_, "DisplacedStandAlone Muon p_{T} [GeV]", "Events / [GeV]");
135 
136  histname = "muonPtNoDxyCut";
137  histtitle = "muonPtNoDxyCut";
138  bookME(ibooker,
140  histname,
141  histtitle,
145  setMETitle(muonPtNoDxyCutME_, "DisplacedStandAlone Muon p_{T} [GeV] without Dxy cut", "Events / [GeV]");
146 
147  histname = "muonPt_variable";
148  histtitle = "muonPt";
149  bookME(ibooker, muonPtME_variableBinning_, histname, histtitle, muonPt_variable_binning_);
150  setMETitle(muonPtME_variableBinning_, "DisplacedStandAlone Muon p_{T} [GeV]", "Events / [GeV]");
151 
152  histname = "muonPtVsLS";
153  histtitle = "muonPt vs LS";
154  bookME(ibooker,
155  muonPtVsLS_,
156  histname,
157  histtitle,
163  setMETitle(muonPtVsLS_, "LS", "DisplacedStandAlone Muon p_{T} [GeV]");
164 
165  histname = "muonEta";
166  histtitle = "muonEta";
167  bookME(
168  ibooker, muonEtaME_, histname, histtitle, muonEta_binning_.nbins, muonEta_binning_.xmin, muonEta_binning_.xmax);
169  setMETitle(muonEtaME_, "DisplacedStandAlone Muon #eta", "Events");
170 
171  histname = "muonPhi";
172  histtitle = "muonPhi";
173  bookME(
174  ibooker, muonPhiME_, histname, histtitle, muonPhi_binning_.nbins, muonPhi_binning_.xmin, muonPhi_binning_.xmax);
175  setMETitle(muonPhiME_, "DisplacedStandAlone Muon #phi", "Events");
176 
177  histname = "muonDxy";
178  histtitle = "muonDxy";
179  bookME(
180  ibooker, muonDxyME_, histname, histtitle, muonDxy_binning_.nbins, muonDxy_binning_.xmin, muonDxy_binning_.xmax);
181  setMETitle(muonDxyME_, "DisplacedStandAlone Muon #dxy", "Events");
182 
183  if (nmuons_ > 1) {
184  histname = "subMuonPt";
185  histtitle = "subMuonPt";
186  bookME(
187  ibooker, subMuonPtME_, histname, histtitle, muonPt_binning_.nbins, muonPt_binning_.xmin, muonPt_binning_.xmax);
188  setMETitle(subMuonPtME_, "Subleading DisplacedStandAlone Muon p_{T} [GeV]", "Events / [GeV]");
189 
190  histname = "subMuonPt_variable";
191  histtitle = "subMuonPt";
192  bookME(ibooker, subMuonPtME_variableBinning_, histname, histtitle, muonPt_variable_binning_);
193  setMETitle(subMuonPtME_variableBinning_, "Subleading DisplacedStandAlone Muon p_{T} [GeV]", "Events / [GeV]");
194 
195  histname = "subMuonEta";
196  histtitle = "subMuonEta";
197  bookME(ibooker,
199  histname,
200  histtitle,
204  setMETitle(subMuonEtaME_, "Subleading DisplacedStandAlone Muon #eta", "Events");
205 
206  histname = "subMuonPhi";
207  histtitle = "subMuonPhi";
208  bookME(ibooker,
210  histname,
211  histtitle,
215  setMETitle(subMuonPhiME_, "Subleading DisplacedStandAlone Muon #phi", "Events");
216 
217  histname = "subMuonDxy";
218  histtitle = "subMuonDxy";
219  bookME(ibooker,
221  histname,
222  histtitle,
226  setMETitle(subMuonDxyME_, "Subleading DisplacedStandAlone Muon #dxy", "Events");
227  }
228 }
std::vector< double > muonPt_variable_binning_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
const std::string folderName_
void setMETitle(ObjME &me, const std::string &titleX, const std::string &titleY)
std::unique_ptr< GenericTriggerEventFlag > num_genTriggerEventFlag_
std::unique_ptr< GenericTriggerEventFlag > den_genTriggerEventFlag_
void bookME(DQMStore::IBooker &, ObjME &me, const std::string &histname, const std::string &histtitle, const uint nbins, const double xmin, const double xmax, const bool bookDen=true)

◆ fillDescriptions()

void DiDispStaMuonMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 346 of file DiDispStaMuonMonitor.cc.

References edm::ConfigurationDescriptions::add(), trigObjTnPSource_cfi::bins, submitPVResolutionJobs::desc, TriggerDQMBase::fillHistoPSetDescription(), GenericTriggerEventFlag::fillPSetDescription(), SiStripSourceConfigTier0_cff::genericTriggerEventPSet, V0Monitor_cff::histoPSet, HLT_2022v15_cff::InputTag, V0Monitor_cfi::lsPSet, DiDispStaMuonMonitor_cfi::muonDxyPSet, DiDispStaMuonMonitor_cfi::muonEtaPSet, DiDispStaMuonMonitor_cfi::muonPhiPSet, DiDispStaMuonMonitor_cfi::muonPtPSet, TopMuEGSkim_cff::muonSelection, and AlCaHLTBitMon_QueryRunRegistry::string.

346  {
348  desc.add<std::string>("FolderName", "HLT/EXO/DiDispStaMuon");
349  desc.add<bool>("requireValidHLTPaths", true);
350 
351  desc.add<edm::InputTag>("muons", edm::InputTag("displacedStandAloneMuons"));
352  desc.add<unsigned int>("nmuons", 2);
353 
355  muonSelection.add<std::string>("general", "pt > 0");
356  muonSelection.add<std::string>("pt", "");
357  muonSelection.add<std::string>("dxy", "pt > 0");
358  desc.add<edm::ParameterSetDescription>("muonSelection", muonSelection);
359 
362  desc.add<edm::ParameterSetDescription>("numGenericTriggerEventPSet", genericTriggerEventPSet);
363  desc.add<edm::ParameterSetDescription>("denGenericTriggerEventPSet", genericTriggerEventPSet);
364 
381  std::vector<double> bins = {0., 20., 40., 60., 80., 90., 100., 110., 120., 130., 140., 150., 160.,
382  170., 180., 190., 200., 220., 240., 260., 280., 300., 350., 400., 450., 1000.};
383  histoPSet.add<std::vector<double>>("muonPtBinning", bins);
384 
385  desc.add<edm::ParameterSetDescription>("histoPSet", histoPSet);
386 
387  descriptions.add("DiDispStaMuonMonitoring", desc);
388 }
muonSelection
MU SELECTION #########################.
static void fillHistoPSetDescription(edm::ParameterSetDescription &pset)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillPSetDescription(edm::ParameterSetDescription &desc)

Member Data Documentation

◆ den_genTriggerEventFlag_

std::unique_ptr<GenericTriggerEventFlag> DiDispStaMuonMonitor::den_genTriggerEventFlag_
private

Definition at line 58 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~DiDispStaMuonMonitor().

◆ folderName_

const std::string DiDispStaMuonMonitor::folderName_
private

Definition at line 30 of file DiDispStaMuonMonitor.cc.

Referenced by bookHistograms().

◆ hltPathsAreValid_

bool DiDispStaMuonMonitor::hltPathsAreValid_
private

Definition at line 33 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ ls_binning_

MEbinning DiDispStaMuonMonitor::ls_binning_
private

Definition at line 42 of file DiDispStaMuonMonitor.cc.

Referenced by bookHistograms().

◆ muonDxy_binning_

MEbinning DiDispStaMuonMonitor::muonDxy_binning_
private

Definition at line 41 of file DiDispStaMuonMonitor.cc.

Referenced by bookHistograms().

◆ muonDxyME_

ObjME DiDispStaMuonMonitor::muonDxyME_
private

Definition at line 50 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muonEta_binning_

MEbinning DiDispStaMuonMonitor::muonEta_binning_
private

Definition at line 39 of file DiDispStaMuonMonitor.cc.

Referenced by bookHistograms().

◆ muonEtaME_

ObjME DiDispStaMuonMonitor::muonEtaME_
private

Definition at line 48 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muonPhi_binning_

MEbinning DiDispStaMuonMonitor::muonPhi_binning_
private

Definition at line 40 of file DiDispStaMuonMonitor.cc.

Referenced by bookHistograms().

◆ muonPhiME_

ObjME DiDispStaMuonMonitor::muonPhiME_
private

Definition at line 49 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muonPt_binning_

MEbinning DiDispStaMuonMonitor::muonPt_binning_
private

Definition at line 38 of file DiDispStaMuonMonitor.cc.

Referenced by bookHistograms().

◆ muonPt_variable_binning_

std::vector<double> DiDispStaMuonMonitor::muonPt_variable_binning_
private

Definition at line 37 of file DiDispStaMuonMonitor.cc.

Referenced by bookHistograms().

◆ muonPtME_

ObjME DiDispStaMuonMonitor::muonPtME_
private

Definition at line 44 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muonPtME_variableBinning_

ObjME DiDispStaMuonMonitor::muonPtME_variableBinning_
private

Definition at line 46 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muonPtNoDxyCutME_

ObjME DiDispStaMuonMonitor::muonPtNoDxyCutME_
private

Definition at line 45 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muonPtVsLS_

ObjME DiDispStaMuonMonitor::muonPtVsLS_
private

Definition at line 47 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ muonSelectionDxy_

StringCutObjectSelector<reco::Track, true> DiDispStaMuonMonitor::muonSelectionDxy_
private

Definition at line 62 of file DiDispStaMuonMonitor.cc.

Referenced by analyze().

◆ muonSelectionGeneral_

StringCutObjectSelector<reco::Track, true> DiDispStaMuonMonitor::muonSelectionGeneral_
private

Definition at line 60 of file DiDispStaMuonMonitor.cc.

Referenced by analyze().

◆ muonSelectionPt_

StringCutObjectSelector<reco::Track, true> DiDispStaMuonMonitor::muonSelectionPt_
private

Definition at line 61 of file DiDispStaMuonMonitor.cc.

Referenced by analyze().

◆ muonToken_

edm::EDGetTokenT<reco::TrackCollection> DiDispStaMuonMonitor::muonToken_
private

Definition at line 35 of file DiDispStaMuonMonitor.cc.

Referenced by analyze().

◆ nmuons_

unsigned int DiDispStaMuonMonitor::nmuons_
private

Definition at line 64 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ num_genTriggerEventFlag_

std::unique_ptr<GenericTriggerEventFlag> DiDispStaMuonMonitor::num_genTriggerEventFlag_
private

Definition at line 57 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), bookHistograms(), and ~DiDispStaMuonMonitor().

◆ requireValidHLTPaths_

const bool DiDispStaMuonMonitor::requireValidHLTPaths_
private

Definition at line 32 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ subMuonDxyME_

ObjME DiDispStaMuonMonitor::subMuonDxyME_
private

Definition at line 55 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ subMuonEtaME_

ObjME DiDispStaMuonMonitor::subMuonEtaME_
private

Definition at line 53 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ subMuonPhiME_

ObjME DiDispStaMuonMonitor::subMuonPhiME_
private

Definition at line 54 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ subMuonPtME_

ObjME DiDispStaMuonMonitor::subMuonPtME_
private

Definition at line 51 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().

◆ subMuonPtME_variableBinning_

ObjME DiDispStaMuonMonitor::subMuonPtME_variableBinning_
private

Definition at line 52 of file DiDispStaMuonMonitor.cc.

Referenced by analyze(), and bookHistograms().