31 #include "TDirectory.h"
33 #include "boost/tuple/tuple.hpp"
60 std::vector<std::string>
stepLabels(
const std::vector<std::string>&);
85 using namespace trigger;
96 hltProcessName_(pset.getParameter<
string>(
"hltProcessName")),
97 hltPathsToCheck_(pset.getParameter<
vstring>(
"hltPathsToCheck"))
110 vector<string>::iterator
iter = modules.begin();
112 while (iter != modules.end())
113 if (iter->find(
"Filtered") == string::npos)
114 iter = modules.erase(iter);
126 vector<string>
steps(1,
"All");
127 for (
size_t i = 0;
i < modules.size();
i++) {
128 if (modules[
i].
find(
"IsoFiltered") != string::npos) {
129 if (modules[
i].
find(
"L3") != string::npos)
130 steps.push_back(
"L3Iso");
132 steps.push_back(
"L2Iso");
134 else if (modules[
i].
find(
"IsoRhoFiltered") != string::npos) {
135 if (modules[
i].
find(
"L3") != string::npos)
136 steps.push_back(
"L3Iso");
137 else if (modules[
i].
find(
"TkFiltered") != string::npos)
138 steps.push_back(
"TkIso");
140 else if (modules[
i].
find(
"TkFiltered") != string::npos){
141 steps.push_back(
"TkL2");
142 steps.push_back(
"Tk");
144 else if (modules[
i].
find(
"L3") != string::npos)
145 steps.push_back(
"L3");
146 else if (modules[
i].
find(
"L2") != string::npos)
147 steps.push_back(
"L2");
148 else if (modules[
i].
find(
"L1") != string::npos)
149 steps.push_back(
"L1");
151 return vector<string>();
153 if (steps.size() < 2 || ((steps[1] !=
"L1")&&(steps[1] !=
"Tk")))
154 return vector<string>();
168 LogError(
"HLTMuonVal") <<
"Initialization of HLTConfigProvider failed!!";
183 set<string>::iterator iPath;
184 for (iPath = hltPaths.begin(); iPath != hltPaths.end(); iPath++) {
186 string path = * iPath;
187 string shortpath =
path;
188 if (path.rfind(
"_v") < path.length())
189 shortpath = path.substr(0, path.rfind(
"_v"));
194 if (labels.size() > 0 && steps.size() > 0) {
210 vector<HLTMuonPlotter>::iterator
iter;
212 iter->beginRun(iBooker, iRun, iSetup);
224 vector<HLTMuonPlotter>::iterator
iter;
226 iter->analyze(iEvent, iSetup);
#define DEFINE_FWK_MODULE(type)
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_
boost::tuple< edm::EDGetTokenT< trigger::TriggerEventWithRefs >, edm::EDGetTokenT< reco::GenParticleCollection >, edm::EDGetTokenT< reco::MuonCollection > > myTokens_
static boost::tuple< edm::EDGetTokenT< trigger::TriggerEventWithRefs >, edm::EDGetTokenT< reco::GenParticleCollection >, edm::EDGetTokenT< reco::MuonCollection > > getTokens(const edm::ParameterSet &, edm::ConsumesCollector &&)
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
tuple path
else: Piece not in the list, fine.
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
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
virtual 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_
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
virtual void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
HLTMuonValidator(const edm::ParameterSet &)