31 #include "TDirectory.h" 33 #include "boost/tuple/tuple.hpp" 58 std::vector<std::string>
stepLabels(
const std::vector<std::string>&);
108 vector<string>::iterator iter = modules.begin();
110 while (iter != modules.end())
111 if (iter->find(
"Filtered") == string::npos)
112 iter = modules.erase(iter);
124 vector<string>
steps(1,
"All");
125 for (
size_t i = 0;
i < modules.size();
i++) {
126 if ((modules[
i].
find(
"IsoFiltered") != string::npos)){
127 if (modules[
i].
find(
"L3") != string::npos)
128 steps.push_back(
"L3TkIso");
130 steps.push_back(
"L2Iso");
132 else if ((modules[
i].
find(
"pfecalIsoRhoFiltered") != string::npos)) {
133 if (modules[
i].
find(
"L3") != string::npos)
134 steps.push_back(
"L3EcalIso");
135 else if (modules[
i].
find(
"TkFiltered") != string::npos)
136 steps.push_back(
"TkEcalIso");
138 else if ((modules[
i].
find(
"pfhcalIsoRhoFiltered") != string::npos)) {
139 if (modules[
i].
find(
"L3") != string::npos)
140 steps.push_back(
"L3HcalIso");
141 else if (modules[
i].
find(
"TkFiltered") != string::npos)
142 steps.push_back(
"TkHcalIso");
144 else if (modules[
i].
find(
"TkFiltered") != string::npos){
145 steps.push_back(
"Tk");
147 else if (modules[
i].
find(
"L3") != string::npos)
148 steps.push_back(
"L3");
149 else if (modules[
i].
find(
"L2") != string::npos)
150 steps.push_back(
"L2");
151 else if (modules[
i].
find(
"L1") != string::npos)
152 steps.push_back(
"L1");
154 return vector<string>();
157 if (steps.size() < 2 || ((steps[1] !=
"L1")&&(steps[1] !=
"Tk")))
158 return vector<string>();
172 LogError(
"HLTMuonVal") <<
"Initialization of HLTConfigProvider failed!!";
187 set<string>::iterator iPath;
188 for (iPath = hltPaths.begin(); iPath != hltPaths.end(); iPath++) {
190 string path = * iPath;
191 string shortpath =
path;
192 if (path.rfind(
"_v") < path.length())
193 shortpath = path.substr(0, path.rfind(
"_v"));
198 if (!labels.empty() && !steps.empty()) {
214 vector<HLTMuonPlotter>::iterator iter;
216 iter->beginRun(iBooker, iRun, iSetup);
228 vector<HLTMuonPlotter>::iterator iter;
230 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 &&)
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 &)