CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalDigiProducer.h
Go to the documentation of this file.
1 #ifndef SimCalorimetry_EcalSimProducers_EcalDigiProducer_h
2 #define SimCalorimetry_EcalSimProducers_EcalDigiProducer_h
3 
12 
17 
18 
19 #include <vector>
20 
24 
25 class ESDigitizer ;
26 
27 class APDSimParameters ;
28 class EBHitResponse ;
29 class EEHitResponse ;
30 class ESHitResponse ;
31 class CaloHitResponse ;
32 class EcalSimParameterMap ;
33 class EcalCoder ;
34 class EcalElectronicsSim ;
35 class ESElectronicsSim ;
38 class CaloGeometry ;
39 class EBDigiCollection ;
40 class EEDigiCollection ;
41 class ESDigiCollection ;
43 
44 namespace edm {
45  class ConsumesCollector;
46  namespace one {
47  class EDProducerBase;
48  }
49  class Event;
50  class EventSetup;
51  template<typename T> class Handle;
52  class ParameterSet;
53 }
54 
56  public:
57 
60  virtual ~EcalDigiProducer();
61 
62  virtual void initializeEvent(edm::Event const& e, edm::EventSetup const& c);
63  virtual void accumulate(edm::Event const& e, edm::EventSetup const& c);
64  virtual void accumulate(PileUpEventPrincipal const& e, edm::EventSetup const& c);
65  virtual void finalizeEvent(edm::Event& e, edm::EventSetup const& c);
66 
70 
71  private:
72 
73  virtual void cacheEBDigis( const EBDigiCollection* ebDigiPtr ) const { }
74  virtual void cacheEEDigis( const EEDigiCollection* eeDigiPtr ) const { }
75 
77  void accumulateCaloHits(HitsHandle const& ebHandle, HitsHandle const& eeHandle, HitsHandle const& esHandle, int bunchCrossing);
78 
79  void checkGeometry(const edm::EventSetup& eventSetup) ;
80 
81  void updateGeometry() ;
82 
83  void checkCalibrations(const edm::Event& event, const edm::EventSetup& eventSetup) ;
84 
88  ESShape m_ESShape ; // no const because gain must be set
89 
94 
96 
97  const bool m_apdSeparateDigi ;
98 
99  const double m_EBs25notCont ;
100  const double m_EEs25notCont ;
101 
102  const unsigned int m_readoutFrameSize ;
103  protected:
105  private:
108 
110  protected:
113  private:
116 
117  const bool m_addESNoise ;
118  const bool m_PreMix1 ;
119  const bool m_PreMix2 ;
120 
121  const bool m_doFastES ;
122 
127 
131 
134 
137 
139 
142 };
143 
144 #endif
EEDigitizer * m_EndcapDigitizer
virtual void accumulate(edm::Event const &e, edm::EventSetup const &c)
CaloHitResponse * m_ESOldResponse
CaloTDigitizer< ESOldDigitizerTraits > ESOldDigitizer
virtual ~EcalDigiProducer()
EcalTDigitizer< EEDigitizerTraits > EEDigitizer
CorrelatedNoisifier< EcalCorrMatrix > * m_EBCorrNoise[3]
const APDShape m_APDShape
const std::string m_ESdigiCollection
const EcalSimParameterMap * m_ParameterMap
const std::string m_hitsProducerTag
virtual void initializeEvent(edm::Event const &e, edm::EventSetup const &c)
ESOldDigitizer * m_ESOldDigitizer
edm::Handle< std::vector< PCaloHit > > HitsHandle
EcalDigiProducer(const edm::ParameterSet &params, edm::one::EDProducerBase &mixMod, edm::ConsumesCollector &iC)
const std::string m_EEdigiCollection
ESElectronicsSimFast * m_ESElectronicsSimFast
ESDigitizer * m_ESDigitizer
const APDSimParameters * m_apdParameters
void setEENoiseSignalGenerator(EcalBaseSignalGenerator *noiseGenerator)
const bool m_addESNoise
CorrelatedNoisifier< EcalCorrMatrix > * m_EECorrNoise[3]
const unsigned int m_readoutFrameSize
EcalElectronicsSim * m_ElectronicsSim
void setEBNoiseSignalGenerator(EcalBaseSignalGenerator *noiseGenerator)
void setESNoiseSignalGenerator(EcalBaseSignalGenerator *noiseGenerator)
void accumulateCaloHits(HitsHandle const &ebHandle, HitsHandle const &eeHandle, HitsHandle const &esHandle, int bunchCrossing)
EBHitResponse * m_APDResponse
Creates electronics signals from hits.
const double m_EBs25notCont
EBHitResponse * m_EBResponse
ESElectronicsSim * m_ESElectronicsSim
EBDigitizer * m_BarrelDigitizer
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
const CaloGeometry * m_Geometry
void checkCalibrations(const edm::Event &event, const edm::EventSetup &eventSetup)
EcalCoder * m_APDCoder
void checkGeometry(const edm::EventSetup &eventSetup)
Definition: EBShape.h:6
ESHitResponse * m_ESResponse
virtual void cacheEBDigis(const EBDigiCollection *ebDigiPtr) const
EcalTDigitizer< EBDigitizerTraits > EBDigitizer
EBDigitizer * m_APDDigitizer
const bool m_apdSeparateDigi
virtual void finalizeEvent(edm::Event &e, edm::EventSetup const &c)
const std::string m_apdDigiTag
const EEShape m_EEShape
virtual void cacheEEDigis(const EEDigiCollection *eeDigiPtr) const
const EBShape m_EBShape
const std::string m_EBdigiCollection
EcalElectronicsSim * m_APDElectronicsSim
const double m_EEs25notCont
EEHitResponse * m_EEResponse
Definition: EEShape.h:6