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 
19 // CMSSW headers
26 
27 // forward declarations
28 namespace edm {
30  class TriggerResults;
31 }
33 
34 //
35 // class declaration
36 //
37 
38 class HLTHighLevel : public edm::EDFilter {
39 
40  public:
41 
42  explicit HLTHighLevel(const edm::ParameterSet&);
43  ~HLTHighLevel() override;
44  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
45 
46  bool filter(edm::Event&, const edm::EventSetup&) override;
47 
49  std::vector<std::string> pathsFromSetup(const std::string &key,
50  const edm::Event &,
51  const edm::EventSetup &iSetup) const;
52 
53  private:
55  void init(const edm::TriggerResults & results,
56  const edm::Event&,
57  const edm::EventSetup &iSetup,
58  const edm::TriggerNames & triggerNames);
59 
63 
66 
68  bool andOr_;
69 
71  bool throw_;
72 
74  std::string const & pathName(const edm::Event &) const;
75  std::string const & moduleLabel() const;
76 
81 
83  std::vector<std::string> HLTPatterns_;
84 
86  std::vector<std::string> HLTPathsByName_;
87 
89  std::vector<unsigned int> HLTPathsByIndex_;
90 };
91 
92 #endif //HLTHighLevel_h
int init
Definition: HydjetWrapper.h:67
bool andOr_
false = and-mode (all requested triggers), true = or-mode (at least one)
Definition: HLTHighLevel.h:68
std::vector< unsigned int > HLTPathsByIndex_
list of required HLT triggers by HLT index
Definition: HLTHighLevel.h:89
edm::ParameterSetID triggerNamesID_
HLT trigger names.
Definition: HLTHighLevel.h:65
edm::EDGetTokenT< edm::TriggerResults > inputToken_
Definition: HLTHighLevel.h:62
const std::string eventSetupPathsKey_
not empty => use read paths from AlCaRecoTriggerBitsRcd via this key
Definition: HLTHighLevel.h:78
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool throw_
throw on any requested trigger being unknown
Definition: HLTHighLevel.h:71
HLT enums.
std::vector< std::string > HLTPathsByName_
list of required HLT triggers by HLT name
Definition: HLTHighLevel.h:86
std::vector< std::string > HLTPatterns_
input patterns that will be expanded into trigger names
Definition: HLTHighLevel.h:83
edm::InputTag inputTag_
HLT TriggerResults EDProduct.
Definition: HLTHighLevel.h:61
edm::ESWatcher< AlCaRecoTriggerBitsRcd > * watchAlCaRecoTriggerBitsRcd_
Watcher to be created and used if &#39;eventSetupPathsKey_&#39; non empty:
Definition: HLTHighLevel.h:80