16 : hltProcessName_(ps.getUntrackedParameter<
std::
string>(
"HLTProcessName",
"HLT")),
17 triggerResultsSrc_(ps.getUntrackedParameter<
edm::
InputTag>(
"TriggerResultsSrc")),
19 triggerEventSrc_(ps.getUntrackedParameter<
edm::
InputTag>(
"TriggerEventSrc")),
21 pathRegex_(ps.getUntrackedParameter<
std::
string>(
"Paths")),
22 nPtBins_(ps.getUntrackedParameter<
int>(
"PtHistoBins", 20)),
23 nEtaBins_(ps.getUntrackedParameter<
int>(
"EtaHistoBins", 12)),
24 nPhiBins_(ps.getUntrackedParameter<
int>(
"PhiHistoBins", 18)),
25 ptMax_(ps.getUntrackedParameter<double>(
"PtHistoMax", 200)),
26 highPtMax_(ps.getUntrackedParameter<double>(
"HighPtHistoMax", 1000)),
27 l1MatchDr_(ps.getUntrackedParameter<double>(
"L1MatchDeltaR", 0.5)),
28 hltMatchDr_(ps.getUntrackedParameter<double>(
"HLTMatchDeltaR", 0.5)),
29 dqmBaseFolder_(ps.getUntrackedParameter<
std::
string>(
"DQMBaseFolder")),
31 prescaleEvt_(ps.getUntrackedParameter<
int>(
"prescaleEvt", -1)) {
37 if (ps.
exists(
"L1Plotter") && !ps.
exists(
"TagAndProbe")) {
47 if (ps.
exists(
"PathSummaryPlotter")) {
52 if (ps.
exists(
"TagAndProbe")) {
58 using VPSet = std::vector<edm::ParameterSet>;
72 bool hltMenuChanged =
false;
74 LogDebug(
"HLTTauDQMOffline") <<
"dqmBeginRun(), hltMenuChanged " << hltMenuChanged;
83 if (std::regex_search(
pathName, what, pathRegex)) {
91 std::vector<const HLTTauDQMPath*> pathObjects;
122 std::vector<std::string> moduleLabels;
124 std::vector<std::string> denominators = denpset.
getParameter<std::vector<std::string> >(
"hltPaths");
125 std::vector<std::string> updatedDenominators;
126 for (
size_t i = 0;
i < denominators.size(); ++
i) {
127 const std::regex denRegex_(denominators[
i]);
129 if (std::regex_search(
pathName, what, denRegex_)) {
130 updatedDenominators.push_back(
pathName);
135 denpset.
addParameter<std::vector<std::string> >(
"hltPaths", updatedDenominators);
138 std::vector<std::string> numerators = numpset.
getParameter<std::vector<std::string> >(
"hltPaths");
140 const std::regex numRegex_(numerators[0]);
142 if (std::regex_search(
pathName, what, numRegex_)) {
145 std::vector<std::string> updatedHltPaths;
146 updatedHltPaths.push_back(
pathName);
147 numpset.addParameter<std::vector<std::string> >(
"hltPaths", updatedHltPaths);
172 pathPlotter.bookHistograms(*
iWrapper, iBooker);
191 if (!triggerResultsHandle.
isValid()) {
198 if (!triggerEventHandle.
isValid()) {
208 iEvent.getByToken(refObj.token, collHandle);
212 if (refObj.objID == 11) {
214 }
else if (refObj.objID == 13) {
215 refC.
muons.insert(refC.
muons.end(), collHandle->begin(), collHandle->end());
216 }
else if (refObj.objID == 15) {
217 refC.
taus.insert(refC.
taus.end(), collHandle->begin(), collHandle->end());
218 }
else if (refObj.objID == 0) {
219 refC.
met.insert(refC.
met.end(), collHandle->begin(), collHandle->end());
226 if (pathPlotter.isValid())
227 pathPlotter.analyze(*triggerResultsHandle, *triggerEventHandle, refC);
242 tpPlotter->analyze(
iEvent, *triggerResultsHandle, *triggerEventHandle, refC);
const std::string dqmBaseFolder_
edm::InputTag triggerEventSrc_
void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
T getParameter(std::string const &) const
std::vector< LV > electrons
The single EDProduct to be saved for each event (AOD case)
std::string hltProcessName_
edm::EDGetTokenT< trigger::TriggerEvent > triggerEventToken_
std::vector< RefObject > refObjects_
void bookHistograms(DQMStore::IBooker &iBooker, const edm::Run &r, const edm::EventSetup &c) override
bool exists(std::string const ¶meterName) const
checks if a parameter exists
std::vector< edm::ParameterSet > tagAndProbePaths
T getUntrackedParameter(std::string const &, T const &) const
~HLTTauDQMOfflineSource() override
HLTTauDQMOfflineSource(const edm::ParameterSet &)
std::vector< HLTTauDQMPathPlotter > pathPlotters_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
void addParameter(std::string const &name, T const &value)
std::vector< std::unique_ptr< HLTTauDQMTagAndProbePlotter > > tagandprobePlotters_
std::unique_ptr< HLTTauDQMPathSummaryPlotter > pathSummaryPlotter_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
const std::vector< std::string > & triggerNames() const
names of trigger paths
edm::InputTag triggerResultsSrc_
Log< level::Warning, false > LogWarning
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
const std::string pathRegex_
std::unique_ptr< HLTTauDQML1Plotter > l1Plotter_
void analyze(const edm::Event &e, const edm::EventSetup &c) override