CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTMuonPlotter.h
Go to the documentation of this file.
1 #ifndef HLTriggerOffline_Muon_HLTMuonPlotter_H
2 #define HLTriggerOffline_Muon_HLTMuonPlotter_H
3 
15 
22 
36 
38 
41 
42 
43 #include <vector>
44 #include <set>
45 #include <map>
46 #include <iostream>
47 #include <algorithm>
48 #include <cctype>
49 
50 #include "TPRegexp.h"
51 
52 
53 
54 const unsigned int kNull = (unsigned int) -1;
55 
56 
57 
59 
60  public:
62  const std::vector<std::string>&, const std::vector<std::string>&);
63  void beginJob();
64  void beginRun(const edm::Run &, const edm::EventSetup &);
65  void analyze(const edm::Event &, const edm::EventSetup &);
66 
67  private:
68 
69  struct MatchStruct {
72  std::vector<const reco::RecoChargedCandidate *> candHlt;
74  candBase = 0;
75  candL1 = 0;
76  }
77  MatchStruct(const reco::Candidate * cand) {
78  candBase = cand;
79  candL1 = 0;
80  }
82  return candBase->pt() < match.candBase->pt();
83  }
85  return candBase->pt() > match.candBase->pt();
86  }
87  };
90  return a.candBase->pt() > b.candBase->pt();
91  }
92  };
93 
94  void analyzePath(const edm::Event &,
95  const std::string &, const std::string &,
96  const std::vector<MatchStruct>&,
98  void findMatches(
99  std::vector<MatchStruct> &,
100  const std::vector<l1extra::L1MuonParticleRef>&,
101  const std::vector< std::vector< const reco::RecoChargedCandidate *> >&
102  );
104 
107 
108  std::vector<std::string> moduleLabels_;
109  std::vector<std::string> stepLabels_;
110 
113 
114  std::vector<double> parametersEta_;
115  std::vector<double> parametersPhi_;
116  std::vector<double> parametersTurnOn_;
117 
118  double cutMinPt_;
119  double cutMaxEta_;
120  unsigned int cutMotherId_;
121  std::vector<double> cutsDr_;
124 
127 
129 
131  std::map<std::string, MonitorElement *> elements_;
132 
133 };
134 
135 #endif
MatchStruct(const reco::Candidate *cand)
std::string hltPath_
bool operator>(MatchStruct match)
unsigned int cutMotherId_
std::vector< double > parametersEta_
bool operator<(MatchStruct match)
L1MuonMatcherAlgo l1Matcher_
std::string genMuonCut_
std::string genParticleLabel_
std::vector< std::string > moduleLabels_
void beginRun(const edm::Run &, const edm::EventSetup &)
std::string recMuonCut_
virtual float pt() const =0
transverse momentum
StringCutObjectSelector< reco::Muon > * recMuonSelector_
std::vector< double > cutsDr_
const unsigned int kNull
void bookHist(std::string, std::string, std::string, std::string)
const l1extra::L1MuonParticle * candL1
std::vector< const reco::RecoChargedCandidate * > candHlt
void analyzePath(const edm::Event &, const std::string &, const std::string &, const std::vector< MatchStruct > &, edm::Handle< trigger::TriggerEventWithRefs >)
void analyze(const edm::Event &, const edm::EventSetup &)
StringCutObjectSelector< reco::GenParticle > * genMuonSelector_
const reco::Candidate * candBase
std::vector< std::string > stepLabels_
void findMatches(std::vector< MatchStruct > &, const std::vector< l1extra::L1MuonParticleRef > &, const std::vector< std::vector< const reco::RecoChargedCandidate * > > &)
std::string recMuonLabel_
double b
Definition: hdecay.h:120
bool operator()(MatchStruct a, MatchStruct b)
std::vector< double > parametersPhi_
double a
Definition: hdecay.h:121
HLTMuonPlotter(const edm::ParameterSet &, std::string, const std::vector< std::string > &, const std::vector< std::string > &)
Matcher of reconstructed objects to L1 Muons.
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:6
std::map< std::string, MonitorElement * > elements_
std::string hltProcessName_
std::vector< double > parametersTurnOn_
Definition: Run.h:36
DQMStore * dbe_