CMS 3D CMS Logo

HLTHighLevel.h
Go to the documentation of this file.
1 #ifndef HLTHighLevel_h
2 #define HLTHighLevel_h
3 
15 // C++ headers
16 #include <vector>
17 #include <string>
18 #include <optional>
19 
20 // CMSSW headers
28 
29 // forward declarations
30 namespace edm {
32  class TriggerResults;
33 } // namespace edm
34 
37 
38 //
39 // class declaration
40 //
41 
43 public:
44  explicit HLTHighLevel(const edm::ParameterSet &);
45  static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
46 
47  bool filter(edm::Event &, const edm::EventSetup &) override;
48 
50  std::vector<std::string> pathsFromSetup(const std::string &key,
51  const edm::Event &,
52  const edm::EventSetup &iSetup) const;
53 
54 private:
56  void init(const edm::TriggerResults &results,
57  const edm::Event &,
58  const edm::EventSetup &iSetup,
60 
64 
67 
69  bool andOr_;
70 
72  bool throw_;
73 
75  std::string const &pathName(const edm::Event &) const;
76  std::string const &moduleLabel() const;
77 
81  std::optional<edm::ESWatcher<AlCaRecoTriggerBitsRcd>> watchAlCaRecoTriggerBitsRcd_;
84 
86  std::vector<std::string> HLTPatterns_;
87 
89  std::vector<std::string> HLTPathsByName_;
90 
92  std::vector<unsigned int> HLTPathsByIndex_;
93 };
94 
95 #endif //HLTHighLevel_h
HLTHighLevel::inputToken_
edm::EDGetTokenT< edm::TriggerResults > inputToken_
Definition: HLTHighLevel.h:63
edm::EDGetTokenT< edm::TriggerResults >
edm
HLT enums.
Definition: AlignableModifier.h:19
HLTHighLevel
Definition: HLTHighLevel.h:42
bookConverter.results
results
Definition: bookConverter.py:144
HLTHighLevel::watchAlCaRecoTriggerBitsRcd_
std::optional< edm::ESWatcher< AlCaRecoTriggerBitsRcd > > watchAlCaRecoTriggerBitsRcd_
Watcher to be created and used if 'eventSetupPathsKey_' non empty:
Definition: HLTHighLevel.h:81
HLTHighLevel::HLTPatterns_
std::vector< std::string > HLTPatterns_
input patterns that will be expanded into trigger names
Definition: HLTHighLevel.h:86
ESGetToken.h
HLTHighLevel::alcaRecotriggerBitsToken_
edm::ESGetToken< AlCaRecoTriggerBits, AlCaRecoTriggerBitsRcd > alcaRecotriggerBitsToken_
ESGetToken to read AlCaRecoTriggerBits.
Definition: HLTHighLevel.h:83
HLTHighLevel::moduleLabel
const std::string & moduleLabel() const
Definition: HLTHighLevel.cc:266
HLTHighLevel::pathName
const std::string & pathName(const edm::Event &) const
stolen from HLTFilter
Definition: HLTHighLevel.cc:262
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
HLTHighLevel::throw_
bool throw_
throw on any requested trigger being unknown
Definition: HLTHighLevel.h:72
edm::Hash< ParameterSetType >
HLTHighLevel::HLTPathsByIndex_
std::vector< unsigned int > HLTPathsByIndex_
list of required HLT triggers by HLT index
Definition: HLTHighLevel.h:92
AlCaRecoTriggerBits
Definition: AlCaRecoTriggerBits.h:9
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
AlCaRecoTriggerBitsRcd
Definition: AlCaRecoTriggerBitsRcd.h:22
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
HLTHighLevel::triggerNamesID_
edm::ParameterSetID triggerNamesID_
HLT trigger names.
Definition: HLTHighLevel.h:66
HLTHighLevel::pathsFromSetup
std::vector< std::string > pathsFromSetup(const std::string &key, const edm::Event &, const edm::EventSetup &iSetup) const
get HLTPaths with key 'key' from EventSetup (AlCaRecoTriggerBitsRcd)
Definition: HLTHighLevel.cc:173
TriggerNames.h
HLTHighLevel::inputTag_
edm::InputTag inputTag_
HLT TriggerResults EDProduct.
Definition: HLTHighLevel.h:62
HLTHighLevel::filter
bool filter(edm::Event &, const edm::EventSetup &) override
Definition: HLTHighLevel.cc:194
HLTHighLevel::eventSetupPathsKey_
const std::string eventSetupPathsKey_
not empty => use read paths from AlCaRecoTriggerBitsRcd via this key
Definition: HLTHighLevel.h:79
edm::EventSetup
Definition: EventSetup.h:57
HLTHighLevel::andOr_
bool andOr_
false = and-mode (all requested triggers), true = or-mode (at least one)
Definition: HLTHighLevel.h:69
edm::ESGetToken< AlCaRecoTriggerBits, AlCaRecoTriggerBitsRcd >
HLTHighLevel::HLTHighLevel
HLTHighLevel(const edm::ParameterSet &)
Definition: HLTHighLevel.cc:36
HLTHighLevel::init
void init(const edm::TriggerResults &results, const edm::Event &, const edm::EventSetup &iSetup, const edm::TriggerNames &triggerNames)
initialize the trigger conditions (call this if the trigger paths have changed)
Definition: HLTHighLevel.cc:86
ConfigurationDescriptions
ESWatcher.h
edm::TriggerNames
Definition: TriggerNames.h:55
HLTHighLevel::HLTPathsByName_
std::vector< std::string > HLTPathsByName_
list of required HLT triggers by HLT name
Definition: HLTHighLevel.h:89
HLTHighLevel::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HLTHighLevel.cc:67
ParameterSetID.h
EDFilter.h
ParameterSet.h
edm::stream::EDFilter
Definition: EDFilter.h:38
HLTObjectsMonitor_cfi.TriggerResults
TriggerResults
Definition: HLTObjectsMonitor_cfi.py:9
edm::Event
Definition: Event.h:73
crabWrapper.key
key
Definition: crabWrapper.py:19
edm::InputTag
Definition: InputTag.h:15
edm::TriggerResults
Definition: TriggerResults.h:35