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 
38 #include <vector>
39 #include "TFile.h"
40 #include "TNtuple.h"
41 #include "TString.h"
42 #include "TPRegexp.h"
43 
46 
48 
49 const double NOMATCH = 999.;
50 const std::string EFFICIENCY_SUFFIXES[2] = {"denom", "numer"};
51 
54 
56 public:
59 
62 
63  // Analyzer Methods
64  void beginRun(DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &);
70  const edm::TriggerNames &);
71  void endRun(const edm::Run &, const edm::EventSetup &);
72 
73  // Helper Methods
74  bool fillEdges(size_t &nBins, float *&edges, const std::vector<double> &binning);
75  template <class T>
76  void fillMapFromPSet(std::map<std::string, T> &, const edm::ParameterSet &, const std::string &);
77  template <class T1, class T2>
78  std::vector<size_t> matchByDeltaR(const std::vector<T1> &, const std::vector<T2> &, const double maxDeltaR = NOMATCH);
79 
80 private:
81  // Internal Methods
83  void book2D(DQMStore::IBooker &, const std::string &, const std::string &, const std::string &, const std::string &);
86  const trigger::TriggerEvent &);
87 
88  // Input from Configuration File
91  std::vector<std::string> requiredTriggers_;
92  std::map<std::string, std::vector<double> > binParams_;
93  std::map<std::string, double> plotCuts_;
96 
97  // Member Variables
99  unsigned int cutMinPt_;
103  std::map<std::string, MonitorElement *> hists_;
104 
108  double targetZ0Cut_;
109  double targetD0Cut_;
115  double probeZ0Cut_;
116  double probeD0Cut_;
119 };
120 
121 #endif
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
const std::string EFFICIENCY_SUFFIXES[2]
edm::ParameterSet targetParams_
std::map< std::string, std::vector< double > > binParams_
std::map< std::string, MonitorElement * > hists_
dqm::legacy::MonitorElement MonitorElement
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
HLTMuonMatchAndPlot(const edm::ParameterSet &, std::string, std::string, bool)
Constructor.
std::vector< std::string > requiredTriggers_
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
const double NOMATCH
dqm::legacy::DQMStore DQMStore
void book2D(DQMStore::IBooker &, const std::string &, const std::string &, const std::string &, const std::string &)
trigger::TriggerObjectCollection selectedTriggerObjects(const trigger::TriggerObjectCollection &, const trigger::TriggerEvent &)
std::vector< size_t > matchByDeltaR(const std::vector< T1 > &, const std::vector< T2 > &, const double maxDeltaR=NOMATCH)
void fillMapFromPSet(std::map< std::string, T > &, const edm::ParameterSet &, const std::string &)
reco::MuonCollection selectedMuons(const reco::MuonCollection &, const reco::BeamSpot &, bool)
math::XYZTLorentzVector LorentzVector
void book1D(DQMStore::IBooker &, std::string, const std::string &, std::string)
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
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 &)
edm::ParameterSet probeParams_
void endRun(const edm::Run &, const edm::EventSetup &)
std::map< std::string, double > plotCuts_
bool fillEdges(size_t &nBins, float *&edges, const std::vector< double > &binning)
Definition: Run.h:45
void beginRun(DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &)