CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTPrescaleProvider.h
Go to the documentation of this file.
1 #ifndef HLTcore_HLTPrescaleProvider_h
2 #define HLTcore_HLTPrescaleProvider_h
3 
20 
21 #include <string>
22 #include <utility>
23 #include <vector>
24 
25 namespace edm {
26  class ConsumesCollector;
27  class Event;
28  class EventSetup;
29  class ParameterSet;
30  class Run;
31 }
32 
34 
35 public:
36 
37  template <typename T>
40  T& module);
41 
42  template <typename T>
45  T& module);
46 
50  bool init(const edm::Run& iRun, const edm::EventSetup& iSetup,
51  const std::string& processName, bool& changed);
52 
54  L1GtUtils const& l1GtUtils() const { return l1GtUtils_; }
55 
58  int prescaleSet(const edm::Event& iEvent, const edm::EventSetup& iSetup);
59  // negative == error
60 
62  unsigned int prescaleValue(const edm::Event& iEvent,
63  const edm::EventSetup& iSetup,
64  const std::string& trigger);
65 
67  std::pair<int,int> prescaleValues(const edm::Event& iEvent,
68  const edm::EventSetup& iSetup,
69  const std::string& trigger);
70  // any one negative => error in retrieving this (L1T or HLT) prescale
71 
72  // In case of a complex Boolean expression as L1 seed
73  std::pair<std::vector<std::pair<std::string,int> >,int> prescaleValuesInDetail(const edm::Event& iEvent,
74  const edm::EventSetup& iSetup,
75  const std::string& trigger);
76 
77  private:
78 
81  unsigned char count_[5] = {0,0,0,0,0};
82 
83 };
84 
85 template <typename T>
88  T& module) :
89  HLTPrescaleProvider(pset, iC, module) { }
90 
91 template <typename T>
94  T& module) :
95  l1GtUtils_(pset, iC, false, module) { }
96 #endif
HLTConfigProvider hltConfigProvider_
std::pair< std::vector< std::pair< std::string, int > >, int > prescaleValuesInDetail(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger)
Definition: Event.h:16
int iEvent
Definition: GenABIO.cc:230
int prescaleSet(const edm::Event &iEvent, const edm::EventSetup &iSetup)
L1GtUtils const & l1GtUtils() const
HLTPrescaleProvider(edm::ParameterSet const &pset, edm::ConsumesCollector &&iC, T &module)
std::pair< int, int > prescaleValues(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger)
Combined L1T (pair.first) and HLT (pair.second) prescales per HLT path.
HLTConfigProvider const & hltConfigProvider() const
unsigned char count_[5]
unsigned int prescaleValue(const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger)
combining the two methods above
volatile std::atomic< bool > shutdown_flag false
long double T
Definition: vlib.h:208
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
Definition: Run.h:43