16 iRec.hltPathName =
"";
17 iRec.hltPathIndex = (
unsigned int)-1;
25 iRec.hltPathName = *
match;
39 edm::LogVerbatim(
"TriggerTools") <<
"TriggerTools::initHLTObjects initHLTObjects";
45 std::vector<std::string> hltFiltersWithTags_;
48 if (iPathName != iRec.hltPathName) {
51 edm::LogVerbatim(
"TriggerTools") <<
"TriggerTools::initHLTObjects trigger name: " << iPathName;
53 iRec.hltPathIndex = hltConfigProvider_.
triggerIndex(iPathName);
55 auto const& moduleLabels(hltConfigProvider_.
moduleLabels(iRec.hltPathIndex));
57 for (
int idx = moduleLabels.size() - 1;
idx >= 0; --
idx) {
61 if (moduleEDMType !=
"EDFilter") {
66 if ((moduleType ==
"HLTTriggerTypeFilter")
or (moduleType ==
"HLTBool")
or (moduleType ==
"HLTPrescaler")) {
81 if (iRec.hltPathIndex == (
unsigned int)-1) {
82 edm::LogWarning(
"TriggerTools") <<
"TriggerTools::initHLTObjects hltPathIndex has not been found for: " 83 << iRec.hltPattern << std::endl;
95 LogDebug(
"TriggerTools") <<
"TriggerTools::readEvent";
99 edm::LogWarning(
"TriggerTools") <<
"TriggerTools::readEvent No valid trigger result product found";
104 edm::LogWarning(
"TriggerTools") <<
"TriggerTools::readEvent No valid trigger event product found";
108 for (
unsigned int i = 0;
i <
records.size();
i++) {
109 if (
records.at(
i).hltPathIndex == (
unsigned int)-1) {
110 LogDebug(
"TriggerTools") <<
"TriggerTools::readEvent hltPathIndex has not been set" << std::endl;
135 for (
unsigned int i = 0;
i <
records.size();
i++) {
144 for (
unsigned int hlto = 0; hlto <
keys.size(); hlto++) {
bool accept() const
Has at least one path accepted the event?
Log< level::Info, true > LogVerbatim
const Keys & filterKeys(trigger::size_type index) const
trigger::size_type sizeFilters() const
bool is_glob(std::string const &pattern)
const std::string moduleType(const std::string &module) const
C++ class name of module.
Single trigger physics object (e.g., an isolated muon)
bool saveTags(const std::string &module) const
Is module an L3 filter (ie, tracked saveTags=true)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
const TriggerObjectCollection & getObjects() const
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
std::vector< size_type > Keys
const std::vector< std::string > & triggerNames() const
names of trigger paths
std::vector< std::vector< std::string >::const_iterator > regexMatch(std::vector< std::string > const &strings, std::regex const ®exp)
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Log< level::Warning, false > LogWarning