CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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();
44  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
45 
46  virtual bool filter(edm::Event&, const edm::EventSetup&);
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
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:96
bool andOr_
false = and-mode (all requested triggers), true = or-mode (at least one)
Definition: HLTHighLevel.h:68
std::string const & moduleLabel() const
tuple TriggerResults
Definition: old-fu_pass.py:28
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 =&gt; use read paths from AlCaRecoTriggerBitsRcd via this key
Definition: HLTHighLevel.h:78
virtual bool filter(edm::Event &, const edm::EventSetup &)
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 throw_
throw on any requested trigger being unknown
Definition: HLTHighLevel.h:71
HLTHighLevel(const edm::ParameterSet &)
Definition: HLTHighLevel.cc:39
std::string const & pathName(const edm::Event &) const
stolen from HLTFilter
std::vector< std::string > HLTPathsByName_
list of required HLT triggers by HLT name
Definition: HLTHighLevel.h:86
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HLTHighLevel.cc:77
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