CMS 3D CMS Logo

HLTPrescaleProvider.h
Go to the documentation of this file.
1 #ifndef HLTcore_HLTPrescaleProvider_h
2 #define HLTcore_HLTPrescaleProvider_h
3 
23 
24 #include <string>
25 #include <utility>
26 #include <vector>
27 
28 namespace edm {
29  class ConsumesCollector;
30  class Event;
31  class EventSetup;
32  class ParameterSet;
33  class Run;
34 }
35 
37 
38 public:
39 
40  template <typename T>
43  T& module);
44 
45  template <typename T>
48  T& module);
49 
53  bool init(const edm::Run& iRun, const edm::EventSetup& iSetup,
54  const std::string& processName, bool& changed);
55 
56  HLTConfigProvider const& hltConfigProvider() const { return hltConfigProvider_; }
57  L1GtUtils const& l1GtUtils() const { return l1GtUtils_; }
58  l1t::L1TGlobalUtil const& l1tGlobalUtil() const { return l1tGlobalUtil_; }
59 
62  int prescaleSet(const edm::Event& iEvent, const edm::EventSetup& iSetup);
63  // negative == error
64 
66  unsigned int prescaleValue(const edm::Event& iEvent,
67  const edm::EventSetup& iSetup,
68  const std::string& trigger);
69 
71  std::pair<int,int> prescaleValues(const edm::Event& iEvent,
72  const edm::EventSetup& iSetup,
73  const std::string& trigger);
74  // any one negative => error in retrieving this (L1T or HLT) prescale
75 
76  // In case of a complex Boolean expression as L1 seed
77  std::pair<std::vector<std::pair<std::string,int> >,int> prescaleValuesInDetail(const edm::Event& iEvent,
78  const edm::EventSetup& iSetup,
79  const std::string& trigger);
80  // Event rejected by HLTPrescaler on ith HLT path?
81  bool rejectedByHLTPrescaler(const edm::TriggerResults& triggerResults, unsigned int i) const;
82 
83  private:
84 
88  unsigned char count_[5] = {0,0,0,0,0};
89 
90 };
91 
92 template <typename T>
95  T& module) :
96  HLTPrescaleProvider(pset, iC, module) { }
97 
98 template <typename T>
101  T& module) :
102  l1GtUtils_(pset, iC, false, module), l1tGlobalUtil_(pset, iC, module) { }
103 #endif
HLTConfigProvider hltConfigProvider_
int init
Definition: HydjetWrapper.h:67
int iEvent
Definition: GenABIO.cc:224
l1t::L1TGlobalUtil const & l1tGlobalUtil() const
l1t::L1TGlobalUtil l1tGlobalUtil_
L1GtUtils const & l1GtUtils() const
HLTPrescaleProvider(edm::ParameterSet const &pset, edm::ConsumesCollector &&iC, T &module)
static std::string const triggerResults("TriggerResults")
HLTConfigProvider const & hltConfigProvider() const
HLT enums.
long double T
Definition: vlib.h:208
Definition: Run.h:45