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(
"L3TkIso");
132 steps.push_back(
"L2Iso");
134 else if ((modules[
i].
find(
"pfecalIsoRhoFiltered") != string::npos)) {
135 if (modules[
i].
find(
"L3") != string::npos)
136 steps.push_back(
"L3EcalIso");
137 else if (modules[
i].
find(
"TkFiltered") != string::npos)
138 steps.push_back(
"TkEcalIso");
140 else if ((modules[
i].
find(
"pfhcalIsoRhoFiltered") != string::npos)) {
141 if (modules[
i].
find(
"L3") != string::npos)
142 steps.push_back(
"L3HcalIso");
143 else if (modules[
i].
find(
"TkFiltered") != string::npos)
144 steps.push_back(
"TkHcalIso");
146 else if (modules[
i].
find(
"TkFiltered") != string::npos){
147 steps.push_back(
"Tk");
149 else if (modules[
i].
find(
"L3") != string::npos)
150 steps.push_back(
"L3");
151 else if (modules[
i].
find(
"L2") != string::npos)
152 steps.push_back(
"L2");
153 else if (modules[
i].
find(
"L1") != string::npos)
154 steps.push_back(
"L1");
156 return vector<string>();
159 if (steps.size() < 2 || ((steps[1] !=
"L1")&&(steps[1] !=
"Tk")))
160 return vector<string>();
174 LogError(
"HLTMuonVal") <<
"Initialization of HLTConfigProvider failed!!";
189 set<string>::iterator iPath;
190 for (iPath = hltPaths.begin(); iPath != hltPaths.end(); iPath++) {
192 string path = * iPath;
193 string shortpath =
path;
194 if (path.rfind(
"_v") < path.length())
195 shortpath = path.substr(0, path.rfind(
"_v"));
200 if (labels.size() > 0 && steps.size() > 0) {
216 vector<HLTMuonPlotter>::iterator
iter;
218 iter->beginRun(iBooker, iRun, iSetup);
230 vector<HLTMuonPlotter>::iterator
iter;
232 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 &)