15 #include <boost/algorithm/string.hpp>
21 using namespace egHLT;
49 delete eleFilterMonHist;
52 delete phoFilterMonHist;
78 std::vector<std::string> hltFiltersUsed;
80 trigCodes.reset(TrigCodes::makeCodes(hltFiltersUsed));
118 bool doTrigTagProbeEff =
false;
119 if (doTrigTagProbeEff && (!
dohep_)) {
120 for (
auto const& eleHLTFilterName : eleHLTFilterNames_) {
124 for (
auto const& phoHLTFilterName : phoHLTFilterNames_) {
152 eleFilterMonHist->fill(
offEvt_, weight);
155 phoFilterMonHist->fill(
offEvt_, weight);
160 for (
auto const& ele : eles) {
161 eleMonElem->fill(ele,
offEvt_, weight);
167 for (
auto const& pho : phos) {
168 phoMonElem->fill(pho,
offEvt_, weight);
197 std::set<std::string> filterNameSet;
199 filterNameSet.insert(eleHLTFilterName);
201 filterNameSet.insert(phoHLTFilterName);
207 if (trigNames.size() != 2)
209 filterNameSet.insert(trigNames[0]);
210 filterNameSet.insert(trigNames[1]);
215 if (trigNames.size() != 2)
217 filterNameSet.insert(trigNames[0]);
218 filterNameSet.insert(trigNames[1]);
223 if (trigNames.size() != 2)
225 filterNameSet.insert(trigNames[0]);
226 filterNameSet.insert(trigNames[1]);
231 if (trigNames.size() != 2)
233 filterNameSet.insert(trigNames[0]);
234 filterNameSet.insert(trigNames[1]);
238 std::vector<std::string>(filterNameSet.begin(), filterNameSet.end()).
swap(filterNames);
242 std::vector<std::string> activeFilters;
243 std::vector<std::string> activeEleFilters;
244 std::vector<std::string> activeEle2LegFilters;
245 std::vector<std::string> activePhoFilters;
246 std::vector<std::string> activePho2LegFilters;
249 hltConfig, activeFilters, activeEleFilters, activeEle2LegFilters, activePhoFilters, activePho2LegFilters);
std::vector< std::string > diPhoTightLooseTrigNames_
const edm::EventSetup & c
virtual void setCurrentFolder(std::string const &fullpath)
egHLT::OffHelper offEvtHelper_
MonitorElement * dqmErrsMonElem_
std::vector< egHLT::EleHLTFilterMon * > eleFilterMonHists_
std::vector< std::string > phoTightLooseTrigNames_
void initTrigTagProbeHist(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::string &filterName, int cutMask, const BinData &bins)
void initTightLooseDiObjTrigHistsTrigCuts(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins)
std::vector< std::string > eleHLTFilterNames2Leg_
void setup(const edm::ParameterSet &conf)
void swap(Association< C > &lhs, Association< C > &rhs)
std::vector< egHLT::MonElemContainer< egHLT::OffEle > * > eleMonElems_
void addEleTrigPath(egHLT::MonElemFuncs &monElemFuncs, const std::string &name)
std::vector< egHLT::PhoHLTFilterMon * > phoFilterMonHists_
EgHLTOfflineSource(const edm::ParameterSet &)
void addPhoTrigPath(egHLT::MonElemFuncs &monElemFuncs, const std::string &name)
void analyze(const edm::Event &, const edm::EventSetup &) override
void initTightLooseTrigHists(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::vector< std::string > &tightLooseTrigs, const BinData &bins, EgHLTDQMCut< OffEle > *eleCut)
void getHLTFilterNamesUsed(std::vector< std::string > &filterNames) const
~EgHLTOfflineSource() override
std::vector< std::string > eleTightLooseTrigNames_
std::vector< egHLT::MonElemContainer< egHLT::OffPho > * > phoMonElems_
const std::vector< OffPho > & phos() const
void initTrigTagProbeHist_2Leg(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::string &filterName, int cutMask, const BinData &bins)
static const char *const trigNames[]
bool filterInactiveTriggers_
std::vector< std::string > phoHLTFilterNames_
MonitorElement * nrEventsProcessedMonElem_
int makeOffEvt(const edm::Event &edmEvent, const edm::EventSetup &setup, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
T getParameter(std::string const &) const
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
std::vector< std::string > diEleTightLooseTrigNames_
std::vector< std::string > eleHLTFilterNames_
const std::vector< OffEle > & eles() const
void setup(const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
void filterTriggers(const HLTConfigProvider &hltConfig)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::unique_ptr< egHLT::TrigCodes > trigCodes
void setupTriggers(const HLTConfigProvider &config, const std::vector< std::string > &hltFiltersUsed, const TrigCodes &trigCodes)
egHLT::CutMasks cutMasks_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
void setup(const edm::ParameterSet &conf)