CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
MuonRecoOneHLT Class Reference

#include <MuonRecoOneHLT.h>

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

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 MuonRecoOneHLT (const edm::ParameterSet &)
 Constructor. More...
 
 ~MuonRecoOneHLT () override
 Destructor. More...
 
- 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
 

Private Attributes

GenericTriggerEventFlag_DoubleMuonEventFlag
 
GenericTriggerEventFlag_SingleMuonEventFlag
 
int chi2Bin
 
float chi2Max
 
float chi2Min
 
std::vector< MonitorElement * > chi2OvDFGlbTrack
 
MonitorElementchi2OvDFStaTrack
 
MonitorElementchi2OvDFTight
 
MonitorElementchi2OvDFTrack
 
std::vector< std::string > doublemuonExpr_
 
int etaBin
 
std::vector< MonitorElement * > etaGlbTrack
 
float etaMax
 
float etaMin
 
MonitorElementetaStaTrack
 
MonitorElementetaTight
 
MonitorElementetaTrack
 
std::string metname
 
MonitorElementmuReco
 
edm::ParameterSet parameters
 
int phiBin
 
std::vector< MonitorElement * > phiGlbTrack
 
float phiMax
 
float phiMin
 
MonitorElementphiStaTrack
 
MonitorElementphiTight
 
MonitorElementphiTrack
 
int ptBin
 
std::vector< MonitorElement * > ptGlbTrack
 
float ptMax
 
float ptMin
 
MonitorElementptStaTrack
 
MonitorElementptTight
 
MonitorElementptTrack
 
std::vector< std::string > singlemuonExpr_
 
edm::EDGetTokenT< reco::BeamSpottheBeamSpotLabel_
 
edm::EDGetTokenT< reco::MuonCollectiontheMuonCollectionLabel_
 
edm::EDGetTokenT< edm::TriggerResultstheTriggerResultsLabel_
 
edm::EDGetTokenT< reco::VertexCollectiontheVertexLabel_
 

Additional Inherited Members

- 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
 
- 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 Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 43 of file MuonRecoOneHLT.h.

Constructor & Destructor Documentation

◆ MuonRecoOneHLT()

MuonRecoOneHLT::MuonRecoOneHLT ( const edm::ParameterSet pSet)

Constructor.

Definition at line 13 of file MuonRecoOneHLT.cc.

References muonRecoAnalyzer_cfi::chi2Bin, muonRecoAnalyzer_cfi::chi2Max, muonRecoAnalyzer_cfi::chi2Min, muonRecoAnalyzer_cfi::etaBin, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, edm::ParameterSet::getParameter(), BeamMonitor_cff::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, muonRecoAnalyzer_cfi::ptBin, AlignmentTrackSelector_cfi::ptMax, ptMin, and l1t::Run.

13  {
14  parameters = pSet;
15 
16  ParameterSet muonparms = parameters.getParameter<edm::ParameterSet>("SingleMuonTrigger");
17  ParameterSet dimuonparms = parameters.getParameter<edm::ParameterSet>("DoubleMuonTrigger");
18  _SingleMuonEventFlag = new GenericTriggerEventFlag(muonparms, consumesCollector(), *this, l1t::UseEventSetupIn::Run);
20  new GenericTriggerEventFlag(dimuonparms, consumesCollector(), *this, l1t::UseEventSetupIn::Run);
21 
22  // Trigger Expresions in case de connection to the DB fails
23  singlemuonExpr_ = muonparms.getParameter<std::vector<std::string> >("hltPaths");
24  doublemuonExpr_ = dimuonparms.getParameter<std::vector<std::string> >("hltPaths");
25 
26  theMuonCollectionLabel_ = consumes<reco::MuonCollection>(parameters.getParameter<edm::InputTag>("MuonCollection"));
27  theVertexLabel_ = consumes<reco::VertexCollection>(parameters.getParameter<edm::InputTag>("VertexLabel"));
28  theBeamSpotLabel_ = mayConsume<reco::BeamSpot>(parameters.getParameter<edm::InputTag>("BeamSpotLabel"));
29  theTriggerResultsLabel_ = consumes<TriggerResults>(parameters.getParameter<InputTag>("TriggerResultsLabel"));
30 
31  // Parameters
32  etaBin = parameters.getParameter<int>("etaBin");
33  etaMin = parameters.getParameter<double>("etaMin");
34  etaMax = parameters.getParameter<double>("etaMax");
35  ptBin = parameters.getParameter<int>("ptBin");
36  ptMin = parameters.getParameter<double>("ptMin");
37  ptMax = parameters.getParameter<double>("ptMax");
38  chi2Bin = parameters.getParameter<int>("chi2Bin");
39  chi2Min = parameters.getParameter<double>("chi2Min");
40  chi2Max = parameters.getParameter<double>("chi2Max");
41  phiBin = parameters.getParameter<int>("phiBin");
42  phiMin = parameters.getParameter<double>("phiMin");
43  phiMax = parameters.getParameter<double>("phiMax");
44 }
edm::EDGetTokenT< edm::TriggerResults > theTriggerResultsLabel_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::ParameterSet parameters
edm::EDGetTokenT< reco::BeamSpot > theBeamSpotLabel_
GenericTriggerEventFlag * _DoubleMuonEventFlag
edm::EDGetTokenT< reco::VertexCollection > theVertexLabel_
GenericTriggerEventFlag * _SingleMuonEventFlag
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
std::vector< std::string > doublemuonExpr_
std::vector< std::string > singlemuonExpr_
edm::EDGetTokenT< reco::MuonCollection > theMuonCollectionLabel_

◆ ~MuonRecoOneHLT()

MuonRecoOneHLT::~MuonRecoOneHLT ( )
override

Destructor.

Definition at line 45 of file MuonRecoOneHLT.cc.

45  {
46  delete _SingleMuonEventFlag;
47  delete _DoubleMuonEventFlag;
48 }
GenericTriggerEventFlag * _DoubleMuonEventFlag
GenericTriggerEventFlag * _SingleMuonEventFlag

Member Function Documentation

◆ analyze()

void MuonRecoOneHLT::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 125 of file MuonRecoOneHLT.cc.

References cms::cuda::bs, gather_cfg::cout, relativeConstraints::error, mps_fire::i, iEvent, muon::isTightMuon(), LogTrace, metname, PDWG_BPHSkim_cff::muons, position, susybsm::HSCParticleType::standAloneMuon, HLT_2023v12_cff::track, L1TEGammaOffline_cfi::triggerNames, triggerResults, bphysicsOniaDQM_cfi::vertex, and L1BJetProducer_cff::vtx.

125  {
126  // =================================================================================
127  // Look for the Primary Vertex (and use the BeamSpot instead, if you can't find it):
128  reco::Vertex::Point posVtx;
129  reco::Vertex::Error errVtx;
130  unsigned int theIndexOfThePrimaryVertex = 999.;
131 
133  iEvent.getByToken(theVertexLabel_, vertex);
134  if (vertex.isValid()) {
135  for (unsigned int ind = 0; ind < vertex->size(); ++ind) {
136  if ((*vertex)[ind].isValid() && !((*vertex)[ind].isFake())) {
137  theIndexOfThePrimaryVertex = ind;
138  break;
139  }
140  }
141  }
142 
143  if (theIndexOfThePrimaryVertex < 100) {
144  posVtx = ((*vertex)[theIndexOfThePrimaryVertex]).position();
145  errVtx = ((*vertex)[theIndexOfThePrimaryVertex]).error();
146  } else {
147  LogInfo("RecoMuonValidator") << "reco::PrimaryVertex not found, use BeamSpot position instead\n";
148 
149  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
150  iEvent.getByToken(theBeamSpotLabel_, recoBeamSpotHandle);
151  const reco::BeamSpot& bs = *recoBeamSpotHandle;
152 
153  posVtx = bs.position();
154  errVtx(0, 0) = bs.BeamWidthX();
155  errVtx(1, 1) = bs.BeamWidthY();
156  errVtx(2, 2) = bs.sigmaZ();
157  }
158 
159  const reco::Vertex vtx(posVtx, errVtx);
160 
161  // ==========================================================
162  // READ DATA:
164  iEvent.getByToken(theMuonCollectionLabel_, muons);
165 
168 
169  // check if muon collection is valid
170  if (!muons.isValid())
171  return;
172 
173  // Pick the leading lepton.
174  std::map<float, const reco::Muon*> muonMap;
175  for (reco::MuonCollection::const_iterator recoMu = muons->begin(); recoMu != muons->end(); ++recoMu) {
176  muonMap[recoMu->pt()] = &*recoMu;
177  }
178  std::vector<const reco::Muon*> LeadingMuon;
179  for (std::map<float, const reco::Muon*>::reverse_iterator rit = muonMap.rbegin(); rit != muonMap.rend(); ++rit) {
180  LeadingMuon.push_back((*rit).second);
181  }
182 
183  // Pick Trigger information.
184  const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
185  const unsigned int nTrig(triggerNames.size());
186  bool _trig_SingleMu = false;
187  bool _trig_DoubleMu = false;
188  for (unsigned int i = 0; i < nTrig; ++i) {
189  if (triggerNames.triggerName(i).find(singlemuonExpr_[0].substr(0, singlemuonExpr_[0].rfind("_v") + 2)) !=
190  std::string::npos &&
191  triggerResults->accept(i))
192  _trig_SingleMu = true;
193  if (triggerNames.triggerName(i).find(doublemuonExpr_[0].substr(0, doublemuonExpr_[0].rfind("_v") + 2)) !=
194  std::string::npos &&
195  triggerResults->accept(i))
196  _trig_DoubleMu = true;
197  }
198 #ifdef DEBUG
199  cout << "[MuonRecoOneHLT] Trigger Fired ? " << (_trig_SingleMu || _trig_DoubleMu) << endl;
200 #endif
201 
202  if (!_trig_SingleMu && !_trig_DoubleMu)
203  return;
204  if (LeadingMuon.empty())
205  return;
206  // if (_MuonEventFlag->on() && !(_MuonEventFlag->accept(iEvent,iSetup))) return;
207 
208  // Check if Muon is Global
209  if ((*LeadingMuon[0]).isGlobalMuon()) {
210  LogTrace(metname) << "[MuonRecoOneHLT] The mu is global - filling the histos";
211  if ((*LeadingMuon[0]).isTrackerMuon() && (*LeadingMuon[0]).isStandAloneMuon())
212  muReco->Fill(1);
213  if (!((*LeadingMuon[0]).isTrackerMuon()) && (*LeadingMuon[0]).isStandAloneMuon())
214  muReco->Fill(2);
215  if (!(*LeadingMuon[0]).isStandAloneMuon())
216  LogTrace(metname) << "[MuonRecoOneHLT] ERROR: the mu is global but not standalone!";
217 
218  // get the track combinig the information from both the Tracker and the Spectrometer
219  reco::TrackRef recoCombinedGlbTrack = (*LeadingMuon[0]).combinedMuon();
220  // get the track using only the tracker data
221  reco::TrackRef recoTkGlbTrack = (*LeadingMuon[0]).track();
222  // get the track using only the mu spectrometer data
223  reco::TrackRef recoStaGlbTrack = (*LeadingMuon[0]).standAloneMuon();
224 
225  etaGlbTrack[0]->Fill(recoCombinedGlbTrack->eta());
226  etaGlbTrack[1]->Fill(recoTkGlbTrack->eta());
227  etaGlbTrack[2]->Fill(recoStaGlbTrack->eta());
228 
229  phiGlbTrack[0]->Fill(recoCombinedGlbTrack->phi());
230  phiGlbTrack[1]->Fill(recoTkGlbTrack->phi());
231  phiGlbTrack[2]->Fill(recoStaGlbTrack->phi());
232 
233  chi2OvDFGlbTrack[0]->Fill(recoCombinedGlbTrack->normalizedChi2());
234  chi2OvDFGlbTrack[1]->Fill(recoTkGlbTrack->normalizedChi2());
235  chi2OvDFGlbTrack[2]->Fill(recoStaGlbTrack->normalizedChi2());
236 
237  ptGlbTrack[0]->Fill(recoCombinedGlbTrack->pt());
238  ptGlbTrack[1]->Fill(recoTkGlbTrack->pt());
239  ptGlbTrack[2]->Fill(recoStaGlbTrack->pt());
240  }
241  // Check if Muon is Tight
242  if (muon::isTightMuon((*LeadingMuon[0]), vtx)) {
243  LogTrace(metname) << "[MuonRecoOneHLT] The mu is tracker only - filling the histos";
244 
245  reco::TrackRef recoCombinedGlbTrack = (*LeadingMuon[0]).combinedMuon();
246 
247  etaTight->Fill(recoCombinedGlbTrack->eta());
248  phiTight->Fill(recoCombinedGlbTrack->phi());
249  chi2OvDFTight->Fill(recoCombinedGlbTrack->normalizedChi2());
250  ptTight->Fill(recoCombinedGlbTrack->pt());
251  }
252 
253  // Check if Muon is Tracker but NOT Global
254  if ((*LeadingMuon[0]).isTrackerMuon() && !((*LeadingMuon[0]).isGlobalMuon())) {
255  LogTrace(metname) << "[MuonRecoOneHLT] The mu is tracker only - filling the histos";
256  if ((*LeadingMuon[0]).isStandAloneMuon())
257  muReco->Fill(3);
258  if (!((*LeadingMuon[0]).isStandAloneMuon()))
259  muReco->Fill(4);
260 
261  // get the track using only the tracker data
262  reco::TrackRef recoTrack = (*LeadingMuon[0]).track();
263 
264  etaTrack->Fill(recoTrack->eta());
265  phiTrack->Fill(recoTrack->phi());
266  chi2OvDFTrack->Fill(recoTrack->normalizedChi2());
267  ptTrack->Fill(recoTrack->pt());
268  }
269 
270  // Check if Muon is STA but NOT Global
271  if ((*LeadingMuon[0]).isStandAloneMuon() && !((*LeadingMuon[0]).isGlobalMuon())) {
272  LogTrace(metname) << "[MuonRecoOneHLT] The mu is STA only - filling the histos";
273  if (!((*LeadingMuon[0]).isTrackerMuon()))
274  muReco->Fill(5);
275 
276  // get the track using only the mu spectrometer data
277  reco::TrackRef recoStaTrack = (*LeadingMuon[0]).standAloneMuon();
278 
279  etaStaTrack->Fill(recoStaTrack->eta());
280  phiStaTrack->Fill(recoStaTrack->phi());
281  chi2OvDFStaTrack->Fill(recoStaTrack->normalizedChi2());
282  ptStaTrack->Fill(recoStaTrack->pt());
283  }
284  // Check if Muon is Only CaloMuon
285  if ((*LeadingMuon[0]).isCaloMuon() && !((*LeadingMuon[0]).isGlobalMuon()) && !((*LeadingMuon[0]).isTrackerMuon()) &&
286  !((*LeadingMuon[0]).isStandAloneMuon()))
287  muReco->Fill(6);
288 }
edm::EDGetTokenT< edm::TriggerResults > theTriggerResultsLabel_
MonitorElement * phiTight
MonitorElement * ptTrack
edm::EDGetTokenT< reco::BeamSpot > theBeamSpotLabel_
MonitorElement * chi2OvDFTrack
edm::EDGetTokenT< reco::VertexCollection > theVertexLabel_
math::Error< dimension >::type Error
covariance error matrix (3x3)
Definition: Vertex.h:44
MonitorElement * etaTight
MonitorElement * etaStaTrack
std::string metname
#define LogTrace(id)
std::vector< std::string > doublemuonExpr_
void Fill(long long x)
int iEvent
Definition: GenABIO.cc:224
MonitorElement * chi2OvDFStaTrack
math::XYZPoint Point
point in the space
Definition: Vertex.h:40
std::vector< MonitorElement * > phiGlbTrack
static std::string const triggerResults
Definition: EdmProvDump.cc:47
MonitorElement * ptStaTrack
std::vector< std::string > singlemuonExpr_
std::vector< MonitorElement * > ptGlbTrack
MonitorElement * etaTrack
Log< level::Info, false > LogInfo
std::vector< MonitorElement * > etaGlbTrack
MonitorElement * phiTrack
edm::EDGetTokenT< reco::MuonCollection > theMuonCollectionLabel_
MonitorElement * ptTight
static int position[264][3]
Definition: ReadPGInfo.cc:289
MonitorElement * phiStaTrack
bool isTightMuon(const reco::Muon &, const reco::Vertex &)
MonitorElement * muReco
MonitorElement * chi2OvDFTight
std::vector< MonitorElement * > chi2OvDFGlbTrack

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 49 of file MuonRecoOneHLT.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::NavigatorBase::cd(), muonRecoAnalyzer_cfi::chi2Bin, muonRecoAnalyzer_cfi::chi2Max, muonRecoAnalyzer_cfi::chi2Min, gather_cfg::cout, muonRecoAnalyzer_cfi::etaBin, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, BeamMonitor_cff::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, muonRecoAnalyzer_cfi::ptBin, AlignmentTrackSelector_cfi::ptMax, ptMin, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

49  {
50 #ifdef DEBUG
51  cout << "[MuonRecoOneHLT] beginRun " << endl;
52  cout << "[MuonRecoOneHLT] Is MuonEventFlag On? " << _SingleMuonEventFlag->on() << endl;
53 #endif
54 
55  ibooker.cd();
56  ibooker.setCurrentFolder("Muons/MuonRecoOneHLT");
57 
58  muReco = ibooker.book1D("Muon_Reco", "Muon Reconstructed Tracks", 6, 1, 7);
59  muReco->setBinLabel(1, "glb+tk+sta");
60  muReco->setBinLabel(2, "glb+sta");
61  muReco->setBinLabel(3, "tk+sta");
62  muReco->setBinLabel(4, "tk");
63  muReco->setBinLabel(5, "sta");
64  muReco->setBinLabel(6, "calo");
65 
66  // monitoring of eta parameter
67  std::string histname = "GlbMuon_";
68  etaGlbTrack.push_back(ibooker.book1D(histname + "Glb_eta", "#eta_{GLB}", etaBin, etaMin, etaMax));
69  etaGlbTrack.push_back(ibooker.book1D(histname + "Tk_eta", "#eta_{TKfromGLB}", etaBin, etaMin, etaMax));
70  etaGlbTrack.push_back(ibooker.book1D(histname + "Sta_eta", "#eta_{STAfromGLB}", etaBin, etaMin, etaMax));
71  etaTight = ibooker.book1D("TightMuon_eta", "#eta_{GLB}", etaBin, etaMin, etaMax);
72  etaTrack = ibooker.book1D("TkMuon_eta", "#eta_{TK}", etaBin, etaMin, etaMax);
73  etaStaTrack = ibooker.book1D("StaMuon_eta", "#eta_{STA}", etaBin, etaMin, etaMax);
74 
75  // monitoring of phi paramater
76  phiGlbTrack.push_back(ibooker.book1D(histname + "Glb_phi", "#phi_{GLB}", phiBin, phiMin, phiMax));
77  phiGlbTrack[0]->setAxisTitle("rad");
78  phiGlbTrack.push_back(ibooker.book1D(histname + "Tk_phi", "#phi_{TKfromGLB}", phiBin, phiMin, phiMax));
79  phiGlbTrack[1]->setAxisTitle("rad");
80  phiGlbTrack.push_back(ibooker.book1D(histname + "Sta_phi", "#phi_{STAfromGLB}", phiBin, phiMin, phiMax));
81  phiGlbTrack[2]->setAxisTitle("rad");
82  phiTight = ibooker.book1D("TightMuon_phi", "#phi_{GLB}", phiBin, phiMin, phiMax);
83  phiTrack = ibooker.book1D("TkMuon_phi", "#phi_{TK}", phiBin, phiMin, phiMax);
84  phiTrack->setAxisTitle("rad");
85  phiStaTrack = ibooker.book1D("StaMuon_phi", "#phi_{STA}", phiBin, phiMin, phiMax);
86  phiStaTrack->setAxisTitle("rad");
87 
88  // monitoring of the chi2 parameter
89  chi2OvDFGlbTrack.push_back(
90  ibooker.book1D(histname + "Glb_chi2OverDf", "#chi_{2}OverDF_{GLB}", chi2Bin, chi2Min, chi2Max));
91  chi2OvDFGlbTrack.push_back(
92  ibooker.book1D(histname + "Tk_chi2OverDf", "#chi_{2}OverDF_{TKfromGLB}", phiBin, chi2Min, chi2Max));
93  chi2OvDFGlbTrack.push_back(
94  ibooker.book1D(histname + "Sta_chi2OverDf", "#chi_{2}OverDF_{STAfromGLB}", chi2Bin, chi2Min, chi2Max));
95  chi2OvDFTight = ibooker.book1D("TightMuon_chi2OverDf", "#chi_{2}OverDF_{GLB}", chi2Bin, chi2Min, chi2Max);
96  chi2OvDFTrack = ibooker.book1D("TkMuon_chi2OverDf", "#chi_{2}OverDF_{TK}", chi2Bin, chi2Min, chi2Max);
97  chi2OvDFStaTrack = ibooker.book1D("StaMuon_chi2OverDf", "#chi_{2}OverDF_{STA}", chi2Bin, chi2Min, chi2Max);
98 
99  // monitoring of the transverse momentum
100  ptGlbTrack.push_back(ibooker.book1D(histname + "Glb_pt", "pt_{GLB}", ptBin, ptMin, ptMax));
101  ptGlbTrack[0]->setAxisTitle("GeV");
102  ptGlbTrack.push_back(ibooker.book1D(histname + "Tk_pt", "pt_{TKfromGLB}", ptBin, ptMin, ptMax));
103  ptGlbTrack[1]->setAxisTitle("GeV");
104  ptGlbTrack.push_back(ibooker.book1D(histname + "Sta_pt", "pt_{STAfromGLB}", ptBin, ptMin, ptMax));
105  ptGlbTrack[2]->setAxisTitle("GeV");
106  ptTight = ibooker.book1D("TightMuon_pt", "pt_{GLB}", ptBin, ptMin, ptMax);
107  ptTight->setAxisTitle("GeV");
108  ptTrack = ibooker.book1D("TkMuon_pt", "pt_{TK}", ptBin, ptMin, ptMax);
109  ptTrack->setAxisTitle("GeV");
110  ptStaTrack = ibooker.book1D("StaMuon_pt", "pt_{STA}", ptBin, ptMin, ptMax);
111  ptStaTrack->setAxisTitle("GeV");
112 
113  if (_SingleMuonEventFlag->on())
114  _SingleMuonEventFlag->initRun(iRun, iSetup);
115  if (_DoubleMuonEventFlag->on())
116  _DoubleMuonEventFlag->initRun(iRun, iSetup);
117 
118  if (_SingleMuonEventFlag->on() &&
119  _SingleMuonEventFlag->expressionsFromDB(_SingleMuonEventFlag->hltDBKey(), iSetup)[0] != "CONFIG_ERROR")
121  if (_DoubleMuonEventFlag->on() &&
122  _DoubleMuonEventFlag->expressionsFromDB(_DoubleMuonEventFlag->hltDBKey(), iSetup)[0] != "CONFIG_ERROR")
124 }
MonitorElement * phiTight
MonitorElement * ptTrack
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
GenericTriggerEventFlag * _DoubleMuonEventFlag
MonitorElement * chi2OvDFTrack
GenericTriggerEventFlag * _SingleMuonEventFlag
MonitorElement * etaTight
MonitorElement * etaStaTrack
std::vector< std::string > expressionsFromDB(const std::string &key, const edm::EventSetup &setup)
Reads and returns logical expressions from DB.
MonitorElement * chi2OvDFStaTrack
std::vector< MonitorElement * > phiGlbTrack
MonitorElement * ptStaTrack
std::vector< std::string > singlemuonExpr_
std::vector< MonitorElement * > ptGlbTrack
virtual 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 * etaTrack
std::vector< MonitorElement * > etaGlbTrack
MonitorElement * phiTrack
MonitorElement * ptTight
MonitorElement * phiStaTrack
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * muReco
MonitorElement * chi2OvDFTight
std::vector< MonitorElement * > chi2OvDFGlbTrack
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

◆ _DoubleMuonEventFlag

GenericTriggerEventFlag* MuonRecoOneHLT::_DoubleMuonEventFlag
private

Definition at line 70 of file MuonRecoOneHLT.h.

◆ _SingleMuonEventFlag

GenericTriggerEventFlag* MuonRecoOneHLT::_SingleMuonEventFlag
private

Definition at line 69 of file MuonRecoOneHLT.h.

◆ chi2Bin

int MuonRecoOneHLT::chi2Bin
private

Definition at line 85 of file MuonRecoOneHLT.h.

◆ chi2Max

float MuonRecoOneHLT::chi2Max
private

Definition at line 87 of file MuonRecoOneHLT.h.

◆ chi2Min

float MuonRecoOneHLT::chi2Min
private

Definition at line 86 of file MuonRecoOneHLT.h.

◆ chi2OvDFGlbTrack

std::vector<MonitorElement*> MuonRecoOneHLT::chi2OvDFGlbTrack
private

Definition at line 95 of file MuonRecoOneHLT.h.

◆ chi2OvDFStaTrack

MonitorElement* MuonRecoOneHLT::chi2OvDFStaTrack
private

Definition at line 112 of file MuonRecoOneHLT.h.

◆ chi2OvDFTight

MonitorElement* MuonRecoOneHLT::chi2OvDFTight
private

Definition at line 101 of file MuonRecoOneHLT.h.

◆ chi2OvDFTrack

MonitorElement* MuonRecoOneHLT::chi2OvDFTrack
private

Definition at line 107 of file MuonRecoOneHLT.h.

◆ doublemuonExpr_

std::vector<std::string> MuonRecoOneHLT::doublemuonExpr_
private

Definition at line 68 of file MuonRecoOneHLT.h.

◆ etaBin

int MuonRecoOneHLT::etaBin
private

Definition at line 77 of file MuonRecoOneHLT.h.

◆ etaGlbTrack

std::vector<MonitorElement*> MuonRecoOneHLT::etaGlbTrack
private

Definition at line 93 of file MuonRecoOneHLT.h.

◆ etaMax

float MuonRecoOneHLT::etaMax
private

Definition at line 79 of file MuonRecoOneHLT.h.

◆ etaMin

float MuonRecoOneHLT::etaMin
private

Definition at line 78 of file MuonRecoOneHLT.h.

◆ etaStaTrack

MonitorElement* MuonRecoOneHLT::etaStaTrack
private

Definition at line 110 of file MuonRecoOneHLT.h.

◆ etaTight

MonitorElement* MuonRecoOneHLT::etaTight
private

Definition at line 99 of file MuonRecoOneHLT.h.

◆ etaTrack

MonitorElement* MuonRecoOneHLT::etaTrack
private

Definition at line 105 of file MuonRecoOneHLT.h.

◆ metname

std::string MuonRecoOneHLT::metname
private

Definition at line 59 of file MuonRecoOneHLT.h.

◆ muReco

MonitorElement* MuonRecoOneHLT::muReco
private

Definition at line 90 of file MuonRecoOneHLT.h.

◆ parameters

edm::ParameterSet MuonRecoOneHLT::parameters
private

Definition at line 56 of file MuonRecoOneHLT.h.

◆ phiBin

int MuonRecoOneHLT::phiBin
private

Definition at line 81 of file MuonRecoOneHLT.h.

◆ phiGlbTrack

std::vector<MonitorElement*> MuonRecoOneHLT::phiGlbTrack
private

Definition at line 94 of file MuonRecoOneHLT.h.

◆ phiMax

float MuonRecoOneHLT::phiMax
private

Definition at line 83 of file MuonRecoOneHLT.h.

◆ phiMin

float MuonRecoOneHLT::phiMin
private

Definition at line 82 of file MuonRecoOneHLT.h.

◆ phiStaTrack

MonitorElement* MuonRecoOneHLT::phiStaTrack
private

Definition at line 111 of file MuonRecoOneHLT.h.

◆ phiTight

MonitorElement* MuonRecoOneHLT::phiTight
private

Definition at line 100 of file MuonRecoOneHLT.h.

◆ phiTrack

MonitorElement* MuonRecoOneHLT::phiTrack
private

Definition at line 106 of file MuonRecoOneHLT.h.

◆ ptBin

int MuonRecoOneHLT::ptBin
private

Definition at line 73 of file MuonRecoOneHLT.h.

◆ ptGlbTrack

std::vector<MonitorElement*> MuonRecoOneHLT::ptGlbTrack
private

Definition at line 96 of file MuonRecoOneHLT.h.

◆ ptMax

float MuonRecoOneHLT::ptMax
private

Definition at line 75 of file MuonRecoOneHLT.h.

◆ ptMin

float MuonRecoOneHLT::ptMin
private

Definition at line 74 of file MuonRecoOneHLT.h.

◆ ptStaTrack

MonitorElement* MuonRecoOneHLT::ptStaTrack
private

Definition at line 113 of file MuonRecoOneHLT.h.

◆ ptTight

MonitorElement* MuonRecoOneHLT::ptTight
private

Definition at line 102 of file MuonRecoOneHLT.h.

◆ ptTrack

MonitorElement* MuonRecoOneHLT::ptTrack
private

Definition at line 108 of file MuonRecoOneHLT.h.

◆ singlemuonExpr_

std::vector<std::string> MuonRecoOneHLT::singlemuonExpr_
private

Definition at line 67 of file MuonRecoOneHLT.h.

◆ theBeamSpotLabel_

edm::EDGetTokenT<reco::BeamSpot> MuonRecoOneHLT::theBeamSpotLabel_
private

Definition at line 64 of file MuonRecoOneHLT.h.

◆ theMuonCollectionLabel_

edm::EDGetTokenT<reco::MuonCollection> MuonRecoOneHLT::theMuonCollectionLabel_
private

Definition at line 62 of file MuonRecoOneHLT.h.

◆ theTriggerResultsLabel_

edm::EDGetTokenT<edm::TriggerResults> MuonRecoOneHLT::theTriggerResultsLabel_
private

Definition at line 65 of file MuonRecoOneHLT.h.

◆ theVertexLabel_

edm::EDGetTokenT<reco::VertexCollection> MuonRecoOneHLT::theVertexLabel_
private

Definition at line 63 of file MuonRecoOneHLT.h.