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 
5 //#include "FWCore/Framework/interface/Event.h"
6 //#include "DataFormats/Common/interface/Handle.h"
7 //#include "FWCore/ParameterSet/interface/ParameterSet.h"
8 //#include "FWCore/Framework/interface/EventSetup.h"
13 
14 #include <memory>
15 #include <vector>
16 
18 {
19 public:
20 
24  explicit
26 
29  virtual
31 
36  virtual void
37  produce(edm::Event& event, const edm::EventSetup& eventSetup);
38 
45  static void
46  printSrFlags(std::ostream& os,
47  const EBSrFlagCollection& ebSrFlags,
48  const EESrFlagCollection& eeSrFlags,
49  int iEvent = -1,
50  bool withHeader = true);
51 
52 
53 private:
54 
60  void
61  checkWeights(const edm::Event& evt, const edm::ProductID& noZSDigiId) const;
62 
68  bool
69  getBinOfMax(const edm::Event& evt, const edm::ProductID& noZsDigiId,
70  int& binOfMax) const;
71 
72  const EBDigiCollection*
73  getEBDigis(edm::Event& event) const;
74 
75  const EEDigiCollection*
76  getEEDigis(edm::Event& event) const;
77 
79  getTrigPrims(edm::Event& event) const;
80 
84  void
85  checkGeometry(const edm::EventSetup & eventSetup);
86  void
87  checkTriggerMap(const edm::EventSetup & eventSetup);
88  void
89  checkElecMap(const edm::EventSetup & eventSetup);
90 
92 
98  static void checkValidity(const EcalSRSettings& settings);
99 
100  void
101  printTTFlags(const EcalTrigPrimDigiCollection& tp, std::ostream& os) const;
102 
103 private:
104  std::auto_ptr<EcalSelectiveReadoutSuppressor> suppressor_;
105  std::string digiProducer_; // name of module/plugin/producer making digis
106  std::string ebdigiCollection_; // secondary name given to collection of input digis
107  std::string eedigiCollection_; // secondary name given to collection of input digis
108  std::string ebSRPdigiCollection_; // secondary name given to collection of suppressed digis
109  std::string eeSRPdigiCollection_; // secondary name given to collection of suppressed digis
110  std::string ebSrFlagCollection_; // secondary name given to collection of SR flag digis
111  std::string eeSrFlagCollection_; // secondary name given to collection of SR flag digis
112  std::string trigPrimProducer_; // name of module/plugin/producer making triggere primitives
113  std::string trigPrimCollection_; // name of module/plugin/producer making triggere primitives
114 
115  // store the pointer, so we don't have to update it every event
120 
122 
124 
128 
132 
137 
141 
146 
150  std::auto_ptr<EcalSRSettings> settingsFromFile_;
151 };
152 
153 #endif
const EEDigiCollection * getEEDigis(edm::Event &event) const
void checkTriggerMap(const edm::EventSetup &eventSetup)
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
virtual void produce(edm::Event &event, const edm::EventSetup &eventSetup)
void checkElecMap(const edm::EventSetup &eventSetup)
int iEvent
Definition: GenABIO.cc:243
const EcalTrigTowerConstituentsMap * theTriggerTowerMap
const EcalElectronicsMapping * theElecMap
std::auto_ptr< EcalSelectiveReadoutSuppressor > suppressor_
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 EBDigiCollection * getEBDigis(edm::Event &event) const
const EcalTrigPrimDigiCollection * getTrigPrims(edm::Event &event) const
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)
std::auto_ptr< EcalSRSettings > settingsFromFile_