CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
L1RCTProducer.h
Go to the documentation of this file.
1 #ifndef L1RCTProducer_h
2 #define L1RCTProducer_h
3 
5 
11 
15 
16 // default scales
21 
28 
31 
34 
37 
39 #include <string>
40 #include <memory>
41 
42 class L1RCT;
43 class L1RCTLookupTables;
44 
46 public:
47  explicit L1RCTProducer(const edm::ParameterSet &ps);
48 
49  void beginRun(edm::Run const &r, const edm::EventSetup &c) final;
50  void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &context) final;
51  void produce(edm::Event &e, const edm::EventSetup &c) final;
52 
53 private:
55 
56  void updateFedVector(const L1RCTChannelMask &, const L1RCTNoisyChannelMask &, const std::vector<int> &Feds);
58  const edm::EventSetup &) const;
59  const std::vector<int> getFedVectorFromOmds(const edm::EventSetup &) const;
60 
61  void printFedVector(const std::vector<int> &);
62  void printUpdatedFedMask();
64 
65  std::unique_ptr<L1RCTLookupTables> rctLookupTables;
66  std::unique_ptr<L1RCT> rct;
67  bool useEcal;
68  bool useHcal;
69  std::vector<edm::InputTag> ecalDigis;
70  std::vector<edm::InputTag> hcalDigis;
71  std::vector<int> bunchCrossings;
73  unsigned int queryDelayInLS;
74  unsigned int queryIntervalInLS;
76 
77  // Create a channel mask object to be updated at every Run....
78  std::unique_ptr<L1RCTChannelMask> fedUpdatedMask;
79 
80  //configuration
85 
86  //fedVectors
90 
91  //beginRun
94 
95  //lumi
98 
100 
101  static constexpr int minBarrel = 1;
102  static constexpr int maxBarrel = 17;
103  static constexpr int minEndcap = 17;
104  static constexpr int maxEndcap = 28;
105  static constexpr int minHF = 29;
106  static constexpr int maxHF = 32;
107 };
108 
109 #endif
edm::ESGetToken< RunInfo, RunInfoRcd > beginLumiRunInfoToken_
Definition: L1RCTProducer.h:88
std::unique_ptr< L1RCT > rct
Definition: L1RCTProducer.h:66
const edm::EventSetup & c
const edm::ESGetToken< RunInfo, RunInfoRcd > beginRunRunInfoToken_
Definition: L1RCTProducer.h:87
const edm::ESGetToken< L1CaloEcalScale, L1CaloEcalScaleRcd > ecalScaleToken_
Definition: L1RCTProducer.h:83
std::string conditionsLabel
Definition: L1RCTProducer.h:75
void produce(edm::Event &e, const edm::EventSetup &c) final
void updateFedVector(const L1RCTChannelMask &, const L1RCTNoisyChannelMask &, const std::vector< int > &Feds)
void updateConfiguration(const edm::EventSetup &)
void printFedVector(const std::vector< int > &)
edm::ESGetToken< L1RCTNoisyChannelMask, L1RCTNoisyChannelMaskRcd > beginLumiHotChannelMaskToken_
Definition: L1RCTProducer.h:97
void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &context) final
void printUpdatedFedMaskVerbose()
L1RCTProducer(const edm::ParameterSet &ps)
unsigned int queryDelayInLS
Definition: L1RCTProducer.h:73
std::unique_ptr< L1RCTLookupTables > rctLookupTables
Definition: L1RCTProducer.h:65
static constexpr int minEndcap
std::unique_ptr< L1RCTChannelMask > fedUpdatedMask
Definition: L1RCTProducer.h:78
const edm::ESGetToken< L1CaloHcalScale, L1CaloHcalScaleRcd > hcalScaleToken_
Definition: L1RCTProducer.h:84
const edm::ESGetToken< L1RCTChannelMask, L1RCTChannelMaskRcd > beginRunChannelMaskToken_
Definition: L1RCTProducer.h:92
bool getFedsFromOmds
Definition: L1RCTProducer.h:72
std::vector< edm::InputTag > hcalDigis
Definition: L1RCTProducer.h:70
std::vector< edm::InputTag > ecalDigis
Definition: L1RCTProducer.h:69
std::vector< int > bunchCrossings
Definition: L1RCTProducer.h:71
void printUpdatedFedMask()
static constexpr int maxBarrel
static constexpr int minBarrel
void beginRun(edm::Run const &r, const edm::EventSetup &c) final
const edm::ESGetToken< L1CaloEtScale, L1EmEtScaleRcd > emScaleToken_
Definition: L1RCTProducer.h:82
static constexpr int maxHF
const edm::ESGetToken< L1RCTNoisyChannelMask, L1RCTNoisyChannelMaskRcd > beginRunHotChannelMaskToken_
Definition: L1RCTProducer.h:93
unsigned int queryIntervalInLS
Definition: L1RCTProducer.h:74
const edm::ESGetToken< L1RCTParameters, L1RCTParametersRcd > rctParamsToken_
Definition: L1RCTProducer.h:81
edm::ESGetToken< RunInfo, RunInfoRcd > omdsRunInfoToken_
Definition: L1RCTProducer.h:89
const std::vector< int > getFedVectorFromOmds(const edm::EventSetup &) const
edm::ESGetToken< L1RCTChannelMask, L1RCTChannelMaskRcd > beginLumiChannelMaskToken_
Definition: L1RCTProducer.h:96
Definition: L1RCT.h:20
static constexpr int minHF
static constexpr int maxEndcap
const std::vector< int > getFedVectorFromRunInfo(const edm::ESGetToken< RunInfo, RunInfoRcd > &, const edm::EventSetup &) const
Definition: Run.h:45