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  class StreamID;
54 }
55 
56 namespace CLHEP {
57  class HepRandomEngine;
58 }
59 
61  public:
62 
65  virtual ~EcalDigiProducer();
66 
67  virtual void initializeEvent(edm::Event const& e, edm::EventSetup const& c);
68  virtual void accumulate(edm::Event const& e, edm::EventSetup const& c);
69  virtual void accumulate(PileUpEventPrincipal const& e, edm::EventSetup const& c, edm::StreamID const&) override;
70  virtual void finalizeEvent(edm::Event& e, edm::EventSetup const& c);
71  virtual void beginLuminosityBlock(edm::LuminosityBlock const& lumi, edm::EventSetup const& setup) override;
72 
76 
77  private:
78 
79  virtual void cacheEBDigis( const EBDigiCollection* ebDigiPtr ) const { }
80  virtual void cacheEEDigis( const EEDigiCollection* eeDigiPtr ) const { }
81 
83  void accumulateCaloHits(HitsHandle const& ebHandle, HitsHandle const& eeHandle, HitsHandle const& esHandle, int bunchCrossing, CLHEP::HepRandomEngine*);
84 
85  void checkGeometry(const edm::EventSetup& eventSetup) ;
86 
87  void updateGeometry() ;
88 
89  void checkCalibrations(const edm::Event& event, const edm::EventSetup& eventSetup) ;
90 
91  CLHEP::HepRandomEngine* randomEngine(edm::StreamID const& streamID);
92 
96  ESShape m_ESShape ; // no const because gain must be set
97 
102 
104 
105  const bool m_apdSeparateDigi ;
106 
107  const double m_EBs25notCont ;
108  const double m_EEs25notCont ;
109 
110  const unsigned int m_readoutFrameSize ;
111  protected:
113  private:
116 
118  protected:
121  private:
124 
125  const bool m_addESNoise ;
126  const bool m_PreMix1 ;
127  const bool m_PreMix2 ;
128 
129  const bool m_doFastES ;
130 
135 
139 
142 
145 
147 
150 
151  std::vector<CLHEP::HepRandomEngine*> randomEngines_;
152 };
153 
154 #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
tuple lumi
Definition: fjr2json.py:35
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)
EBHitResponse * m_APDResponse
Creates electronics signals from hits.
const double m_EBs25notCont
EBHitResponse * m_EBResponse
ESElectronicsSim * m_ESElectronicsSim
virtual void beginLuminosityBlock(edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
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)
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)
void accumulateCaloHits(HitsHandle const &ebHandle, HitsHandle const &eeHandle, HitsHandle const &esHandle, int bunchCrossing, CLHEP::HepRandomEngine *)
const std::string m_apdDigiTag
const EEShape m_EEShape
std::vector< CLHEP::HepRandomEngine * > randomEngines_
virtual void cacheEEDigis(const EEDigiCollection *eeDigiPtr) const
const EBShape m_EBShape
const std::string m_EBdigiCollection
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
EcalElectronicsSim * m_APDElectronicsSim
const double m_EEs25notCont
EEHitResponse * m_EEResponse
Definition: EEShape.h:6