CMS 3D CMS Logo

EcalSelectiveReadoutProducer.h
Go to the documentation of this file.
1 #ifndef ECALZEROSUPPRESSIONPRODUCER_H
2 #define ECALZEROSUPPRESSIONPRODUCER_H
3 
10 
11 #include <memory>
12 #include <vector>
13 
15 {
16 public:
17 
21  explicit
23 
28 
33  void
34  produce(edm::Event& event, const edm::EventSetup& eventSetup) override;
35 
42  static void
43  printSrFlags(std::ostream& os,
44  const EBSrFlagCollection& ebSrFlags,
45  const EESrFlagCollection& eeSrFlags,
46  int iEvent = -1,
47  bool withHeader = true);
48 
49 
50 private:
51 
57  void
58  checkWeights(const edm::Event& evt, const edm::ProductID& noZSDigiId) const;
59 
65  bool
66  getBinOfMax(const edm::Event& evt, const edm::ProductID& noZsDigiId,
67  int& binOfMax) const;
68 
69  const EBDigiCollection*
70  getEBDigis(edm::Event& event);
71 
72  const EEDigiCollection*
73  getEEDigis(edm::Event& event);
74 
76  getTrigPrims(edm::Event& event) const;
77 
81  void
82  checkGeometry(const edm::EventSetup & eventSetup);
83  void
84  checkTriggerMap(const edm::EventSetup & eventSetup);
85  void
86  checkElecMap(const edm::EventSetup & eventSetup);
87 
89 
95  static void checkValidity(const EcalSRSettings& settings);
96 
97  void
98  printTTFlags(const EcalTrigPrimDigiCollection& tp, std::ostream& os) const;
99 
100 private:
101  std::unique_ptr<EcalSelectiveReadoutSuppressor> suppressor_;
102  std::string digiProducer_; // name of module/plugin/producer making digis
103  std::string ebdigiCollection_; // secondary name given to collection of input digis
104  std::string eedigiCollection_; // secondary name given to collection of input digis
105  std::string ebSRPdigiCollection_; // secondary name given to collection of suppressed digis
106  std::string eeSRPdigiCollection_; // secondary name given to collection of suppressed digis
107  std::string ebSrFlagCollection_; // secondary name given to collection of SR flag digis
108  std::string eeSrFlagCollection_; // secondary name given to collection of SR flag digis
109  std::string trigPrimProducer_; // name of module/plugin/producer making triggere primitives
110  std::string trigPrimCollection_; // name of module/plugin/producer making triggere primitives
111 
112  // store the pointer, so we don't have to update it every event
117 
119 
121 
125 
129 
134 
138 
143 
148 
153  int iEvent_;
154 
158  std::unique_ptr<EcalSRSettings> settingsFromFile_;
159 
160  // Tokens for consumes collection:
161 
165 
166 };
167 
168 #endif
const EBDigiCollection * getEBDigis(edm::Event &event)
void checkTriggerMap(const edm::EventSetup &eventSetup)
std::unique_ptr< EcalSelectiveReadoutSuppressor > suppressor_
void checkGeometry(const edm::EventSetup &eventSetup)
void produce(edm::Event &event, const edm::EventSetup &eventSetup) override
bool getBinOfMax(const edm::Event &evt, const edm::ProductID &noZsDigiId, int &binOfMax) const
void printTTFlags(const EcalTrigPrimDigiCollection &tp, std::ostream &os) const
edm::EDGetTokenT< EBDigiCollection > EB_token
void checkElecMap(const edm::EventSetup &eventSetup)
int iEvent
Definition: GenABIO.cc:224
const EcalTrigTowerConstituentsMap * theTriggerTowerMap
const EEDigiCollection * getEEDigis(edm::Event &event)
const EcalElectronicsMapping * theElecMap
void checkWeights(const edm::Event &evt, const edm::ProductID &noZSDigiId) const
const EcalTrigPrimDigiCollection * getTrigPrims(edm::Event &event) const
std::unique_ptr< EcalSRSettings > settingsFromFile_
edm::EDGetTokenT< EcalTrigPrimDigiCollection > EcTP_token
edm::EDGetTokenT< EEDigiCollection > EE_token
static void printSrFlags(std::ostream &os, const EBSrFlagCollection &ebSrFlags, const EESrFlagCollection &eeSrFlags, int iEvent=-1, bool withHeader=true)
EcalSelectiveReadoutProducer(const edm::ParameterSet &params)
static void checkValidity(const EcalSRSettings &settings)
Definition: event.py:1