CMS 3D CMS Logo

HLTPrescaleProvider.h
Go to the documentation of this file.
1 #ifndef HLTcore_HLTPrescaleProvider_h
2 #define HLTcore_HLTPrescaleProvider_h
3 
22 
23 #include <string>
24 #include <utility>
25 #include <vector>
26 
27 namespace edm {
28  class ConsumesCollector;
29  class Event;
30  class EventSetup;
31  class ParameterSet;
32  class Run;
33 }
34 
36 
37 public:
38 
39  template <typename T>
42  T& module);
43 
44  template <typename T>
47  T& module);
48 
52  bool init(const edm::Run& iRun, const edm::EventSetup& iSetup,
53  const std::string& processName, bool& changed);
54 
55  HLTConfigProvider const& hltConfigProvider() const { return hltConfigProvider_; }
56  L1GtUtils const& l1GtUtils() const { return l1GtUtils_; }
57  l1t::L1TGlobalUtil const& l1tGlobalUtil() const { return l1tGlobalUtil_; }
58 
61  int prescaleSet(const edm::Event& iEvent, const edm::EventSetup& iSetup);
62  // negative == error
63 
65  unsigned int prescaleValue(const edm::Event& iEvent,
66  const edm::EventSetup& iSetup,
67  const std::string& trigger);
68 
70  std::pair<int,int> prescaleValues(const edm::Event& iEvent,
71  const edm::EventSetup& iSetup,
72  const std::string& trigger);
73  // any one negative => error in retrieving this (L1T or HLT) prescale
74 
75  // In case of a complex Boolean expression as L1 seed
76  std::pair<std::vector<std::pair<std::string,int> >,int> prescaleValuesInDetail(const edm::Event& iEvent,
77  const edm::EventSetup& iSetup,
78  const std::string& trigger);
79 
80  private:
81 
85  unsigned char count_[5] = {0,0,0,0,0};
86 
87 };
88 
89 template <typename T>
92  T& module) :
93  HLTPrescaleProvider(pset, iC, module) { }
94 
95 template <typename T>
98  T& module) :
99  l1GtUtils_(pset, iC, false, module), l1tGlobalUtil_(pset, iC, module) { }
100 #endif
HLTConfigProvider hltConfigProvider_
int iEvent
Definition: GenABIO.cc:230
l1t::L1TGlobalUtil const & l1tGlobalUtil() const
l1t::L1TGlobalUtil l1tGlobalUtil_
L1GtUtils const & l1GtUtils() const
HLTPrescaleProvider(edm::ParameterSet const &pset, edm::ConsumesCollector &&iC, T &module)
HLTConfigProvider const & hltConfigProvider() const
HLT enums.
long double T
Definition: vlib.h:208
Definition: Run.h:42