test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
26 
38 
40 
41 #include <vector>
42 #include "TFile.h"
43 #include "TNtuple.h"
44 #include "TString.h"
45 #include "TPRegexp.h"
46 
47 
50 
52 
53 const double NOMATCH = 999.;
54 const std::string EFFICIENCY_SUFFIXES[2] = {"denom", "numer"};
55 
56 
59 
61 {
62 
63  public:
64 
67  const std::vector<std::string>&);
68 
69  // Analyzer Methods
70  void beginRun(DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &);
74  void endRun(const edm::Run &, const edm::EventSetup &);
75 
76  // Helper Methods
77  void fillEdges(size_t & nBins, float * & edges, const std::vector<double>& binning);
78  template <class T> void
79  fillMapFromPSet(std::map<std::string, T> &, const edm::ParameterSet&, std::string);
80  template <class T1, class T2> std::vector<size_t>
81  matchByDeltaR(const std::vector<T1> &, const std::vector<T2> &,
82  const double maxDeltaR = NOMATCH);
83 
84  private:
85 
86  // Internal Methods
90  const reco::MuonCollection &,
91  const reco::BeamSpot &,
92  bool,
94  double, double);
95 
98  const trigger::TriggerEvent &,
99  bool hasTriggerCuts,
101 
102  // Input from Configuration File
105  std::vector<std::string> requiredTriggers_;
106  std::map<std::string, std::vector<double> > binParams_;
107  std::map<std::string, double> plotCuts_;
110 
111  // Member Variables
113  unsigned int cutMinPt_;
115  std::vector<std::string> moduleLabels_;
116  std::map<std::string, MonitorElement *> hists_;
117 
118  // Selectors
121 
123  double targetZ0Cut_;
124  double targetD0Cut_;
128  double probeZ0Cut_;
129  double probeD0Cut_;
130 
133 
134 };
135 
136 #endif
reco::MuonCollection selectedMuons(const reco::MuonCollection &, const reco::BeamSpot &, bool, const StringCutObjectSelector< reco::Muon > &, double, double)
StringCutObjectSelector< reco::Muon > probeMuonSelector_
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
const std::string EFFICIENCY_SUFFIXES[2]
edm::ParameterSet targetParams_
void analyze(edm::Handle< reco::MuonCollection > &, edm::Handle< reco::BeamSpot > &, edm::Handle< reco::VertexCollection > &, edm::Handle< trigger::TriggerEvent > &, edm::Handle< edm::TriggerResults > &)
std::vector< std::string > moduleLabels_
std::map< std::string, std::vector< double > > binParams_
std::map< std::string, MonitorElement * > hists_
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
std::vector< std::string > requiredTriggers_
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
const double NOMATCH
trigger::TriggerObjectCollection selectedTriggerObjects(const trigger::TriggerObjectCollection &, const trigger::TriggerEvent &, bool hasTriggerCuts, const StringCutObjectSelector< trigger::TriggerObject > triggerSelector)
void fillMapFromPSet(std::map< std::string, T > &, const edm::ParameterSet &, std::string)
std::vector< size_t > matchByDeltaR(const std::vector< T1 > &, const std::vector< T2 > &, const double maxDeltaR=NOMATCH)
void book2D(DQMStore::IBooker &, std::string, std::string, std::string, std::string)
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
StringCutObjectSelector< reco::Muon > targetMuonSelector_
edm::ParameterSet probeParams_
StringCutObjectSelector< trigger::TriggerObject > triggerSelector_
void endRun(const edm::Run &, const edm::EventSetup &)
void book1D(DQMStore::IBooker &, std::string, std::string, std::string)
HLTMuonMatchAndPlot(const edm::ParameterSet &, std::string, const std::vector< std::string > &)
Constructor.
std::map< std::string, double > plotCuts_
void fillEdges(size_t &nBins, float *&edges, const std::vector< double > &binning)
Definition: Run.h:43
math::PtEtaPhiELorentzVectorF LorentzVector
void beginRun(DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &)