CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
EcalSelectiveReadoutProducer.h
Go to the documentation of this file.
1 #ifndef ECALZEROSUPPRESSIONPRODUCER_H
2 #define ECALZEROSUPPRESSIONPRODUCER_H
3 
14 
15 #include <memory>
16 #include <vector>
17 
19 public:
24 
29 
34  void produce(edm::Event& event, const edm::EventSetup& eventSetup) override;
35 
42  static void printSrFlags(std::ostream& os,
43  const EBSrFlagCollection& ebSrFlags,
44  const EESrFlagCollection& eeSrFlags,
45  int iEvent = -1,
46  bool withHeader = true);
47 
48 private:
54  void checkWeights(const edm::Event& evt, const edm::ProductID& noZSDigiId) const;
55 
61  bool getBinOfMax(const edm::Event& evt, const edm::ProductID& noZsDigiId, int& binOfMax) const;
62 
63  const EBDigiCollection* getEBDigis(edm::Event& event);
64 
65  const EEDigiCollection* getEEDigis(edm::Event& event);
66 
68 
72  void checkGeometry(const edm::EventSetup& eventSetup);
73  void checkTriggerMap(const edm::EventSetup& eventSetup);
74  void checkElecMap(const edm::EventSetup& eventSetup);
75 
77 
83  static void checkValidity(const EcalSRSettings& settings);
84 
85  void printTTFlags(const EcalTrigPrimDigiCollection& tp, std::ostream& os) const;
86 
87 private:
89  std::string digiProducer_; // name of module/plugin/producer making digis
90  std::string ebdigiCollection_; // secondary name given to collection of input digis
91  std::string eedigiCollection_; // secondary name given to collection of input digis
92  std::string ebSRPdigiCollection_; // secondary name given to collection of suppressed digis
93  std::string eeSRPdigiCollection_; // secondary name given to collection of suppressed digis
94  std::string ebSrFlagCollection_; // secondary name given to collection of SR flag digis
95  std::string eeSrFlagCollection_; // secondary name given to collection of SR flag digis
96  std::string trigPrimProducer_; // name of module/plugin/producer making triggere primitives
97  std::string trigPrimCollection_; // name of module/plugin/producer making triggere primitives
98 
99  // store the pointer, so we don't have to update it every event
103 
105 
107 
109 
113 
117 
122 
126 
131 
136 
141  int iEvent_;
142 
146  std::unique_ptr<EcalSRSettings> settingsFromFile_;
147 
148  // Tokens for consumes collection:
149 
157 };
158 
159 #endif
edm::ESGetToken< EcalSRSettings, EcalSRSettingsRcd > hSr_token_
const EBDigiCollection * getEBDigis(edm::Event &event)
void checkTriggerMap(const edm::EventSetup &eventSetup)
edm::ESGetToken< EcalTrigTowerConstituentsMap, IdealGeometryRecord > eTTmap_token_
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::ESGetToken< CaloGeometry, CaloGeometryRecord > geom_token_
edm::EDGetTokenT< EBDigiCollection > EB_token
edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > eElecmap_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)
EcalSelectiveReadoutSuppressor suppressor_