CMS 3D CMS Logo

Functions
hltdqm Namespace Reference

Functions

template<typename ObjType >
std::function< float(const ObjType &)> getUnaryFuncExtraFloat (const std::string &varName)
 
template<typename ObjType >
std::function< float(const ObjType &)> getUnaryFuncFloat (const std::string &varName)
 
bool passTrig (const float objEta, float objPhi, const trigger::TriggerEvent &trigEvt, const std::string &filterName, const std::string &processName)
 
bool passTrig (const float objEta, float objPhi, const trigger::TriggerEvent &trigEvt, const std::vector< std::string > &filterNames, bool orFilters, const std::string &processName)
 
bool passTrig (const std::string &trigPattern, const edm::TriggerNames &trigNames, const edm::TriggerResults &trigResults)
 
template<typename ObjType >
float scEtaFunc (const ObjType &obj)
 

Function Documentation

◆ getUnaryFuncExtraFloat()

template<typename ObjType >
std::function<float(const ObjType&)> hltdqm::getUnaryFuncExtraFloat ( const std::string &  varName)

Definition at line 46 of file FunctionDefs.h.

46  {
47  std::function<float(const ObjType&)> varFunc;
48  return varFunc;
49  }

References dqmMemoryStats::float, and HiBiasedCentrality_cfi::function.

◆ getUnaryFuncFloat()

template<typename ObjType >
std::function<float(const ObjType&)> hltdqm::getUnaryFuncFloat ( const std::string &  varName)

Definition at line 53 of file FunctionDefs.h.

53  {
54  std::function<float(const ObjType&)> varFunc;
55  if (varName == "et")
56  varFunc = &ObjType::et;
57  else if (varName == "pt")
58  varFunc = &ObjType::pt;
59  else if (varName == "eta")
60  varFunc = &ObjType::eta;
61  else if (varName == "phi")
62  varFunc = &ObjType::phi;
63  else
64  varFunc = getUnaryFuncExtraFloat<ObjType>(varName);
65  //check if we never set varFunc and throw an error for anything but an empty input string
66  if (!varFunc && !varName.empty()) {
67  throw cms::Exception("ConfigError")
68  << "var " << varName << " not recognised " << __FILE__ << "," << __LINE__ << std::endl;
69  }
70  return varFunc;
71  }

References EgHLTOffHistBins_cfi::et, PVValHelper::eta, Exception, dqmMemoryStats::float, HiBiasedCentrality_cfi::function, PVValHelper::phi, and DiDispStaMuonMonitor_cfi::pt.

◆ passTrig() [1/3]

bool hltdqm::passTrig ( const float  objEta,
float  objPhi,
const trigger::TriggerEvent trigEvt,
const std::string &  filterName,
const std::string &  processName 
)

Definition at line 14 of file UtilFuncs.h.

18  {
19  constexpr float kMaxDR2 = 0.1 * 0.1;
20 
21  edm::InputTag filterTag(filterName, "", processName);
22  trigger::size_type filterIndex = trigEvt.filterIndex(filterTag);
23  if (filterIndex < trigEvt.sizeFilters()) { //check that filter is in triggerEvent
24  const trigger::Keys& trigKeys = trigEvt.filterKeys(filterIndex);
25  const trigger::TriggerObjectCollection& trigObjColl(trigEvt.getObjects());
26  for (unsigned short trigKey : trigKeys) {
27  const trigger::TriggerObject& trigObj = trigObjColl[trigKey];
28  if (reco::deltaR2(trigObj.eta(), trigObj.phi(), objEta, objPhi) < kMaxDR2)
29  return true;
30  }
31  }
32  return false;
33  }

References reco::deltaR2(), trigger::TriggerObject::eta(), trigger::TriggerEvent::filterIndex(), trigger::TriggerEvent::filterKeys(), pdwgDoubleElectron_cfi::filterName, trigger::TriggerEvent::getObjects(), trigger::TriggerObject::phi(), SimL1EmulatorRepack_CalouGT_cff::processName, and trigger::TriggerEvent::sizeFilters().

Referenced by L1Muon2RecoTreeProducer::analyze(), HLTDQMFilterEffHists< ProbeType >::fillHists(), HLTDQMFilterTnPEffHists< TagType, ProbeType >::fillHists(), HLTDQMTagAndProbeEff< TagType, TagCollType, ProbeType, ProbeCollType >::getPassingRefs(), WPlusJetsEventSelector::operator()(), and passTrig().

◆ passTrig() [2/3]

bool hltdqm::passTrig ( const float  objEta,
float  objPhi,
const trigger::TriggerEvent trigEvt,
const std::vector< std::string > &  filterNames,
bool  orFilters,
const std::string &  processName 
)

Definition at line 36 of file UtilFuncs.h.

41  {
42  if (orFilters) {
43  if (filterNames.empty())
44  return true; //auto pass if empty filters
45  for (auto& filterName : filterNames) {
46  if (passTrig(objEta, objPhi, trigEvt, filterName, processName) == true)
47  return true;
48  }
49  return false;
50  } else {
51  for (auto& filterName : filterNames) {
52  if (passTrig(objEta, objPhi, trigEvt, filterName, processName) == false)
53  return false;
54  }
55  return true;
56  }
57  }

References pdwgDoubleElectron_cfi::filterName, passTrig(), and SimL1EmulatorRepack_CalouGT_cff::processName.

◆ passTrig() [3/3]

bool hltdqm::passTrig ( const std::string &  trigPattern,
const edm::TriggerNames trigNames,
const edm::TriggerResults trigResults 
)

Definition at line 62 of file UtilFuncs.h.

64  {
65  if (trigPattern.empty())
66  return true;
67 
68  std::vector<std::string> trigNamesToPass;
69  if (edm::is_glob(trigPattern)) {
70  //matches is vector of string iterators
71  const auto& matches = edm::regexMatch(trigNames.triggerNames(), trigPattern);
72  for (auto& name : matches)
73  trigNamesToPass.push_back(*name);
74  } else {
75  trigNamesToPass.push_back(trigPattern); //not a pattern, much be a path
76  }
77  for (auto& trigName : trigNamesToPass) {
78  size_t pathIndex = trigNames.triggerIndex(trigName);
79  if (pathIndex < trigResults.size() && trigResults.accept(pathIndex))
80  return true;
81  }
82 
83  return false;
84  }

References edm::HLTGlobalStatus::accept(), edm::is_glob(), patCandidatesForDimuonsSequences_cff::matches, Skims_PA_cff::name, edm::regexMatch(), edm::HLTGlobalStatus::size(), EgHLTOffTrigSelection_cfi::trigName, and trigNames.

◆ scEtaFunc()

template<typename ObjType >
float hltdqm::scEtaFunc ( const ObjType &  obj)

Definition at line 40 of file FunctionDefs.h.

40  {
41  return obj.superCluster()->eta();
42  }

References getGTfromDQMFile::obj.

trigger::TriggerObject::phi
float phi() const
Definition: TriggerObject.h:54
trigger::TriggerEvent::sizeFilters
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
hltdqm::passTrig
bool passTrig(const std::string &trigPattern, const edm::TriggerNames &trigNames, const edm::TriggerResults &trigResults)
Definition: UtilFuncs.h:62
trigger::TriggerEvent::filterKeys
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:118
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
trigNames
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:57
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
edm::regexMatch
std::vector< std::vector< std::string >::const_iterator > regexMatch(std::vector< std::string > const &strings, std::regex const &regexp)
Definition: RegexMatch.cc:26
edm::is_glob
bool is_glob(std::string const &pattern)
Definition: RegexMatch.cc:17
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
edm::HLTGlobalStatus::size
unsigned int size() const
Get number of paths stored.
Definition: HLTGlobalStatus.h:35
PVValHelper::eta
Definition: PVValidationHelpers.h:69
trigger::TriggerObject
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
EgHLTOffTrigSelection_cfi.trigName
trigName
Definition: EgHLTOffTrigSelection_cfi.py:8
PVValHelper::phi
Definition: PVValidationHelpers.h:68
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
reco::deltaR2
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16
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
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
trigger::TriggerObject::eta
float eta() const
Definition: TriggerObject.h:53
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
trigger::TriggerEvent::getObjects
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
SimL1EmulatorRepack_CalouGT_cff.processName
processName
Definition: SimL1EmulatorRepack_CalouGT_cff.py:17
pdwgDoubleElectron_cfi.filterName
filterName
Definition: pdwgDoubleElectron_cfi.py:7
Exception
Definition: hltDiff.cc:246
HiBiasedCentrality_cfi.function
function
Definition: HiBiasedCentrality_cfi.py:4
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
edm::HLTGlobalStatus::accept
bool accept() const
Has at least one path accepted the event?
Definition: HLTGlobalStatus.h:49
patCandidatesForDimuonsSequences_cff.matches
matches
Definition: patCandidatesForDimuonsSequences_cff.py:131
edm::InputTag
Definition: InputTag.h:15