test
CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
26  virtual
28 
33  virtual void
34  produce(edm::Event& event, const edm::EventSetup& eventSetup);
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)
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
virtual void produce(edm::Event &event, const edm::EventSetup &eventSetup)
void checkElecMap(const edm::EventSetup &eventSetup)
int iEvent
Definition: GenABIO.cc:230
const EcalTrigTowerConstituentsMap * theTriggerTowerMap
const EEDigiCollection * getEEDigis(edm::Event &event)
const EcalElectronicsMapping * theElecMap
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
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)