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 public:
20 
25 
30  void produce(edm::Event& event, const edm::EventSetup& eventSetup) override;
31 
38  static void printSrFlags(std::ostream& os,
39  const EBSrFlagCollection& ebSrFlags,
40  const EESrFlagCollection& eeSrFlags,
41  int iEvent = -1,
42  bool withHeader = true);
43 
44 private:
50  void checkWeights(const edm::Event& evt, const edm::ProductID& noZSDigiId) const;
51 
57  bool getBinOfMax(const edm::Event& evt, const edm::ProductID& noZsDigiId, int& binOfMax) const;
58 
59  const EBDigiCollection* getEBDigis(edm::Event& event);
60 
61  const EEDigiCollection* getEEDigis(edm::Event& event);
62 
64 
68  void checkGeometry(const edm::EventSetup& eventSetup);
69  void checkTriggerMap(const edm::EventSetup& eventSetup);
70  void checkElecMap(const edm::EventSetup& eventSetup);
71 
73 
79  static void checkValidity(const EcalSRSettings& settings);
80 
81  void printTTFlags(const EcalTrigPrimDigiCollection& tp, std::ostream& os) const;
82 
83 private:
84  std::unique_ptr<EcalSelectiveReadoutSuppressor> suppressor_;
85  std::string digiProducer_; // name of module/plugin/producer making digis
86  std::string ebdigiCollection_; // secondary name given to collection of input digis
87  std::string eedigiCollection_; // secondary name given to collection of input digis
88  std::string ebSRPdigiCollection_; // secondary name given to collection of suppressed digis
89  std::string eeSRPdigiCollection_; // secondary name given to collection of suppressed digis
90  std::string ebSrFlagCollection_; // secondary name given to collection of SR flag digis
91  std::string eeSrFlagCollection_; // secondary name given to collection of SR flag digis
92  std::string trigPrimProducer_; // name of module/plugin/producer making triggere primitives
93  std::string trigPrimCollection_; // name of module/plugin/producer making triggere primitives
94 
95  // store the pointer, so we don't have to update it every event
100 
102 
104 
108 
112 
117 
121 
126 
131 
136  int iEvent_;
137 
141  std::unique_ptr<EcalSRSettings> settingsFromFile_;
142 
143  // Tokens for consumes collection:
144 
148 };
149 
150 #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