CMS 3D CMS Logo

HLTMuonMatchAndPlot.h
Go to the documentation of this file.
1 #ifndef DQMOffline_Trigger_HLTMuonMatchAndPlot_H
2 #define DQMOffline_Trigger_HLTMuonMatchAndPlot_H
3 
16 // Base Class Headers
17 
23 
25 
37 
39 
40 #include <vector>
41 #include "TFile.h"
42 #include "TNtuple.h"
43 #include "TString.h"
44 #include "TPRegexp.h"
45 
48 
50 
51 const double NOMATCH = 999.;
52 const std::string EFFICIENCY_SUFFIXES[2] = {"denom", "numer"};
53 
56 
58 public:
61 
64 
65  // Analyzer Methods
66  void beginRun(DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &);
72  const edm::TriggerNames &);
73  void endRun(const edm::Run &, const edm::EventSetup &);
74 
75  // Helper Methods
76  void fillEdges(size_t &nBins, float *&edges, const std::vector<double> &binning);
77  template <class T>
78  void fillMapFromPSet(std::map<std::string, T> &, const edm::ParameterSet &, const std::string &);
79  template <class T1, class T2>
80  std::vector<size_t> matchByDeltaR(const std::vector<T1> &, const std::vector<T2> &, const double maxDeltaR = NOMATCH);
81 
82 private:
83  // Internal Methods
85  void book2D(DQMStore::IBooker &, const std::string &, const std::string &, const std::string &, const std::string &);
87  const reco::BeamSpot &,
88  bool,
90  double,
91  double);
92 
95  const trigger::TriggerEvent &,
96  bool hasTriggerCuts,
98 
99  // Input from Configuration File
102  std::vector<std::string> requiredTriggers_;
103  std::map<std::string, std::vector<double> > binParams_;
104  std::map<std::string, double> plotCuts_;
107 
108  // Member Variables
110  unsigned int cutMinPt_;
114  std::map<std::string, MonitorElement *> hists_;
115 
116  // Selectors
119 
121  double targetZ0Cut_;
122  double targetD0Cut_;
126  double probeZ0Cut_;
127  double probeD0Cut_;
128 
131 };
132 
133 #endif
NOMATCH
const double NOMATCH
Definition: HLTMuonMatchAndPlot.h:51
HLTMuonMatchAndPlot::probeZ0Cut_
double probeZ0Cut_
Definition: HLTMuonMatchAndPlot.h:126
Handle.h
HLTMuonMatchAndPlot::MonitorElement
dqm::legacy::MonitorElement MonitorElement
Definition: HLTMuonMatchAndPlot.h:60
Muon.h
TriggerResults.h
HLTMuonMatchAndPlot::hltPath_
std::string hltPath_
Definition: HLTMuonMatchAndPlot.h:111
HLTMuonMatchAndPlot::moduleLabel_
std::string moduleLabel_
Definition: HLTMuonMatchAndPlot.h:112
HLTMuonMatchAndPlot::requiredTriggers_
std::vector< std::string > requiredTriggers_
Definition: HLTMuonMatchAndPlot.h:102
edm::Run
Definition: Run.h:45
TriggerEvent.h
TriggerEventWithRefs.h
HLTMuonMatchAndPlot::beginRun
void beginRun(DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &)
Definition: HLTMuonMatchAndPlot.cc:85
DQMStore.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
HLTMuonMatchAndPlot::probeParams_
edm::ParameterSet probeParams_
Definition: HLTMuonMatchAndPlot.h:106
edm::Handle< reco::MuonCollection >
HLTMuonMatchAndPlot::selectedTriggerObjects
trigger::TriggerObjectCollection selectedTriggerObjects(const trigger::TriggerObjectCollection &, const trigger::TriggerEvent &, bool hasTriggerCuts, const StringCutObjectSelector< trigger::TriggerObject > &triggerSelector)
Definition: HLTMuonMatchAndPlot.cc:686
HLTMuonMatchAndPlot
Definition: HLTMuonMatchAndPlot.h:57
MakerMacros.h
HLTMuonMatchAndPlot::book2D
void book2D(DQMStore::IBooker &, const std::string &, const std::string &, const std::string &, const std::string &)
Definition: HLTMuonMatchAndPlot.cc:730
HLTMuonMatchAndPlot::targetZ0Cut_
double targetZ0Cut_
Definition: HLTMuonMatchAndPlot.h:121
dqm::legacy::DQMStore
Definition: DQMStore.h:727
BeamSpot.h
HLTMuonMatchAndPlot::book1D
void book1D(DQMStore::IBooker &, std::string, const std::string &, std::string)
Definition: HLTMuonMatchAndPlot.cc:711
MuonFwd.h
reco::MuonCollection
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
reco::BeamSpot
Definition: BeamSpot.h:21
HLTMuonMatchAndPlot::targetptCutZ_
double targetptCutZ_
Definition: HLTMuonMatchAndPlot.h:123
HLTMuonMatchAndPlot::targetMuonSelector_
StringCutObjectSelector< reco::Muon > targetMuonSelector_
Definition: HLTMuonMatchAndPlot.h:120
HLTMuonMatchAndPlot::probeD0Cut_
double probeD0Cut_
Definition: HLTMuonMatchAndPlot.h:127
HLTMuonMatchAndPlot::hltProcessName_
std::string hltProcessName_
Definition: HLTMuonMatchAndPlot.h:100
seedmultiplicitymonitor_newtracking_cfi.nBins
nBins
Definition: seedmultiplicitymonitor_newtracking_cfi.py:8
HLTMuonMatchAndPlot::binParams_
std::map< std::string, std::vector< double > > binParams_
Definition: HLTMuonMatchAndPlot.h:103
HLTMuonMatchAndPlot::targetD0Cut_
double targetD0Cut_
Definition: HLTMuonMatchAndPlot.h:122
HLTMuonMatchAndPlot::analyze
void analyze(edm::Handle< reco::MuonCollection > &, edm::Handle< reco::BeamSpot > &, edm::Handle< reco::VertexCollection > &, edm::Handle< trigger::TriggerEvent > &, edm::Handle< edm::TriggerResults > &, const edm::TriggerNames &)
Definition: HLTMuonMatchAndPlot.cc:203
HLTMuonMatchAndPlot::isLastFilter_
bool isLastFilter_
Definition: HLTMuonMatchAndPlot.h:113
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Vertex.h
HLTMuonMatchAndPlot::fillEdges
void fillEdges(size_t &nBins, float *&edges, const std::vector< double > &binning)
Definition: HLTMuonMatchAndPlot.cc:571
HLTMuonMatchAndPlot::DQMStore
dqm::legacy::DQMStore DQMStore
Definition: HLTMuonMatchAndPlot.h:59
edm::ParameterSet
Definition: ParameterSet.h:47
HLTMuonMatchAndPlot::targetptCutJpsi_
double targetptCutJpsi_
Definition: HLTMuonMatchAndPlot.h:124
HLTMuonMatchAndPlot::hasTargetRecoCuts
bool hasTargetRecoCuts
Definition: HLTMuonMatchAndPlot.h:117
Event.h
listHistos.binning
binning
Definition: listHistos.py:43
deltaR.h
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
HLTMuonMatchAndPlot::matchByDeltaR
std::vector< size_t > matchByDeltaR(const std::vector< T1 > &, const std::vector< T2 > &, const double maxDeltaR=NOMATCH)
LorentzVector.h
HLTMuonMatchAndPlot::selectedMuons
reco::MuonCollection selectedMuons(const reco::MuonCollection &, const reco::BeamSpot &, bool, const StringCutObjectSelector< reco::Muon > &, double, double)
Definition: HLTMuonMatchAndPlot.cc:661
HLTMuonMatchAndPlot::destination_
std::string destination_
Definition: HLTMuonMatchAndPlot.h:101
HLTMuonMatchAndPlot::cutMinPt_
unsigned int cutMinPt_
Definition: HLTMuonMatchAndPlot.h:110
HLTMuonMatchAndPlot::hasProbeRecoCuts
bool hasProbeRecoCuts
Definition: HLTMuonMatchAndPlot.h:118
edm::EventSetup
Definition: EventSetup.h:58
trigger::TriggerEvent
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
SelectiveReadoutTask_cfi.edges
edges
Definition: SelectiveReadoutTask_cfi.py:107
HLTMuonMatchAndPlot::fillMapFromPSet
void fillMapFromPSet(std::map< std::string, T > &, const edm::ParameterSet &, const std::string &)
TriggerObject.h
HLTMuonMatchAndPlot::hists_
std::map< std::string, MonitorElement * > hists_
Definition: HLTMuonMatchAndPlot.h:114
InputTag.h
VertexFwd.h
StringCutObjectSelector.h
HLTMuonMatchAndPlot::hasTriggerCuts_
bool hasTriggerCuts_
Definition: HLTMuonMatchAndPlot.h:130
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
ewkMuLumiMonitorDQM_cfi.maxDeltaR
maxDeltaR
Definition: ewkMuLumiMonitorDQM_cfi.py:44
LorentzVector
math::XYZTLorentzVector LorentzVector
Definition: HLTMuonMatchAndPlot.h:49
StringCutObjectSelector< reco::Muon >
edm::TriggerNames
Definition: TriggerNames.h:55
HLTMuonMatchAndPlot::triggerLevel_
std::string triggerLevel_
Definition: HLTMuonMatchAndPlot.h:109
dqm::implementation::IBooker
Definition: DQMStore.h:43
HLTMuonMatchAndPlot::probeMuonSelector_
StringCutObjectSelector< reco::Muon > probeMuonSelector_
Definition: HLTMuonMatchAndPlot.h:125
HLTMuonMatchAndPlot::endRun
void endRun(const edm::Run &, const edm::EventSetup &)
Definition: HLTMuonMatchAndPlot.cc:201
ParameterSet.h
HLTMuonMatchAndPlot::targetParams_
edm::ParameterSet targetParams_
Definition: HLTMuonMatchAndPlot.h:105
HLTMuonMatchAndPlot::HLTMuonMatchAndPlot
HLTMuonMatchAndPlot(const edm::ParameterSet &, std::string, std::string, bool)
Constructor.
Definition: HLTMuonMatchAndPlot.cc:37
EFFICIENCY_SUFFIXES
const std::string EFFICIENCY_SUFFIXES[2]
Definition: HLTMuonMatchAndPlot.h:52
HLTMuonMatchAndPlot::plotCuts_
std::map< std::string, double > plotCuts_
Definition: HLTMuonMatchAndPlot.h:104
HLTMuonMatchAndPlot::triggerSelector_
StringCutObjectSelector< trigger::TriggerObject > triggerSelector_
Definition: HLTMuonMatchAndPlot.h:129