28 #include "TDirectory.h" 31 #include "boost/tuple/tuple.hpp" 49 std::vector<std::string>
stepLabels(
const std::vector<std::string> &);
59 boost::tuple<edm::EDGetTokenT<trigger::TriggerEventWithRefs>,
87 vector<string>::iterator iter = modules.begin();
89 while (iter != modules.end())
90 if (iter->find(
"Filtered") == string::npos)
91 iter = modules.erase(iter);
99 vector<string>
steps(1,
"All");
100 for (
size_t i = 0;
i < modules.size();
i++) {
101 if ((modules[
i].
find(
"IsoFiltered") != string::npos)) {
102 if (modules[
i].
find(
"L3") != string::npos)
103 steps.push_back(
"L3TkIso");
105 steps.push_back(
"L2Iso");
106 }
else if ((modules[
i].
find(
"pfecalIsoRhoFiltered") != string::npos)) {
107 if (modules[
i].
find(
"L3") != string::npos)
108 steps.push_back(
"L3EcalIso");
109 else if (modules[
i].
find(
"TkFiltered") != string::npos)
110 steps.push_back(
"TkEcalIso");
111 }
else if ((modules[
i].
find(
"pfhcalIsoRhoFiltered") != string::npos)) {
112 if (modules[
i].
find(
"L3") != string::npos)
113 steps.push_back(
"L3HcalIso");
114 else if (modules[
i].
find(
"TkFiltered") != string::npos)
115 steps.push_back(
"TkHcalIso");
116 }
else if (modules[
i].
find(
"TkFiltered") != string::npos) {
117 steps.push_back(
"Tk");
118 }
else if (modules[
i].
find(
"L3") != string::npos)
119 steps.push_back(
"L3");
120 else if (modules[
i].
find(
"L2") != string::npos)
121 steps.push_back(
"L2");
122 else if (modules[
i].
find(
"L1") != string::npos)
123 steps.push_back(
"L1");
125 return vector<string>();
128 if (steps.size() < 2 || ((steps[1] !=
"L1") && (steps[1] !=
"Tk")))
129 return vector<string>();
137 LogError(
"HLTMuonVal") <<
"Initialization of HLTConfigProvider failed!!";
152 set<string>::iterator iPath;
153 for (iPath = hltPaths.begin(); iPath != hltPaths.end(); iPath++) {
154 string path = *iPath;
155 string shortpath =
path;
156 if (path.rfind(
"_v") < path.length())
157 shortpath = path.substr(0, path.rfind(
"_v"));
162 if (!labels.empty() && !steps.empty()) {
171 vector<HLTMuonPlotter>::iterator iter;
173 iter->beginRun(iBooker, iRun, iSetup);
178 vector<HLTMuonPlotter>::iterator iter;
180 iter->analyze(iEvent, iSetup);
boost::tuple< edm::EDGetTokenT< trigger::TriggerEventWithRefs >, edm::EDGetTokenT< reco::GenParticleCollection >, edm::EDGetTokenT< reco::MuonCollection > > myTokens_
std::vector< std::string > stepLabels(const std::vector< std::string > &)
const std::vector< std::string > & triggerNames() const
names of trigger paths
std::vector< HLTMuonPlotter > analyzers_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::vector< std::string > hltPathsToCheck_
static boost::tuple< edm::EDGetTokenT< trigger::TriggerEventWithRefs >, edm::EDGetTokenT< reco::GenParticleCollection >, edm::EDGetTokenT< reco::MuonCollection > > getTokens(const edm::ParameterSet &, edm::ConsumesCollector &&)
#define DEFINE_FWK_MODULE(type)
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< std::string > moduleLabels(std::string)
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
void endRun(const edm::Run &, const edm::EventSetup &) override
HLTConfigProvider hltConfig_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
std::string hltProcessName_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
HLTMuonValidator(const edm::ParameterSet &)