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
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
bool andOr_
false = and-mode (all requested triggers), true = or-mode (at least one)
Definition: HLTHighLevel.h:69
std::string const & moduleLabel() const
std::vector< unsigned int > HLTPathsByIndex_
list of required HLT triggers by HLT index
Definition: HLTHighLevel.h:92
edm::ParameterSetID triggerNamesID_
HLT trigger names.
Definition: HLTHighLevel.h:66
std::vector< std::string > pathsFromSetup(const std::string &key, const edm::Event &, const edm::EventSetup &iSetup) const
get HLTPaths with key &#39;key&#39; from EventSetup (AlCaRecoTriggerBitsRcd)
bool filter(edm::Event &, const edm::EventSetup &) override
std::optional< edm::ESWatcher< AlCaRecoTriggerBitsRcd > > watchAlCaRecoTriggerBitsRcd_
Watcher to be created and used if &#39;eventSetupPathsKey_&#39; non empty:
Definition: HLTHighLevel.h:81
edm::ESGetToken< AlCaRecoTriggerBits, AlCaRecoTriggerBitsRcd > alcaRecotriggerBitsToken_
ESGetToken to read AlCaRecoTriggerBits.
Definition: HLTHighLevel.h:83
edm::EDGetTokenT< edm::TriggerResults > inputToken_
Definition: HLTHighLevel.h:63
const std::string eventSetupPathsKey_
not empty => use read paths from AlCaRecoTriggerBitsRcd via this key
Definition: HLTHighLevel.h:79
bool throw_
throw on any requested trigger being unknown
Definition: HLTHighLevel.h:72
HLTHighLevel(const edm::ParameterSet &)
Definition: HLTHighLevel.cc:36
HLT enums.
results
Definition: mysort.py:8
std::vector< std::string > HLTPathsByName_
list of required HLT triggers by HLT name
Definition: HLTHighLevel.h:89
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HLTHighLevel.cc:67
std::vector< std::string > HLTPatterns_
input patterns that will be expanded into trigger names
Definition: HLTHighLevel.h:86
edm::InputTag inputTag_
HLT TriggerResults EDProduct.
Definition: HLTHighLevel.h:62
std::string const & pathName(const edm::Event &) const
stolen from HLTFilter