CMS 3D CMS Logo

TrigObjTnPHistColl.cc
Go to the documentation of this file.
1 #include "TrigObjTnPHistColl.h"
2 
4 
5 namespace {
6  std::vector<float> convertToFloat(const std::vector<double>& vecD) {
7  return std::vector<float>(vecD.begin(), vecD.end());
8  }
9 } // namespace
10 
12  : tagCuts_(config.getParameter<std::vector<edm::ParameterSet>>("tagCuts")),
13  probeCuts_(config.getParameter<std::vector<edm::ParameterSet>>("probeCuts")),
14  tagFilters_(config.getParameter<edm::ParameterSet>("tagFilters")),
15  collName_(config.getParameter<std::string>("collName")),
16  folderName_(config.getParameter<std::string>("folderName")),
17  histDefs_(config.getParameter<edm::ParameterSet>("histDefs")),
18  evtTrigSel_(config.getParameter<edm::ParameterSet>("evtTrigSel"))
19 
20 {
21  auto probeFilters = config.getParameter<std::vector<std::string>>("probeFilters");
22  for (auto& probeFilter : probeFilters) {
23  probeHists_.emplace_back(ProbeData(std::move(probeFilter)));
24  }
25 }
26 
29  desc.addVPSet(
30  "tagCuts", VarRangeCut<trigger::TriggerObject>::makePSetDescription(), std::vector<edm::ParameterSet>());
31  desc.addVPSet(
32  "probeCuts", VarRangeCut<trigger::TriggerObject>::makePSetDescription(), std::vector<edm::ParameterSet>());
34  desc.add<std::string>("collName", "stdTag");
35  desc.add<std::string>("folderName", "HLT/EGM/TrigObjTnP");
37  desc.add<std::vector<std::string>>("probeFilters", std::vector<std::string>());
39  return desc;
40 }
41 
44  for (auto& probe : probeHists_) {
45  probe.bookHists(collName_, iBooker, histDefs_);
46  }
47 }
48 
50  const edm::TriggerResults& trigResults,
51  const edm::TriggerNames& trigNames) const {
52  if (evtTrigSel_(trigResults, trigNames) == false)
53  return;
54 
55  auto tagTrigKeys = tagFilters_.getPassingKeys(trigEvt);
56  for (auto& tagKey : tagTrigKeys) {
57  const trigger::TriggerObject& tagObj = trigEvt.getObjects()[tagKey];
58  if (tagCuts_(tagObj)) {
59  for (auto& probeColl : probeHists_)
60  probeColl.fill(tagKey, trigEvt, probeCuts_);
61  }
62  }
63 }
64 
65 //trigger::Keys is likely a vector containing 0-3 short ints (probably 10 max),
66 // passing by value makes this much easier code wise (otherwise would have to
67 //create a dummy empty vector) and shouldnt be too much of a performance hit
69  edm::InputTag filterTag(filterName, "", trigEvt.usedProcessName());
70  trigger::size_type filterIndex = trigEvt.filterIndex(filterTag);
71  if (filterIndex < trigEvt.sizeFilters())
72  return trigEvt.filterKeys(filterIndex);
73  else
74  return trigger::Keys();
75 }
76 
78  : isAND_(config.getParameter<bool>("isAND")) {
79  auto filterSetConfigs = config.getParameter<std::vector<edm::ParameterSet>>("filterSets");
80  for (auto& filterSetConfig : filterSetConfigs)
81  filterSets_.emplace_back(FilterSet(filterSetConfig));
82 }
83 
86  desc.addVPSet("filterSets", FilterSet::makePSetDescription(), std::vector<edm::ParameterSet>());
87  desc.add<bool>("isAND", false);
88  return desc;
89 }
90 
92  trigger::Keys passingKeys;
93  bool isFirstFilterSet = true;
94  for (const auto& filterSet : filterSets_) {
95  auto keysOfFilterSet = filterSet.getPassingKeys(trigEvt);
96  if (isFirstFilterSet)
97  passingKeys = keysOfFilterSet;
98  else
99  mergeTrigKeys(passingKeys, keysOfFilterSet, isAND_);
100  isFirstFilterSet = false;
101  }
102  cleanTrigKeys(passingKeys);
103  return passingKeys;
104 }
105 
107  const trigger::Keys& keysToMerge,
108  bool isAND) {
109  if (isAND) {
110  for (auto& key : keys) {
111  if (std::count(keysToMerge.begin(), keysToMerge.end(), key) == 0) {
113  }
114  }
115  } else {
116  for (const auto key : keysToMerge) {
117  keys.push_back(key);
118  }
119  }
120 }
121 
123  std::sort(keys.begin(), keys.end());
124  std::unique(keys.begin(), keys.end());
125  while (!keys.empty() && keys.back() == std::numeric_limits<trigger::size_type>::max()) {
126  keys.pop_back();
127  }
128 }
129 
131  : filters_(config.getParameter<std::vector<std::string>>("filters")), isAND_(config.getParameter<bool>("isAND")) {}
132 
134  : selectionStr_(config.getParameter<std::string>("selectionStr")),
135  isANDForExpandedPaths_(config.getParameter<bool>("isANDForExpandedPaths")),
136  verbose_(config.getParameter<int>("verbose")),
137  isInited_(false) {}
138 
141  desc.add<std::string>("selectionStr", std::string(""));
142  desc.add<bool>("isANDForExpandedPaths", false);
143  desc.add<int>("verbose", 1);
144  return desc;
145 }
146 
148  expandedSelStr_ = expandSelectionStr(selectionStr_, hltConfig, isANDForExpandedPaths_, verbose_);
149  isInited_ = true;
150  if (verbose_ > 1) {
151  edm::LogInfo("TrigObjTnPHistColl::PathSelector") << "trigger selection string: \"" << expandedSelStr_ << "\"";
152  }
153 }
154 
156  const edm::TriggerNames& trigNames) const {
157  if (selectionStr_.empty())
158  return true; //didnt specify any selection, default to pass
159  else if (!isInited_) {
160  edm::LogError("TrigObjTnPHistColl")
161  << " error, TrigObjTnPHistColl::PathSelector is not initalised, returning false ";
162  return false;
163  } else if (expandedSelStr_.empty()) {
164  //there was a problem parsing the expression, it was logged at the start, no need to do each run
165  return false;
166  } else {
167  //as of 20/08/18, there is a bug in L1GtLogicParser, it must take a non-const std::string
168  //as input because it overloads the constructor between const and non-const std::string
169  //for like no reason. And the const version is broken, you have to use non-const
170  //hence we make a non-const copy of the selection string
171  std::string selStr = expandedSelStr_;
172  L1GtLogicParser logicParser(selStr);
173  for (auto& token : logicParser.operandTokenVector()) {
174  const std::string& pathName = token.tokenName;
175  auto pathIndex = trigNames.triggerIndex(pathName);
176  bool accept = pathIndex < trigNames.size() ? trigResults.accept(pathIndex) : false;
177  token.tokenResult = accept;
178  }
179  return logicParser.expressionResult();
180  }
181 }
182 
183 //a port of https://github.com/cms-sw/cmssw/blob/51eb73f59e2016d54618e2a8e19abab84fe33b47/CommonTools/TriggerUtils/src/GenericTriggerEventFlag.cc#L225-L238
186  bool isAND,
187  int verbose) {
188  std::string expandedSelStr(selStr);
189  //it is very important to pass in as a non-const std::string, see comments else where
190  L1GtLogicParser logicParser(expandedSelStr);
191  for (const auto& token : logicParser.operandTokenVector()) {
192  const std::string& pathName = token.tokenName;
193  if (pathName.find('*') != std::string::npos) {
194  std::string pathPatternExpanded = expandPath(pathName, hltConfig, isAND, verbose);
195  expandedSelStr.replace(expandedSelStr.find(pathName), pathName.size(), pathPatternExpanded);
196  }
197  }
198  return expandedSelStr;
199 }
200 
201 //a port of GenericTriggerEventFlag::expandLogicalExpression
202 //https://github.com/cms-sw/cmssw/blob/51eb73f59e2016d54618e2a8e19abab84fe33b47/CommonTools/TriggerUtils/src/GenericTriggerEventFlag.cc#L600-L632
205  bool isAND,
206  int verbose) {
207  // Find matching entries in the menu
208  const std::vector<std::string>& trigNames = hltConfig.triggerNames();
209  std::vector<std::string> matched;
210  const std::string versionWildcard("_v*");
211  if (pathPattern.substr(pathPattern.size() - versionWildcard.size()) == versionWildcard) {
212  const std::string pathPatternBase(pathPattern.substr(0, pathPattern.size() - versionWildcard.size()));
213  matched = hltConfig.restoreVersion(trigNames, pathPatternBase);
214  } else {
215  matched = hltConfig.matched(trigNames, pathPattern);
216  }
217 
218  if (matched.empty()) {
219  if (verbose >= 1)
220  edm::LogWarning("TrigObjTnPHistColl::PathSelector")
221  << "pattern: \"" << pathPattern
222  << "\" could not be resolved, please check your triggers are spelt correctly and present in the data you are "
223  "running over";
224  return "";
225  }
226 
227  // Compose logical expression
228  std::string expanded("(");
229  for (unsigned iVers = 0; iVers < matched.size(); ++iVers) {
230  if (iVers > 0)
231  expanded.append(isAND ? " AND " : " OR ");
232  expanded.append(matched.at(iVers));
233  }
234  expanded.append(")");
235  if (verbose > 1) {
236  edm::LogInfo("TrigObjTnPHistColl::PathSelector") << "Logical expression : \"" << pathPattern << "\"\n"
237  << " expanded to: \"" << expanded << "\"";
238  }
239  return expanded;
240 }
241 
244  desc.add<std::vector<std::string>>("filters", std::vector<std::string>());
245  desc.add<bool>("isAND", true);
246  return desc;
247 }
248 
250  const trigger::TriggerEvent& trigEvt) const {
251  trigger::Keys passingKeys;
252  bool firstFilter = true;
253  for (const auto& filterName : filters_) {
254  const trigger::Keys& trigKeys = getKeys(trigEvt, filterName);
255  if (firstFilter) {
256  passingKeys = trigKeys;
257  firstFilter = false;
258  } else
259  mergeTrigKeys(passingKeys, trigKeys, isAND_);
260  }
261  cleanTrigKeys(passingKeys);
262 
263  return passingKeys;
264 }
265 
267  //first look for "Abs" at the end of the string
268  auto absPos = varName.rfind("Abs");
269  if (absPos != std::string::npos && absPos + 3 == varName.size()) {
270  isAbs_ = true;
271  varName = varName.erase(absPos);
272  }
273  if (varName == "pt")
275  else if (varName == "eta")
277  else if (varName == "phi")
279  else {
280  std::ostringstream msg;
281  msg << "var " << varName << " not recognised (use pt or p rather than et or e for speed!) ";
282  if (isAbs_)
283  msg << " varName was \"Abs\" suffex cleaned where it tried to remove \"Abs\" at the end of the variable name ";
284  msg << __FILE__ << "," << __LINE__ << std::endl;
285  throw cms::Exception("ConfigError") << msg.str();
286  }
287 }
288 
290  : localCuts_(config.getParameter<std::vector<edm::ParameterSet>>("localCuts")),
291  var_(config.getParameter<std::string>("var")) {}
292 
296  desc.add<std::string>("var", "pt");
297  return desc;
298 }
299 
301  float mass,
303  if (localCuts_(probe))
304  hist->Fill(var_(probe), mass);
305 }
306 
308  : massBins_(convertToFloat(config.getParameter<std::vector<double>>("massBins"))) {
309  const auto histConfigs = config.getParameter<std::vector<edm::ParameterSet>>("configs");
310  for (const auto& histConfig : histConfigs) {
311  histData_.emplace_back(Data(histConfig));
312  }
313 }
314 
317  desc.addVPSet("configs", Data::makePSetDescription(), std::vector<edm::ParameterSet>());
318  std::vector<double> massBins;
319  for (float mass = 60; mass <= 120; mass += 1)
320  massBins.push_back(mass);
321  desc.add<std::vector<double>>("massBins", massBins);
322  return desc;
323 }
324 
325 std::vector<std::pair<TrigObjTnPHistColl::HistFiller, dqm::reco::MonitorElement*>>
327  const std::string& name,
328  const std::string& title) const {
329  std::vector<std::pair<HistFiller, dqm::reco::MonitorElement*>> hists;
330  for (const auto& data : histData_) {
331  hists.push_back({data.filler(), data.book(iBooker, name, title, massBins_)});
332  }
333  return hists;
334 }
335 
337  : histFiller_(config.getParameter<edm::ParameterSet>("filler")),
338  bins_(convertToFloat(config.getParameter<std::vector<double>>("bins"))),
339  nameSuffex_(config.getParameter<std::string>("nameSuffex")),
340  titleSuffex_(config.getParameter<std::string>("titleSuffex")) {}
341 
345  desc.add<std::vector<double>>("bins", {-2.5, -1.5, 0, 1.5, 2.5});
346  desc.add<std::string>("nameSuffex", "_eta");
347  desc.add<std::string>("titleSuffex", ";#eta;mass [GeV]");
348  return desc;
349 }
350 
352  const std::string& name,
353  const std::string& title,
354  const std::vector<float>& massBins) const {
355  return iBooker.book2D((name + nameSuffex_).c_str(),
356  (title + titleSuffex_).c_str(),
357  bins_.size() - 1,
358  bins_.data(),
359  massBins.size() - 1,
360  massBins.data());
361 }
362 
364  const std::string& name,
365  const std::string& title,
366  const HistDefs& histDefs) {
367  hists_ = histDefs.bookHists(iBooker, name, title);
368 }
369 
371  for (auto& hist : hists_) {
372  hist.first(probe, mass, hist.second);
373  }
374 }
375 
377  DQMStore::IBooker& iBooker,
378  const HistDefs& histDefs) {
379  hists_.bookHists(iBooker, tagName + "_" + probeFilter_, tagName + "_" + probeFilter_, histDefs);
380 }
381 
383  const trigger::TriggerEvent& trigEvt,
385  auto probeKeys = getKeys(trigEvt, probeFilter_);
386  for (auto probeKey : probeKeys) {
387  const trigger::TriggerObject& probe = trigEvt.getObjects()[probeKey];
388  if (tagKey != probeKey && probeCuts(probe)) {
389  const trigger::TriggerObject& tag = trigEvt.getObjects()[tagKey];
390  auto massFunc = [](float pt1, float eta1, float phi1, float pt2, float eta2, float phi2) {
391  return std::sqrt(2 * pt1 * pt2 * (std::cosh(eta1 - eta2) - std::cos(phi1 - phi2)));
392  };
393  float mass = massFunc(tag.pt(), tag.eta(), tag.phi(), probe.pt(), probe.eta(), probe.phi());
394  hists_.fill(probe, mass);
395  }
396  }
397 }
trigger::TriggerObject::phi
float phi() const
Definition: TriggerObject.h:54
muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
TrigObjTnPHistColl::PathSelector::PathSelector
PathSelector(const edm::ParameterSet &config)
Definition: TrigObjTnPHistColl.cc:133
TrigObjTnPHistColl::PathSelector::expandSelectionStr
static std::string expandSelectionStr(const std::string &selStr, const HLTConfigProvider &hltConfig, bool isAND, int verbose)
Definition: TrigObjTnPHistColl.cc:184
TrigObjTnPHistColl::getKeys
static const trigger::Keys getKeys(const trigger::TriggerEvent &trigEvt, const std::string &filterName)
Definition: TrigObjTnPHistColl.cc:68
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
TrigObjTnPHistColl::probeHists_
std::vector< ProbeData > probeHists_
Definition: TrigObjTnPHistColl.h:245
trigger::TriggerEvent::sizeFilters
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
TrigObjTnPHistColl::FilterSelector::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: TrigObjTnPHistColl.cc:84
electrons_cff.bool
bool
Definition: electrons_cff.py:393
TrigObjTnPHistColl::PathSelector::expandPath
static std::string expandPath(const std::string &pathPattern, const HLTConfigProvider &hltConfig, bool isAND, int verbose)
Definition: TrigObjTnPHistColl.cc:203
trigger::TriggerEvent::filterKeys
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:118
funct::false
false
Definition: Factorize.h:29
trigNames
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:57
edm
HLT enums.
Definition: AlignableModifier.h:19
TrigObjTnPHistColl::HistFiller::operator()
void operator()(const trigger::TriggerObject &probe, float mass, dqm::reco::MonitorElement *hist) const
Definition: TrigObjTnPHistColl.cc:300
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
TrigObjTnPHistColl::TrigObjVarF::TrigObjVarF
TrigObjVarF(std::string varName)
Definition: TrigObjTnPHistColl.cc:266
TrigObjTnPHistColl::HistDefs::Data::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: TrigObjTnPHistColl.cc:342
TrigObjTnPHistColl::fill
void fill(const trigger::TriggerEvent &trigEvt, const edm::TriggerResults &trigResults, const edm::TriggerNames &trigNames) const
Definition: TrigObjTnPHistColl.cc:49
mps_check.msg
tuple msg
Definition: mps_check.py:285
TrigObjTnPHistColl::FilterSelector::cleanTrigKeys
static void cleanTrigKeys(trigger::Keys &keys)
Definition: TrigObjTnPHistColl.cc:122
relativeConstraints.keys
keys
Definition: relativeConstraints.py:89
compare.hists
hists
Definition: compare.py:319
TrigObjTnPHistColl::HistColl::bookHists
void bookHists(DQMStore::IBooker &iBooker, const std::string &name, const std::string &title, const HistDefs &histDefs)
Definition: TrigObjTnPHistColl.cc:363
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
TrigObjTnPHistColl::HistDefs::HistDefs
HistDefs(const edm::ParameterSet &config)
Definition: TrigObjTnPHistColl.cc:307
B2GTnPMonitor_cfi.histConfigs
histConfigs
Definition: B2GTnPMonitor_cfi.py:126
TrigObjTnPHistColl::PathSelector::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: TrigObjTnPHistColl.cc:139
VarRangeCutColl< trigger::TriggerObject >
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
TrigObjTnPHistColl::TrigObjTnPHistColl
TrigObjTnPHistColl(const edm::ParameterSet &config)
Definition: TrigObjTnPHistColl.cc:11
TrigObjTnPHistColl::tagCuts_
VarRangeCutColl< trigger::TriggerObject > tagCuts_
Definition: TrigObjTnPHistColl.h:240
TrigObjTnPHistColl::ProbeData::fill
void fill(const trigger::size_type tagKey, const trigger::TriggerEvent &trigEvt, const VarRangeCutColl< trigger::TriggerObject > &probeCuts) const
Definition: TrigObjTnPHistColl.cc:382
TrigObjTnPHistColl::HistDefs::Data::Data
Data(const edm::ParameterSet &config)
Definition: TrigObjTnPHistColl.cc:336
trigObjTnPSource_cfi.isAND
isAND
Definition: trigObjTnPSource_cfi.py:61
TrigObjTnPHistColl::FilterSelector::FilterSet::FilterSet
FilterSet(const edm::ParameterSet &config)
Definition: TrigObjTnPHistColl.cc:130
config
Definition: config.py:1
accept
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
TrigObjTnPHistColl::HistDefs::histData_
std::vector< Data > histData_
Definition: TrigObjTnPHistColl.h:197
trigger::TriggerObject::pt
float pt() const
Definition: TriggerObject.h:52
TrigObjTnPHistColl::PathSelector::operator()
bool operator()(const edm::TriggerResults &trigResults, const edm::TriggerNames &trigNames) const
Definition: TrigObjTnPHistColl.cc:155
trigObjTnPSource_cfi.histDefs
histDefs
Definition: trigObjTnPSource_cfi.py:73
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
TrigObjTnPHistColl::FilterSelector::mergeTrigKeys
static void mergeTrigKeys(trigger::Keys &keys, const trigger::Keys &keysToMerge, bool isAND)
Definition: TrigObjTnPHistColl.cc:106
TrigObjTnPHistColl::FilterSelector::FilterSelector
FilterSelector(const edm::ParameterSet &config)
Definition: TrigObjTnPHistColl.cc:77
compare.hist
hist
Definition: compare.py:376
hltMonBTagIPClient_cfi.pathName
pathName
Definition: hltMonBTagIPClient_cfi.py:5
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
HLT_FULL_cff.eta2
eta2
Definition: HLT_FULL_cff.py:9542
TrigObjTnPHistColl::probeCuts_
VarRangeCutColl< trigger::TriggerObject > probeCuts_
Definition: TrigObjTnPHistColl.h:240
submitPVResolutionJobs.count
count
Definition: submitPVResolutionJobs.py:352
HLT_FULL_cff.pt1
pt1
Definition: HLT_FULL_cff.py:9870
verbose
static constexpr int verbose
Definition: HLTExoticaSubAnalysis.cc:25
trigger::TriggerObject
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TrigObjTnPHistColl::FilterSelector::getPassingKeys
const trigger::Keys getPassingKeys(const trigger::TriggerEvent &trigEvt) const
Definition: TrigObjTnPHistColl.cc:91
TrigObjTnPHistColl::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: TrigObjTnPHistColl.cc:27
HLT_FULL_cff.eta1
eta1
Definition: HLT_FULL_cff.py:9541
HLTEGTnPMonitor_cfi.probeColl
probeColl
Definition: HLTEGTnPMonitor_cfi.py:62
TrigObjTnPHistColl::evtTrigSel_
PathSelector evtTrigSel_
Definition: TrigObjTnPHistColl.h:246
TrigObjTnPHistColl::collName_
std::string collName_
Definition: TrigObjTnPHistColl.h:242
edm::ParameterSet
Definition: ParameterSet.h:47
TrigObjTnPHistColl::HistFiller::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: TrigObjTnPHistColl.cc:293
TrigObjTnPHistColl::HistDefs
Definition: TrigObjTnPHistColl.h:170
ParameterSet
Definition: Functions.h:16
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
TrigObjTnPHistColl::FilterSelector::FilterSet::getPassingKeys
const trigger::Keys getPassingKeys(const trigger::TriggerEvent &trigEvt) const
Definition: TrigObjTnPHistColl.cc:249
L1GtLogicParser::operandTokenVector
std::vector< OperandToken > & operandTokenVector()
return the vector of operand tokens
Definition: L1GtLogicParser.h:111
TrigObjTnPHistColl::HistFiller::HistFiller
HistFiller(const edm::ParameterSet &config)
Definition: TrigObjTnPHistColl.cc:289
createfilelist.int
int
Definition: createfilelist.py:10
TriggerNames.h
trigger::TriggerEvent::filterIndex
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
Definition: TriggerEvent.h:132
TrigObjTnPHistColl::HistDefs::bookHists
std::vector< std::pair< HistFiller, dqm::reco::MonitorElement * > > bookHists(DQMStore::IBooker &iBooker, const std::string &name, const std::string &title) const
Definition: TrigObjTnPHistColl.cc:326
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
trigger::TriggerObject::eta
float eta() const
Definition: TriggerObject.h:53
TrigObjTnPHistColl::FilterSelector::FilterSet::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: TrigObjTnPHistColl.cc:242
HLT_FULL_cff.pt2
pt2
Definition: HLT_FULL_cff.py:9872
trigger::TriggerEvent
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
L1GtLogicParser::expressionResult
virtual const bool expressionResult() const
Definition: L1GtLogicParser.cc:579
trigger::TriggerEvent::getObjects
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
TrigObjTnPHistColl::PathSelector::init
void init(const HLTConfigProvider &hltConfig)
Definition: TrigObjTnPHistColl.cc:147
pdwgDoubleElectron_cfi.filterName
filterName
Definition: pdwgDoubleElectron_cfi.py:7
TrigObjTnPHistColl::TrigObjVarF::isAbs_
bool isAbs_
Definition: TrigObjTnPHistColl.h:155
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
HLTConfigProvider
Definition: HLTConfigProvider.h:29
TrigObjTnPHistColl::bookHists
void bookHists(DQMStore::IBooker &iBooker)
Definition: TrigObjTnPHistColl.cc:42
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
trigObjTnPSource_cfi.probeFilters
probeFilters
Definition: trigObjTnPSource_cfi.py:77
TrigObjTnPHistColl::HistDefs::Data
Definition: TrigObjTnPHistColl.h:172
tier0.unique
def unique(seq, keepstr=True)
Definition: tier0.py:24
L1GtLogicParser
Definition: L1GtLogicParser.h:31
TrigObjTnPHistColl::histDefs_
HistDefs histDefs_
Definition: TrigObjTnPHistColl.h:244
TrigObjTnPHistColl::ProbeData
Definition: TrigObjTnPHistColl.h:214
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
Exception
Definition: hltDiff.cc:246
edm::TriggerNames
Definition: TriggerNames.h:55
EgHLTOffHistBins_cfi.mass
mass
Definition: EgHLTOffHistBins_cfi.py:34
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trigger::TriggerEvent::usedProcessName
const std::string & usedProcessName() const
getters
Definition: TriggerEvent.h:98
HltComparatorCreateWorkflow.hltConfig
hltConfig
Definition: HltComparatorCreateWorkflow.py:161
VarRangeCut
Definition: VarRangeCut.h:29
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
edm::HLTGlobalStatus::accept
bool accept() const
Has at least one path accepted the event?
Definition: HLTGlobalStatus.h:49
dqm::implementation::IBooker
Definition: DQMStore.h:43
TrigObjTnPHistColl::ProbeData::bookHists
void bookHists(const std::string &tagName, DQMStore::IBooker &iBooker, const HistDefs &histDefs)
Definition: TrigObjTnPHistColl.cc:376
TrigObjTnPHistColl::HistDefs::Data::book
dqm::reco::MonitorElement * book(DQMStore::IBooker &iBooker, const std::string &name, const std::string &title, const std::vector< float > &massBins) const
Definition: TrigObjTnPHistColl.cc:351
trigObjTnPSource_cfi.massBins
massBins
Definition: trigObjTnPSource_cfi.py:74
TrigObjTnPHistColl::FilterSelector::FilterSet
Definition: TrigObjTnPHistColl.h:93
TrigObjTnPHistColl.h
crabWrapper.key
key
Definition: crabWrapper.py:19
TrigObjTnPHistColl::FilterSelector::filterSets_
std::vector< FilterSet > filterSets_
Definition: TrigObjTnPHistColl.h:114
TrigObjTnPHistColl::HistColl::fill
void fill(const trigger::TriggerObject &probe, float mass) const
Definition: TrigObjTnPHistColl.cc:370
JetPartonCorrections_cff.tagName
tagName
Definition: JetPartonCorrections_cff.py:12
TrigObjTnPHistColl::folderName_
std::string folderName_
Definition: TrigObjTnPHistColl.h:243
edm::InputTag
Definition: InputTag.h:15
edm::TriggerResults
Definition: TriggerResults.h:35
trigObjTnPSource_cfi.probeCuts
probeCuts
Definition: trigObjTnPSource_cfi.py:54
TrigObjTnPHistColl::HistDefs::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: TrigObjTnPHistColl.cc:315
TrigObjTnPHistColl::tagFilters_
FilterSelector tagFilters_
Definition: TrigObjTnPHistColl.h:241
unpackBuffers-CaloStage2.token
token
Definition: unpackBuffers-CaloStage2.py:318
TrigObjTnPHistColl::TrigObjVarF::varFunc_
float(trigger::TriggerObject::* varFunc_)() const
Definition: TrigObjTnPHistColl.h:154