15 #include <boost/algorithm/string.hpp> 21 using namespace egHLT;
52 delete eleFilterMonHist;
55 delete phoFilterMonHist;
81 std::vector<std::string> hltFiltersUsed;
83 trigCodes.reset(TrigCodes::makeCodes(hltFiltersUsed));
117 bool doTrigTagProbeEff=
false;
118 if(doTrigTagProbeEff && (!
dohep_)){
119 for(
auto const & eleHLTFilterName : eleHLTFilterNames_){
123 for(
auto const & phoHLTFilterName : phoHLTFilterNames_){
153 eleFilterMonHist->fill(
offEvt_,weight);
156 phoFilterMonHist->fill(
offEvt_,weight);
161 for(
auto const & ele : eles){
162 eleMonElem->fill(ele,
offEvt_,weight);
168 for(
auto const & pho : phos){
169 phoMonElem->fill(pho,
offEvt_,weight);
180 [](
auto const&
x,
auto const&
y){
return *
x < *
y; });
189 [](
auto const&
x,
auto const&
y){
return *
x < *
y; });
202 std::set<std::string> filterNameSet;
203 for(
auto const & eleHLTFilterName :
eleHLTFilterNames_) filterNameSet.insert(eleHLTFilterName);
204 for(
auto const & phoHLTFilterName :
phoHLTFilterNames_) filterNameSet.insert(phoHLTFilterName);
210 if(trigNames.size()!=2)
continue;
211 filterNameSet.insert(trigNames[0]);
212 filterNameSet.insert(trigNames[1]);
217 if(trigNames.size()!=2)
continue;
218 filterNameSet.insert(trigNames[0]);
219 filterNameSet.insert(trigNames[1]);
224 if(trigNames.size()!=2)
continue;
225 filterNameSet.insert(trigNames[0]);
226 filterNameSet.insert(trigNames[1]);
231 if(trigNames.size()!=2)
continue;
232 filterNameSet.insert(trigNames[0]);
233 filterNameSet.insert(trigNames[1]);
237 std::vector<std::string>(filterNameSet.begin(),filterNameSet.end()).
swap(filterNames);
243 std::vector<std::string> activeFilters;
244 std::vector<std::string> activeEleFilters;
245 std::vector<std::string> activeEle2LegFilters;
246 std::vector<std::string> activePhoFilters;
247 std::vector<std::string> activePho2LegFilters;
std::vector< std::string > diPhoTightLooseTrigNames_
T getParameter(std::string const &) const
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)
MonitorElement * bookInt(Args &&...args)
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_
void setCurrentFolder(std::string const &fullpath)
EgHLTOfflineSource(const EgHLTOfflineSource &rhs)=delete
MonitorElement * book1D(Args &&...args)
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
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_
void setup(const edm::ParameterSet &conf)