1 #ifndef HLTriggerOffline_Muon_HLTMuonPlotter_h 2 #define HLTriggerOffline_Muon_HLTMuonPlotter_h 40 #include <unordered_map> 52 const std::vector<std::string> &,
53 const std::vector<std::string> &,
68 std::vector<const reco::RecoChargedCandidate *>
candHlt;
86 const std::vector<std::vector<const reco::RecoChargedCandidate *>> &);
118 std::unordered_map<std::string, MonitorElement *>
elements_;
121 template <
typename T>
125 std::stringstream sstr;
126 for (
auto const &
foo : vec)
128 auto ret = sstr.str();
133 #endif // HLTriggerOffline_Muon_HLTMuonPlotter_h void bookHist(DQMStore::IBooker &, const std::string &, const std::string &, const std::string &, const std::string &)
std::string const hltPath_
MatchStruct(const reco::Candidate *cand)
virtual double pt() const =0
transverse momentum
void beginRun(DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &)
ret
prodAgent to be discontinued
bool operator>(MatchStruct match)
StringCutObjectSelector< reco::Muon > const recMuonSelector_
bool operator<(MatchStruct match)
std::string const hltProcessName_
edm::EDGetTokenT< trigger::TriggerEventWithRefs > const triggerEventWithRefsToken_
void findMatches(std::vector< MatchStruct > &, const l1t::MuonVectorRef &candsL1, const std::vector< std::vector< const reco::RecoChargedCandidate *>> &)
std::vector< MuonRef > MuonVectorRef
~HLTMuonPlotter()=default
std::unordered_map< std::string, MonitorElement * > elements_
std::vector< double > const cutsDr_
std::vector< double > const parametersTurnOn_
std::string vector_to_string(std::vector< T > const &vec, std::string const &delimiter=" ") const
std::vector< const reco::RecoChargedCandidate * > candHlt
void analyze(const edm::Event &, const edm::EventSetup &)
HLTMuonPlotter(const edm::ParameterSet &, const std::string &, const std::vector< std::string > &, const std::vector< std::string > &, const edm::EDGetTokenT< trigger::TriggerEventWithRefs > &, const edm::EDGetTokenT< reco::GenParticleCollection > &, const edm::EDGetTokenT< reco::MuonCollection > &, const L1MuonMatcherAlgoForDQM &)
const reco::Candidate * candBase
dqm::legacy::MonitorElement MonitorElement
std::vector< std::string > const moduleLabels_
std::vector< double > const parametersEta_
edm::EDGetTokenT< reco::GenParticleCollection > const genParticleToken_
std::vector< double > const parametersPhi_
L1MuonMatcherAlgoForDQM l1Matcher_
edm::EDGetTokenT< reco::MuonCollection > const recMuonToken_
bool operator()(MatchStruct a, MatchStruct b)
std::vector< std::string > const stepLabels_
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
dqm::legacy::DQMStore DQMStore
StringCutObjectSelector< reco::GenParticle > const genMuonSelector_
L1MuonMatcherAlgoT< edm::Transition::BeginRun > L1MuonMatcherAlgoForDQM