15 #include <boost/algorithm/string.hpp> 21 using namespace egHLT;
51 delete eleFilterMonHist;
54 delete phoFilterMonHist;
80 std::vector<std::string> hltFiltersUsed;
82 trigCodes.reset(TrigCodes::makeCodes(hltFiltersUsed));
116 bool doTrigTagProbeEff=
false;
117 if(doTrigTagProbeEff){
118 for(
auto const & eleHLTFilterName : eleHLTFilterNames_){
122 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;
198 for(
auto const & eleHLTFilterName :
eleHLTFilterNames_) filterNameSet.insert(eleHLTFilterName);
199 for(
auto const & phoHLTFilterName :
phoHLTFilterNames_) filterNameSet.insert(phoHLTFilterName);
205 if(trigNames.size()!=2)
continue;
206 filterNameSet.insert(trigNames[0]);
207 filterNameSet.insert(trigNames[1]);
212 if(trigNames.size()!=2)
continue;
213 filterNameSet.insert(trigNames[0]);
214 filterNameSet.insert(trigNames[1]);
219 if(trigNames.size()!=2)
continue;
220 filterNameSet.insert(trigNames[0]);
221 filterNameSet.insert(trigNames[1]);
226 if(trigNames.size()!=2)
continue;
227 filterNameSet.insert(trigNames[0]);
228 filterNameSet.insert(trigNames[1]);
232 std::vector<std::string>(filterNameSet.begin(),filterNameSet.end()).
swap(filterNames);
238 std::vector<std::string> activeFilters;
239 std::vector<std::string> activeEleFilters;
240 std::vector<std::string> activeEle2LegFilters;
241 std::vector<std::string> activePhoFilters;
242 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_
EgHLTOfflineSource(const EgHLTOfflineSource &rhs)=delete
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
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_
void setCurrentFolder(const std::string &fullpath)
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)