15 #include <boost/algorithm/string.hpp>
21 using namespace egHLT;
80 std::vector<std::string> hltFiltersUsed;
82 trigCodes.reset(TrigCodes::makeCodes(hltFiltersUsed));
116 bool doTrigTagProbeEff=
false;
117 if(doTrigTagProbeEff){
158 for(
size_t monElemNr=0;monElemNr<
eleMonElems_.size();monElemNr++){
160 for(
size_t eleNr=0;eleNr<eles.size();eleNr++){
165 for(
size_t monElemNr=0;monElemNr<
phoMonElems_.size();monElemNr++){
167 for(
size_t phoNr=0;phoNr<phos.size();phoNr++){
197 std::set<std::string> filterNameSet;
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_
MonitorElement * bookInt(Args &&...args)
virtual ~EgHLTOfflineSource()
void initTrigTagProbeHist_2Leg(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)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
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)
virtual 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
void initTrigTagProbeHist(std::vector< MonElemContainer< OffEle > * > &eleMonElems, const std::string filterName, int cutMask, const BinData &bins)
std::vector< std::string > eleTightLooseTrigNames_
std::vector< egHLT::MonElemContainer< egHLT::OffPho > * > phoMonElems_
const std::vector< OffPho > & phos() const
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)
virtual 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)