CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes
EcalDigiProducer Class Reference

#include <EcalDigiProducer.h>

Inheritance diagram for EcalDigiProducer:
DigiAccumulatorMixMod EcalTBDigiProducer

Public Member Functions

virtual void accumulate (edm::Event const &e, edm::EventSetup const &c) override
 
virtual void accumulate (PileUpEventPrincipal const &e, edm::EventSetup const &c, edm::StreamID const &) override
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
 EcalDigiProducer (const edm::ParameterSet &params, edm::stream::EDProducerBase &mixMod, edm::ConsumesCollector &iC)
 
 EcalDigiProducer (const edm::ParameterSet &params, edm::ConsumesCollector &iC)
 
virtual void finalizeEvent (edm::Event &e, edm::EventSetup const &c) override
 
virtual void initializeEvent (edm::Event const &e, edm::EventSetup const &c) override
 
void setEBNoiseSignalGenerator (EcalBaseSignalGenerator *noiseGenerator)
 
void setEENoiseSignalGenerator (EcalBaseSignalGenerator *noiseGenerator)
 
void setESNoiseSignalGenerator (EcalBaseSignalGenerator *noiseGenerator)
 
virtual ~EcalDigiProducer ()
 
- Public Member Functions inherited from DigiAccumulatorMixMod
virtual void beginRun (edm::Run const &run, edm::EventSetup const &setup)
 
 DigiAccumulatorMixMod ()
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup)
 
virtual void endRun (edm::Run const &run, edm::EventSetup const &setup)
 
virtual void finalizeBunchCrossing (edm::Event &event, edm::EventSetup const &setup, int bunchCrossing)
 
virtual PileupMixingContentgetEventPileupInfo ()
 
virtual void initializeBunchCrossing (edm::Event const &event, edm::EventSetup const &setup, int bunchCrossing)
 
virtual void StorePileupInformation (std::vector< int > &numInteractionList, std::vector< int > &bunchCrossingList, std::vector< float > &TrueInteractionList, std::vector< edm::EventID > &eventList, int bunchSpace)
 
virtual ~DigiAccumulatorMixMod ()
 

Protected Attributes

std::unique_ptr< EBHitResponsem_EBResponse
 
std::unique_ptr< EEHitResponsem_EEResponse
 
std::unique_ptr< const
EcalSimParameterMap
m_ParameterMap
 

Private Types

typedef edm::Handle
< std::vector< PCaloHit > > 
HitsHandle
 

Private Member Functions

void accumulateCaloHits (HitsHandle const &ebHandle, HitsHandle const &eeHandle, HitsHandle const &esHandle, int bunchCrossing, CLHEP::HepRandomEngine *)
 
virtual void cacheEBDigis (const EBDigiCollection *ebDigiPtr) const
 
virtual void cacheEEDigis (const EEDigiCollection *eeDigiPtr) const
 
void checkCalibrations (const edm::Event &event, const edm::EventSetup &eventSetup)
 
void checkGeometry (const edm::EventSetup &eventSetup)
 
CLHEP::HepRandomEngine * randomEngine (edm::StreamID const &streamID)
 
void updateGeometry ()
 

Private Attributes

const bool m_addESNoise
 
std::unique_ptr< EcalCoderm_APDCoder
 
const std::string m_apdDigiTag
 
std::unique_ptr< EBDigitizerm_APDDigitizer
 
std::unique_ptr
< EcalElectronicsSim
m_APDElectronicsSim
 
std::unique_ptr< const
APDSimParameters
m_apdParameters
 
std::unique_ptr< EBHitResponsem_APDResponse
 
const bool m_apdSeparateDigi
 
const APDShape m_APDShape
 
std::unique_ptr< EBDigitizerm_BarrelDigitizer
 
std::unique_ptr< EcalCoderm_Coder
 
const bool m_doEB
 
const bool m_doEE
 
const bool m_doES
 
const bool m_doFastES
 
std::array< std::unique_ptr
< CorrelatedNoisifier
< EcalCorrMatrix > >, 3 > 
m_EBCorrNoise
 
const std::string m_EBdigiCollection
 
const double m_EBs25notCont
 
const EBShape m_EBShape
 
std::array< std::unique_ptr
< CorrelatedNoisifier
< EcalCorrMatrix > >, 3 > 
m_EECorrNoise
 
const std::string m_EEdigiCollection
 
const double m_EEs25notCont
 
const EEShape m_EEShape
 
std::unique_ptr
< EcalElectronicsSim
m_ElectronicsSim
 
std::unique_ptr< EEDigitizerm_EndcapDigitizer
 
const std::string m_ESdigiCollection
 
std::unique_ptr< ESDigitizerm_ESDigitizer
 
std::unique_ptr< ESElectronicsSimm_ESElectronicsSim
 
std::unique_ptr
< ESElectronicsSimFast
m_ESElectronicsSimFast
 
std::unique_ptr< ESOldDigitizerm_ESOldDigitizer
 
std::unique_ptr< CaloHitResponsem_ESOldResponse
 
std::unique_ptr< ESHitResponsem_ESResponse
 
ESShape m_ESShape
 
const CaloGeometrym_Geometry
 
const std::string m_hitsProducerTag
 
const bool m_PreMix1
 
const bool m_PreMix2
 
const unsigned int m_readoutFrameSize
 
bool m_useLCcorrection
 
std::vector
< CLHEP::HepRandomEngine * > 
randomEngines_
 

Detailed Description

Definition at line 60 of file EcalDigiProducer.h.

Member Typedef Documentation

typedef edm::Handle<std::vector<PCaloHit> > EcalDigiProducer::HitsHandle
private

Definition at line 82 of file EcalDigiProducer.h.

Constructor & Destructor Documentation

EcalDigiProducer::EcalDigiProducer ( const edm::ParameterSet params,
edm::stream::EDProducerBase mixMod,
edm::ConsumesCollector iC 
)

Definition at line 57 of file EcalDigiProducer.cc.

57  :
59  m_APDShape ( params.getParameter<double>( "apdShapeTstart" ) ,
60  params.getParameter<double>( "apdShapeTau" ) ) ,
61  m_EBShape ( ) ,
62  m_EEShape ( ) ,
63  m_ESShape ( ) ,
64  m_EBdigiCollection ( params.getParameter<std::string>("EBdigiCollection") ) ,
65  m_EEdigiCollection ( params.getParameter<std::string>("EEdigiCollection") ) ,
66  m_ESdigiCollection ( params.getParameter<std::string>("ESdigiCollection") ) ,
67  m_hitsProducerTag ( params.getParameter<std::string>("hitsProducer" ) ) ,
68  m_useLCcorrection ( params.getUntrackedParameter<bool>("UseLCcorrection") ) ,
69  m_apdSeparateDigi ( params.getParameter<bool> ("apdSeparateDigi") ) ,
70 
71  m_EBs25notCont ( params.getParameter<double> ("EBs25notContainment") ) ,
72  m_EEs25notCont ( params.getParameter<double> ("EEs25notContainment") ) ,
73 
74  m_readoutFrameSize ( params.getParameter<int> ("readoutFrameSize") ) ,
76  params.getParameter<double> ("simHitToPhotoelectronsBarrel") ,
77  params.getParameter<double> ("simHitToPhotoelectronsEndcap") ,
78  params.getParameter<double> ("photoelectronsToAnalogBarrel") ,
79  params.getParameter<double> ("photoelectronsToAnalogEndcap") ,
80  params.getParameter<double> ("samplingFactor") ,
81  params.getParameter<double> ("timePhase") ,
83  params.getParameter<int> ("binOfMaximum") ,
84  params.getParameter<bool> ("doPhotostatistics") ,
85  params.getParameter<bool> ("syncPhase") ) ) ,
86 
87  m_apdDigiTag ( params.getParameter<std::string> ("apdDigiTag" ) ) ,
89  params.getParameter<bool> ("apdAddToBarrel" ) ,
91  params.getParameter<double> ("apdSimToPELow" ) ,
92  params.getParameter<double> ("apdSimToPEHigh" ) ,
93  params.getParameter<double> ("apdTimeOffset" ) ,
94  params.getParameter<double> ("apdTimeOffWidth" ) ,
95  params.getParameter<bool> ("apdDoPEStats" ) ,
96  m_apdDigiTag ,
97  params.getParameter<std::vector<double> > ( "apdNonlParms" ) ) ) ,
98 
99  m_APDResponse ( !m_apdSeparateDigi ? nullptr :
100  new EBHitResponse( m_ParameterMap.get() ,
101  &m_EBShape ,
102  true ,
103  m_apdParameters.get() ,
104  &m_APDShape ) ) ,
105 
107  &m_EBShape ,
108  false , // barrel
109  m_apdParameters.get() ,
110  &m_APDShape ) ) ,
111 
113  &m_EEShape ) ) ,
116 
117  m_addESNoise ( params.getParameter<bool> ("doESNoise") ) ,
118  m_PreMix1 ( params.getParameter<bool> ("EcalPreMixStage1") ) ,
119  m_PreMix2 ( params.getParameter<bool> ("EcalPreMixStage2") ) ,
120 
121  m_doFastES ( params.getParameter<bool> ("doFast" ) ) ,
122 
123  m_doEB ( params.getParameter<bool> ("doEB" ) ) ,
124  m_doEE ( params.getParameter<bool> ("doEE" ) ) ,
125  m_doES ( params.getParameter<bool> ("doES" ) ) ,
126 
127  m_ESElectronicsSim ( m_doFastES ? nullptr :
128  new ESElectronicsSim( m_addESNoise ) ) ,
129 
130  m_ESOldDigitizer ( m_doFastES ? nullptr :
131  new ESOldDigitizer( m_ESOldResponse.get() ,
132  m_ESElectronicsSim.get() ,
133  m_addESNoise ) ) ,
134 
135  m_ESElectronicsSimFast ( !m_doFastES ? nullptr :
137  m_PreMix1) ) ,
138 
139  m_ESDigitizer ( !m_doFastES ? nullptr :
140  new ESDigitizer( m_ESResponse.get() ,
141  m_ESElectronicsSimFast.get() ,
142  m_addESNoise ) ) ,
143 
144  m_APDDigitizer ( nullptr ) ,
145  m_BarrelDigitizer ( nullptr ) ,
146  m_EndcapDigitizer ( nullptr ) ,
147  m_ElectronicsSim ( nullptr ) ,
148  m_Coder ( nullptr ) ,
149  m_APDElectronicsSim ( nullptr ) ,
150  m_APDCoder ( nullptr ) ,
151  m_Geometry ( nullptr ) ,
152  m_EBCorrNoise ( { {nullptr, nullptr, nullptr} } ) ,
std::unique_ptr< EcalCoder > m_APDCoder
T getParameter(std::string const &) const
std::unique_ptr< EcalElectronicsSim > m_ElectronicsSim
T getUntrackedParameter(std::string const &, T const &) const
CaloTDigitizer< ESOldDigitizerTraits > ESOldDigitizer
std::unique_ptr< ESDigitizer > m_ESDigitizer
const APDShape m_APDShape
const std::string m_ESdigiCollection
std::unique_ptr< EEDigitizer > m_EndcapDigitizer
std::unique_ptr< EBHitResponse > m_APDResponse
const std::string m_hitsProducerTag
std::unique_ptr< EcalCoder > m_Coder
std::array< std::unique_ptr< CorrelatedNoisifier< EcalCorrMatrix > >, 3 > m_EBCorrNoise
const std::string m_EEdigiCollection
std::unique_ptr< ESHitResponse > m_ESResponse
const bool m_addESNoise
const unsigned int m_readoutFrameSize
Creates electronics signals from hits.
const double m_EBs25notCont
std::unique_ptr< CaloHitResponse > m_ESOldResponse
const CaloGeometry * m_Geometry
std::unique_ptr< EBDigitizer > m_BarrelDigitizer
std::unique_ptr< ESElectronicsSimFast > m_ESElectronicsSimFast
std::unique_ptr< EEHitResponse > m_EEResponse
const bool m_apdSeparateDigi
std::unique_ptr< ESElectronicsSim > m_ESElectronicsSim
const std::string m_apdDigiTag
std::unique_ptr< EBHitResponse > m_EBResponse
const EEShape m_EEShape
std::unique_ptr< ESOldDigitizer > m_ESOldDigitizer
volatile std::atomic< bool > shutdown_flag false
std::unique_ptr< EcalElectronicsSim > m_APDElectronicsSim
const EBShape m_EBShape
const std::string m_EBdigiCollection
std::unique_ptr< EBDigitizer > m_APDDigitizer
const double m_EEs25notCont
std::unique_ptr< const EcalSimParameterMap > m_ParameterMap
std::unique_ptr< const APDSimParameters > m_apdParameters
EcalDigiProducer::EcalDigiProducer ( const edm::ParameterSet params,
edm::ConsumesCollector iC 
)

Definition at line 281 of file EcalDigiProducer.cc.

281  :
283  m_APDShape ( params.getParameter<double>( "apdShapeTstart" ) ,
284  params.getParameter<double>( "apdShapeTau" ) ) ,
285  m_EBShape ( ) ,
286  m_EEShape ( ) ,
287  m_ESShape ( ) ,
288  m_EBdigiCollection ( params.getParameter<std::string>("EBdigiCollection") ) ,
289  m_EEdigiCollection ( params.getParameter<std::string>("EEdigiCollection") ) ,
290  m_ESdigiCollection ( params.getParameter<std::string>("ESdigiCollection") ) ,
291  m_hitsProducerTag ( params.getParameter<std::string>("hitsProducer" ) ) ,
292  m_useLCcorrection ( params.getUntrackedParameter<bool>("UseLCcorrection") ) ,
293  m_apdSeparateDigi ( params.getParameter<bool> ("apdSeparateDigi") ) ,
294 
295  m_EBs25notCont ( params.getParameter<double> ("EBs25notContainment") ) ,
296  m_EEs25notCont ( params.getParameter<double> ("EEs25notContainment") ) ,
297 
298  m_readoutFrameSize ( params.getParameter<int> ("readoutFrameSize") ) ,
300  params.getParameter<double> ("simHitToPhotoelectronsBarrel") ,
301  params.getParameter<double> ("simHitToPhotoelectronsEndcap") ,
302  params.getParameter<double> ("photoelectronsToAnalogBarrel") ,
303  params.getParameter<double> ("photoelectronsToAnalogEndcap") ,
304  params.getParameter<double> ("samplingFactor") ,
305  params.getParameter<double> ("timePhase") ,
307  params.getParameter<int> ("binOfMaximum") ,
308  params.getParameter<bool> ("doPhotostatistics") ,
309  params.getParameter<bool> ("syncPhase") ) ) ,
310 
311  m_apdDigiTag ( params.getParameter<std::string> ("apdDigiTag" ) ) ,
313  params.getParameter<bool> ("apdAddToBarrel" ) ,
315  params.getParameter<double> ("apdSimToPELow" ) ,
316  params.getParameter<double> ("apdSimToPEHigh" ) ,
317  params.getParameter<double> ("apdTimeOffset" ) ,
318  params.getParameter<double> ("apdTimeOffWidth" ) ,
319  params.getParameter<bool> ("apdDoPEStats" ) ,
320  m_apdDigiTag ,
321  params.getParameter<std::vector<double> > ( "apdNonlParms" ) ) ) ,
322 
323  m_APDResponse ( !m_apdSeparateDigi ? nullptr :
324  new EBHitResponse( m_ParameterMap.get() ,
325  &m_EBShape ,
326  true ,
327  m_apdParameters.get() ,
328  &m_APDShape ) ) ,
329 
331  &m_EBShape ,
332  false , // barrel
333  m_apdParameters.get() ,
334  &m_APDShape ) ) ,
335 
337  &m_EEShape ) ) ,
340 
341  m_addESNoise ( params.getParameter<bool> ("doESNoise") ) ,
342  m_PreMix1 ( params.getParameter<bool> ("EcalPreMixStage1") ) ,
343  m_PreMix2 ( params.getParameter<bool> ("EcalPreMixStage2") ) ,
344 
345  m_doFastES ( params.getParameter<bool> ("doFast" ) ) ,
346 
347  m_doEB ( params.getParameter<bool> ("doEB" ) ) ,
348  m_doEE ( params.getParameter<bool> ("doEE" ) ) ,
349  m_doES ( params.getParameter<bool> ("doES" ) ) ,
350 
351  m_ESElectronicsSim ( m_doFastES ? nullptr :
352  new ESElectronicsSim( m_addESNoise ) ) ,
353 
354  m_ESOldDigitizer ( m_doFastES ? nullptr :
355  new ESOldDigitizer( m_ESOldResponse.get() ,
356  m_ESElectronicsSim.get() ,
357  m_addESNoise ) ) ,
358 
359  m_ESElectronicsSimFast ( !m_doFastES ? nullptr :
361  m_PreMix1 ) ) ,
362 
363  m_ESDigitizer ( !m_doFastES ? nullptr :
364  new ESDigitizer( m_ESResponse.get() ,
365  m_ESElectronicsSimFast.get() ,
366  m_addESNoise ) ) ,
367 
368  m_APDDigitizer ( nullptr ) ,
369  m_BarrelDigitizer ( nullptr ) ,
370  m_EndcapDigitizer ( nullptr ) ,
371  m_ElectronicsSim ( nullptr ) ,
372  m_Coder ( nullptr ) ,
373  m_APDElectronicsSim ( nullptr ) ,
374  m_APDCoder ( nullptr ) ,
375  m_Geometry ( nullptr ) ,
376  m_EBCorrNoise ( { {nullptr, nullptr, nullptr} } ) ,
std::unique_ptr< EcalCoder > m_APDCoder
T getParameter(std::string const &) const
std::unique_ptr< EcalElectronicsSim > m_ElectronicsSim
T getUntrackedParameter(std::string const &, T const &) const
CaloTDigitizer< ESOldDigitizerTraits > ESOldDigitizer
std::unique_ptr< ESDigitizer > m_ESDigitizer
const APDShape m_APDShape
const std::string m_ESdigiCollection
std::unique_ptr< EEDigitizer > m_EndcapDigitizer
std::unique_ptr< EBHitResponse > m_APDResponse
const std::string m_hitsProducerTag
std::unique_ptr< EcalCoder > m_Coder
std::array< std::unique_ptr< CorrelatedNoisifier< EcalCorrMatrix > >, 3 > m_EBCorrNoise
const std::string m_EEdigiCollection
std::unique_ptr< ESHitResponse > m_ESResponse
const bool m_addESNoise
const unsigned int m_readoutFrameSize
Creates electronics signals from hits.
const double m_EBs25notCont
std::unique_ptr< CaloHitResponse > m_ESOldResponse
const CaloGeometry * m_Geometry
std::unique_ptr< EBDigitizer > m_BarrelDigitizer
std::unique_ptr< ESElectronicsSimFast > m_ESElectronicsSimFast
std::unique_ptr< EEHitResponse > m_EEResponse
const bool m_apdSeparateDigi
std::unique_ptr< ESElectronicsSim > m_ESElectronicsSim
const std::string m_apdDigiTag
std::unique_ptr< EBHitResponse > m_EBResponse
const EEShape m_EEShape
std::unique_ptr< ESOldDigitizer > m_ESOldDigitizer
volatile std::atomic< bool > shutdown_flag false
std::unique_ptr< EcalElectronicsSim > m_APDElectronicsSim
const EBShape m_EBShape
const std::string m_EBdigiCollection
std::unique_ptr< EBDigitizer > m_APDDigitizer
const double m_EEs25notCont
std::unique_ptr< const EcalSimParameterMap > m_ParameterMap
std::unique_ptr< const APDSimParameters > m_apdParameters
EcalDigiProducer::~EcalDigiProducer ( )
virtual

Definition at line 503 of file EcalDigiProducer.cc.

504 {}

Member Function Documentation

void EcalDigiProducer::accumulate ( edm::Event const &  e,
edm::EventSetup const &  c 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 552 of file EcalDigiProducer.cc.

References accumulateCaloHits(), edm::Event::getByLabel(), m_hitsProducerTag, randomEngine(), and edm::Event::streamID().

Referenced by edm::DataMixingEcalDigiWorkerProd::addEcalSignals().

552  {
553  // Step A: Get Inputs
554  edm::InputTag ebTag(m_hitsProducerTag, "EcalHitsEB");
556  e.getByLabel(ebTag, ebHandle);
557 
558  edm::InputTag eeTag(m_hitsProducerTag, "EcalHitsEE");
560  e.getByLabel(eeTag, eeHandle);
561 
562  edm::InputTag esTag(m_hitsProducerTag, "EcalHitsES");
564  e.getByLabel(esTag, esHandle);
565 
566  accumulateCaloHits(ebHandle, eeHandle, esHandle, 0, randomEngine(e.streamID()));
567 }
const std::string m_hitsProducerTag
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)
void accumulateCaloHits(HitsHandle const &ebHandle, HitsHandle const &eeHandle, HitsHandle const &esHandle, int bunchCrossing, CLHEP::HepRandomEngine *)
void EcalDigiProducer::accumulate ( PileUpEventPrincipal const &  e,
edm::EventSetup const &  c,
edm::StreamID const &  streamID 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 570 of file EcalDigiProducer.cc.

References accumulateCaloHits(), PileUpEventPrincipal::bunchCrossing(), PileUpEventPrincipal::getByLabel(), m_hitsProducerTag, and randomEngine().

570  {
571  // Step A: Get Inputs
572  edm::InputTag ebTag(m_hitsProducerTag, "EcalHitsEB");
574  e.getByLabel(ebTag, ebHandle);
575 
576  edm::InputTag eeTag(m_hitsProducerTag, "EcalHitsEE");
578  e.getByLabel(eeTag, eeHandle);
579 
580  edm::InputTag esTag(m_hitsProducerTag, "EcalHitsES");
582  e.getByLabel(esTag, esHandle);
583 
584  accumulateCaloHits(ebHandle, eeHandle, esHandle, e.bunchCrossing(), randomEngine(streamID));
585 }
const std::string m_hitsProducerTag
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)
void accumulateCaloHits(HitsHandle const &ebHandle, HitsHandle const &eeHandle, HitsHandle const &esHandle, int bunchCrossing, CLHEP::HepRandomEngine *)
void EcalDigiProducer::accumulateCaloHits ( HitsHandle const &  ebHandle,
HitsHandle const &  eeHandle,
HitsHandle const &  esHandle,
int  bunchCrossing,
CLHEP::HepRandomEngine *  engine 
)
private

Definition at line 529 of file EcalDigiProducer.cc.

References edm::HandleBase::isValid(), m_APDDigitizer, m_apdSeparateDigi, m_BarrelDigitizer, m_doEB, m_doEE, m_doES, m_doFastES, m_EndcapDigitizer, m_ESDigitizer, m_ESOldDigitizer, and edm::Handle< T >::product().

Referenced by accumulate().

529  {
530  if(m_doEB && ebHandle.isValid()) {
531  m_BarrelDigitizer->add(*ebHandle.product(), bunchCrossing, engine);
532 
533  if(m_apdSeparateDigi) {
534  m_APDDigitizer->add(*ebHandle.product(), bunchCrossing, engine);
535  }
536  }
537 
538  if(m_doEE && eeHandle.isValid()) {
539  m_EndcapDigitizer->add(*eeHandle.product(), bunchCrossing, engine);
540  }
541 
542  if(m_doES && esHandle.isValid()) {
543  if(m_doFastES) {
544  m_ESDigitizer->add(*esHandle.product(), bunchCrossing, engine);
545  } else {
546  m_ESOldDigitizer->add(*esHandle.product(), bunchCrossing, engine);
547  }
548  }
549 }
std::unique_ptr< ESDigitizer > m_ESDigitizer
std::unique_ptr< EEDigitizer > m_EndcapDigitizer
std::unique_ptr< EBDigitizer > m_BarrelDigitizer
const bool m_apdSeparateDigi
std::unique_ptr< ESOldDigitizer > m_ESOldDigitizer
std::unique_ptr< EBDigitizer > m_APDDigitizer
void EcalDigiProducer::beginLuminosityBlock ( edm::LuminosityBlock const &  lumi,
edm::EventSetup const &  setup 
)
overridevirtual

Reimplemented from DigiAccumulatorMixMod.

Definition at line 636 of file EcalDigiProducer.cc.

References Exception, edm::RandomNumberGenerator::getEngine(), edm::LuminosityBlock::index(), edm::Service< T >::isAvailable(), m_APDResponse, m_doEB, and m_EBResponse.

Referenced by edm::DataMixingEcalDigiWorkerProd::beginLuminosityBlock().

637 {
639  if ( ! rng.isAvailable() ) {
640  throw cms::Exception("Configuration") <<
641  "RandomNumberGenerator service is not available.\n"
642  "You must add the service in the configuration file\n"
643  "or remove the module that requires it.";
644  }
645  CLHEP::HepRandomEngine* engine = &rng->getEngine(lumi.index());
646 
647  if( m_doEB ) {
648  if( nullptr != m_APDResponse ) m_APDResponse->initialize(engine);
649  m_EBResponse->initialize(engine);
650  }
651 }
std::unique_ptr< EBHitResponse > m_APDResponse
tuple lumi
Definition: fjr2json.py:35
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
bool isAvailable() const
Definition: Service.h:46
std::unique_ptr< EBHitResponse > m_EBResponse
virtual void EcalDigiProducer::cacheEBDigis ( const EBDigiCollection ebDigiPtr) const
inlineprivatevirtual

Reimplemented in EcalTBDigiProducer.

Definition at line 79 of file EcalDigiProducer.h.

Referenced by finalizeEvent().

79 { }
virtual void EcalDigiProducer::cacheEEDigis ( const EEDigiCollection eeDigiPtr) const
inlineprivatevirtual

Reimplemented in EcalTBDigiProducer.

Definition at line 80 of file EcalDigiProducer.h.

Referenced by finalizeEvent().

80 { }
void EcalDigiProducer::checkCalibrations ( const edm::Event event,
const edm::EventSetup eventSetup 
)
private

Definition at line 654 of file EcalDigiProducer.cc.

References EcalMGPAGainRatio::gain12Over6(), EcalMGPAGainRatio::gain6Over1(), edm::EventSetup::get(), EcalADCToGeVConstant::getEBValue(), EcalADCToGeVConstant::getEEValue(), EcalCondDBWriter_cfi::laser, LogDebug, m_APDCoder, m_APDResponse, m_Coder, m_doES, m_doFastES, m_EBResponse, m_EBs25notCont, m_EEResponse, m_EEs25notCont, m_ESDigitizer, m_ESElectronicsSim, m_ESElectronicsSimFast, m_ESOldDigitizer, m_ESShape, m_useLCcorrection, edm::ESHandle< class >::product(), and ESShape::setGain().

Referenced by initializeEvent().

655 {
656  // Pedestals from event setup
657 
659  eventSetup.get<EcalPedestalsRcd>().get( dbPed ) ;
660  const EcalPedestals* pedestals ( dbPed.product() ) ;
661 
662  m_Coder->setPedestals( pedestals ) ;
663  if( nullptr != m_APDCoder ) m_APDCoder->setPedestals( pedestals ) ;
664 
665  // Ecal Intercalibration Constants
667  eventSetup.get<EcalIntercalibConstantsMCRcd>().get( pIcal ) ;
668  const EcalIntercalibConstantsMC* ical ( pIcal.product() ) ;
669 
670  m_Coder->setIntercalibConstants( ical ) ;
671  if( nullptr != m_APDCoder) m_APDCoder->setIntercalibConstants( ical ) ;
672 
673  m_EBResponse->setIntercal( ical ) ;
674  if( nullptr != m_APDResponse ) m_APDResponse->setIntercal( ical ) ;
675 
676  // Ecal LaserCorrection Constants
678  eventSetup.get<EcalLaserDbRecord>().get(laser);
679  const edm::TimeValue_t eventTimeValue = event.time().value();
680 
681  m_EBResponse->setEventTime(eventTimeValue);
682  m_EBResponse->setLaserConstants(laser.product(), m_useLCcorrection);
683 
684  m_EEResponse->setEventTime(eventTimeValue);
685  m_EEResponse->setLaserConstants(laser.product(), m_useLCcorrection);
686 
687  // ADC -> GeV Scale
689  eventSetup.get<EcalADCToGeVConstantRcd>().get(pAgc);
690  const EcalADCToGeVConstant* agc = pAgc.product();
691 
692  // Gain Ratios
694  eventSetup.get<EcalGainRatiosRcd>().get(pRatio);
695  const EcalGainRatios* gr = pRatio.product();
696 
697  m_Coder->setGainRatios( gr );
698  if( nullptr != m_APDCoder) m_APDCoder->setGainRatios( gr );
699 
700  EcalMGPAGainRatio * defaultRatios = new EcalMGPAGainRatio();
701 
702  double theGains[m_Coder->NGAINS+1];
703  theGains[0] = 0.;
704  theGains[3] = 1.;
705  theGains[2] = defaultRatios->gain6Over1() ;
706  theGains[1] = theGains[2]*(defaultRatios->gain12Over6()) ;
707 
708  LogDebug("EcalDigi") << " Gains: " << "\n" << " g1 = " << theGains[1]
709  << "\n" << " g2 = " << theGains[2]
710  << "\n" << " g3 = " << theGains[3] ;
711 
712  delete defaultRatios;
713 
714  const double EBscale (
715  ( agc->getEBValue())*theGains[1]*(m_Coder->MAXADC)*m_EBs25notCont ) ;
716 
717  LogDebug("EcalDigi") << " GeV/ADC = " << agc->getEBValue()
718  << "\n" << " notCont = " << m_EBs25notCont
719  << "\n" << " saturation for EB = " << EBscale
720  << ", " << m_EBs25notCont ;
721 
722  const double EEscale (
723  (agc->getEEValue())*theGains[1]*(m_Coder->MAXADC)*m_EEs25notCont ) ;
724 
725  LogDebug("EcalDigi") << " GeV/ADC = " << agc->getEEValue()
726  << "\n" << " notCont = " << m_EEs25notCont
727  << "\n" << " saturation for EB = " << EEscale
728  << ", " << m_EEs25notCont ;
729 
730  m_Coder->setFullScaleEnergy( EBscale ,
731  EEscale ) ;
732  if( nullptr != m_APDCoder ) m_APDCoder->setFullScaleEnergy( EBscale ,
733  EEscale ) ;
734 
735  if( nullptr != m_ESOldDigitizer ||
736  nullptr != m_ESDigitizer )
737  {
738  // ES condition objects
739  edm::ESHandle<ESGain> hesgain ;
741  edm::ESHandle<ESPedestals> hesPedestals ;
743 
744  eventSetup.get<ESGainRcd>(). get( hesgain ) ;
745  eventSetup.get<ESMIPToGeVConstantRcd>(). get( hesMIPToGeV ) ;
746  eventSetup.get<ESPedestalsRcd>(). get( hesPedestals ) ;
747  eventSetup.get<ESIntercalibConstantsRcd>().get( hesMIPs ) ;
748 
749  const ESGain* esgain ( hesgain.product() ) ;
750  const ESPedestals* espeds ( hesPedestals.product() ) ;
751  const ESIntercalibConstants* esmips ( hesMIPs.product() ) ;
752  const ESMIPToGeVConstant* esMipToGeV ( hesMIPToGeV.product() ) ;
753  const int ESGain ( 1.1 > esgain->getESGain() ? 1 : 2 ) ;
754  const double ESMIPToGeV ( ( 1 == ESGain ) ?
755  esMipToGeV->getESValueLow() :
756  esMipToGeV->getESValueHigh() ) ;
757 
758  if( m_doES ) {
760  if( !m_doFastES )
761  {
762  m_ESElectronicsSim->setGain( ESGain ) ;
763  m_ESElectronicsSim->setPedestals( espeds ) ;
764  m_ESElectronicsSim->setMIPs( esmips ) ;
765  m_ESElectronicsSim->setMIPToGeV( ESMIPToGeV ) ;
766  }
767  else
768  {
769  m_ESDigitizer->setGain( ESGain ) ;
770  m_ESElectronicsSimFast->setPedestals( espeds ) ;
771  m_ESElectronicsSimFast->setMIPs( esmips ) ;
772  m_ESElectronicsSimFast->setMIPToGeV( ESMIPToGeV ) ;
773  }
774  }
775  }
776 }
#define LogDebug(id)
std::unique_ptr< EcalCoder > m_APDCoder
std::unique_ptr< ESDigitizer > m_ESDigitizer
Definition: ESGain.h:7
void setGain(const int gain)
Definition: ESShape.h:26
std::unique_ptr< EBHitResponse > m_APDResponse
std::unique_ptr< EcalCoder > m_Coder
const double m_EBs25notCont
float gain6Over1() const
unsigned long long TimeValue_t
Definition: Timestamp.h:28
std::unique_ptr< ESElectronicsSimFast > m_ESElectronicsSimFast
std::unique_ptr< EEHitResponse > m_EEResponse
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
float gain12Over6() const
std::unique_ptr< ESElectronicsSim > m_ESElectronicsSim
std::unique_ptr< EBHitResponse > m_EBResponse
std::unique_ptr< ESOldDigitizer > m_ESOldDigitizer
const double m_EEs25notCont
void EcalDigiProducer::checkGeometry ( const edm::EventSetup eventSetup)
private

Definition at line 779 of file EcalDigiProducer.cc.

References edm::EventSetup::get(), m_Geometry, and updateGeometry().

Referenced by initializeEvent().

780 {
781  // TODO find a way to avoid doing this every event
782  edm::ESHandle<CaloGeometry> hGeometry ;
783  eventSetup.get<CaloGeometryRecord>().get( hGeometry ) ;
784 
785  const CaloGeometry* pGeometry = &*hGeometry;
786 
787  if( pGeometry != m_Geometry )
788  {
789  m_Geometry = pGeometry;
790  updateGeometry();
791  }
792 }
const CaloGeometry * m_Geometry
const T & get() const
Definition: EventSetup.h:56
void EcalDigiProducer::finalizeEvent ( edm::Event e,
edm::EventSetup const &  c 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Reimplemented in EcalTBDigiProducer.

Definition at line 588 of file EcalDigiProducer.cc.

References cacheEBDigis(), cacheEEDigis(), m_APDDigitizer, m_apdSeparateDigi, m_BarrelDigitizer, m_doEB, m_doEE, m_doES, m_doFastES, m_EBdigiCollection, m_EEdigiCollection, m_EndcapDigitizer, m_ESdigiCollection, m_ESDigitizer, m_ESOldDigitizer, randomEngine(), and edm::Event::streamID().

Referenced by EcalTBDigiProducer::finalizeEvent(), and edm::DataMixingEcalDigiWorkerProd::putEcal().

588  {
589  // Step B: Create empty output
590  std::auto_ptr<EBDigiCollection> apdResult ( !m_apdSeparateDigi || !m_doEB ? nullptr :
591  new EBDigiCollection() ) ;
592  std::auto_ptr<EBDigiCollection> barrelResult ( new EBDigiCollection() ) ;
593  std::auto_ptr<EEDigiCollection> endcapResult ( new EEDigiCollection() ) ;
594  std::auto_ptr<ESDigiCollection> preshowerResult( new ESDigiCollection() ) ;
595 
596  // run the algorithm
597 
598  if( m_doEB ) {
599  m_BarrelDigitizer->run( *barrelResult, randomEngine(event.streamID()) ) ;
600  cacheEBDigis( &*barrelResult ) ;
601 
602  edm::LogInfo("DigiInfo") << "EB Digis: " << barrelResult->size() ;
603 
604  if( m_apdSeparateDigi ) {
605  m_APDDigitizer->run( *apdResult, randomEngine(event.streamID()) ) ;
606  edm::LogInfo("DigiInfo") << "APD Digis: " << apdResult->size() ;
607  }
608  }
609 
610  if( m_doEE ) {
611  m_EndcapDigitizer->run( *endcapResult, randomEngine(event.streamID()) ) ;
612  edm::LogInfo("EcalDigi") << "EE Digis: " << endcapResult->size() ;
613  cacheEEDigis( &*endcapResult ) ;
614  }
615  if( m_doES ) {
616  if(m_doFastES) {
617  m_ESDigitizer->run( *preshowerResult, randomEngine(event.streamID()) ) ;
618  } else {
619  m_ESOldDigitizer->run( *preshowerResult, randomEngine(event.streamID()) ) ;
620  }
621  edm::LogInfo("EcalDigi") << "ES Digis: " << preshowerResult->size();
622  }
623 
624 
625  // Step D: Put outputs into event
626  if( m_apdSeparateDigi ) {
627  //event.put( apdResult, m_apdDigiTag ) ;
628  }
629 
630  event.put( barrelResult, m_EBdigiCollection ) ;
631  event.put( endcapResult, m_EEdigiCollection ) ;
632  event.put( preshowerResult, m_ESdigiCollection ) ;
633 }
std::unique_ptr< ESDigitizer > m_ESDigitizer
const std::string m_ESdigiCollection
std::unique_ptr< EEDigitizer > m_EndcapDigitizer
const std::string m_EEdigiCollection
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
std::unique_ptr< EBDigitizer > m_BarrelDigitizer
virtual void cacheEBDigis(const EBDigiCollection *ebDigiPtr) const
const bool m_apdSeparateDigi
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)
std::unique_ptr< ESOldDigitizer > m_ESOldDigitizer
virtual void cacheEEDigis(const EEDigiCollection *eeDigiPtr) const
const std::string m_EBdigiCollection
std::unique_ptr< EBDigitizer > m_APDDigitizer
void EcalDigiProducer::initializeEvent ( edm::Event const &  e,
edm::EventSetup const &  c 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Reimplemented in EcalTBDigiProducer.

Definition at line 507 of file EcalDigiProducer.cc.

References checkCalibrations(), checkGeometry(), m_APDDigitizer, m_apdSeparateDigi, m_BarrelDigitizer, m_doEB, m_doEE, m_doES, m_doFastES, m_EndcapDigitizer, m_ESDigitizer, and m_ESOldDigitizer.

Referenced by EcalTBDigiProducer::initializeEvent(), and edm::DataMixingEcalDigiWorkerProd::initializeEvent().

507  {
508  checkGeometry( eventSetup );
509  checkCalibrations( event, eventSetup );
510  if( m_doEB ) {
511  m_BarrelDigitizer->initializeHits();
512  if(m_apdSeparateDigi) {
513  m_APDDigitizer->initializeHits();
514  }
515  }
516  if( m_doEE ) {
517  m_EndcapDigitizer->initializeHits();
518  }
519  if( m_doES ) {
520  if(m_doFastES) {
521  m_ESDigitizer->initializeHits();
522  } else {
523  m_ESOldDigitizer->initializeHits();
524  }
525  }
526 }
std::unique_ptr< ESDigitizer > m_ESDigitizer
std::unique_ptr< EEDigitizer > m_EndcapDigitizer
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 checkCalibrations(const edm::Event &event, const edm::EventSetup &eventSetup)
void checkGeometry(const edm::EventSetup &eventSetup)
std::unique_ptr< EBDigitizer > m_BarrelDigitizer
const bool m_apdSeparateDigi
std::unique_ptr< ESOldDigitizer > m_ESOldDigitizer
std::unique_ptr< EBDigitizer > m_APDDigitizer
CLHEP::HepRandomEngine * EcalDigiProducer::randomEngine ( edm::StreamID const &  streamID)
private

Definition at line 831 of file EcalDigiProducer.cc.

References edm::RandomNumberGenerator::getEngine(), cmsHarvester::index, randomEngines_, and edm::StreamID::value().

Referenced by accumulate(), and finalizeEvent().

831  {
832  unsigned int index = streamID.value();
833  if(index >= randomEngines_.size()) {
834  randomEngines_.resize(index + 1, nullptr);
835  }
836  CLHEP::HepRandomEngine* ptr = randomEngines_[index];
837  if(!ptr) {
839  ptr = &rng->getEngine(streamID);
840  randomEngines_[index] = ptr;
841  }
842  return ptr;
843 }
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
std::vector< CLHEP::HepRandomEngine * > randomEngines_
void EcalDigiProducer::setEBNoiseSignalGenerator ( EcalBaseSignalGenerator noiseGenerator)

Definition at line 845 of file EcalDigiProducer.cc.

References m_BarrelDigitizer.

845  {
846  //noiseGenerator->setParameterMap(theParameterMap);
847  if(nullptr != m_BarrelDigitizer) m_BarrelDigitizer->setNoiseSignalGenerator(noiseGenerator);
848 }
std::unique_ptr< EBDigitizer > m_BarrelDigitizer
void EcalDigiProducer::setEENoiseSignalGenerator ( EcalBaseSignalGenerator noiseGenerator)

Definition at line 850 of file EcalDigiProducer.cc.

References m_EndcapDigitizer.

850  {
851  //noiseGenerator->setParameterMap(theParameterMap);
852  if(nullptr != m_EndcapDigitizer) m_EndcapDigitizer->setNoiseSignalGenerator(noiseGenerator);
853 }
std::unique_ptr< EEDigitizer > m_EndcapDigitizer
void EcalDigiProducer::setESNoiseSignalGenerator ( EcalBaseSignalGenerator noiseGenerator)

Definition at line 855 of file EcalDigiProducer.cc.

References m_ESDigitizer.

855  {
856  //noiseGenerator->setParameterMap(theParameterMap);
857  if(nullptr != m_ESDigitizer) m_ESDigitizer->setNoiseSignalGenerator(noiseGenerator);
858 }
std::unique_ptr< ESDigitizer > m_ESDigitizer
void EcalDigiProducer::updateGeometry ( )
private

Definition at line 795 of file EcalDigiProducer.cc.

References DetId::Ecal, EcalBarrel, EcalEndcap, EcalPreshower, CaloGeometry::getSubdetectorGeometry(), CaloSubdetectorGeometry::getValidDetIds(), m_APDResponse, m_doEB, m_doEE, m_doES, m_doFastES, m_EBResponse, m_EEResponse, m_ESDigitizer, m_ESOldDigitizer, m_ESOldResponse, m_ESResponse, m_Geometry, and nullptr.

Referenced by checkGeometry().

796 {
797  if( m_doEB ) {
798  if( nullptr != m_APDResponse ) m_APDResponse->setGeometry(
800  m_EBResponse->setGeometry(
802  }
803  if( m_doEE ) {
804  m_EEResponse->setGeometry(
806  }
807  if( m_doES ) {
808  m_ESResponse->setGeometry(
810  m_ESOldResponse->setGeometry( m_Geometry ) ;
811 
812  const std::vector<DetId>* theESDets (
815 
816  if( !m_doFastES )
817  {
818  if( nullptr != m_ESOldDigitizer &&
819  nullptr != theESDets )
820  m_ESOldDigitizer->setDetIds( *theESDets ) ;
821  }
822  else
823  {
824  if( nullptr != m_ESDigitizer &&
825  nullptr != theESDets )
826  m_ESDigitizer->setDetIds( *theESDets ) ;
827  }
828  }
829 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:43
std::unique_ptr< ESDigitizer > m_ESDigitizer
std::unique_ptr< EBHitResponse > m_APDResponse
#define nullptr
std::unique_ptr< ESHitResponse > m_ESResponse
virtual const std::vector< DetId > & getValidDetIds(DetId::Detector det=DetId::Detector(0), int subdet=0) const
Get a list of valid detector ids (for the given subdetector)
std::unique_ptr< CaloHitResponse > m_ESOldResponse
const CaloGeometry * m_Geometry
std::unique_ptr< EEHitResponse > m_EEResponse
std::unique_ptr< EBHitResponse > m_EBResponse
std::unique_ptr< ESOldDigitizer > m_ESOldDigitizer

Member Data Documentation

const bool EcalDigiProducer::m_addESNoise
private

Definition at line 125 of file EcalDigiProducer.h.

std::unique_ptr<EcalCoder> EcalDigiProducer::m_APDCoder
private

Definition at line 146 of file EcalDigiProducer.h.

Referenced by checkCalibrations().

const std::string EcalDigiProducer::m_apdDigiTag
private

Definition at line 114 of file EcalDigiProducer.h.

std::unique_ptr<EBDigitizer> EcalDigiProducer::m_APDDigitizer
private

Definition at line 138 of file EcalDigiProducer.h.

Referenced by accumulateCaloHits(), finalizeEvent(), and initializeEvent().

std::unique_ptr<EcalElectronicsSim> EcalDigiProducer::m_APDElectronicsSim
private

Definition at line 145 of file EcalDigiProducer.h.

std::unique_ptr<const APDSimParameters> EcalDigiProducer::m_apdParameters
private

Definition at line 115 of file EcalDigiProducer.h.

std::unique_ptr<EBHitResponse> EcalDigiProducer::m_APDResponse
private

Definition at line 117 of file EcalDigiProducer.h.

Referenced by beginLuminosityBlock(), checkCalibrations(), and updateGeometry().

const bool EcalDigiProducer::m_apdSeparateDigi
private

Definition at line 105 of file EcalDigiProducer.h.

Referenced by accumulateCaloHits(), finalizeEvent(), and initializeEvent().

const APDShape EcalDigiProducer::m_APDShape
private

Definition at line 93 of file EcalDigiProducer.h.

std::unique_ptr<EBDigitizer> EcalDigiProducer::m_BarrelDigitizer
private
std::unique_ptr<EcalCoder> EcalDigiProducer::m_Coder
private

Definition at line 143 of file EcalDigiProducer.h.

Referenced by checkCalibrations().

const bool EcalDigiProducer::m_doEB
private
const bool EcalDigiProducer::m_doEE
private
const bool EcalDigiProducer::m_doES
private
const bool EcalDigiProducer::m_doFastES
private
std::array< std::unique_ptr<CorrelatedNoisifier<EcalCorrMatrix> >, 3 > EcalDigiProducer::m_EBCorrNoise
private

Definition at line 150 of file EcalDigiProducer.h.

const std::string EcalDigiProducer::m_EBdigiCollection
private

Definition at line 98 of file EcalDigiProducer.h.

Referenced by finalizeEvent().

std::unique_ptr<EBHitResponse> EcalDigiProducer::m_EBResponse
protected
const double EcalDigiProducer::m_EBs25notCont
private

Definition at line 107 of file EcalDigiProducer.h.

Referenced by checkCalibrations().

const EBShape EcalDigiProducer::m_EBShape
private

Definition at line 94 of file EcalDigiProducer.h.

std::array< std::unique_ptr<CorrelatedNoisifier<EcalCorrMatrix> >, 3 > EcalDigiProducer::m_EECorrNoise
private

Definition at line 151 of file EcalDigiProducer.h.

const std::string EcalDigiProducer::m_EEdigiCollection
private

Definition at line 99 of file EcalDigiProducer.h.

Referenced by finalizeEvent().

std::unique_ptr<EEHitResponse> EcalDigiProducer::m_EEResponse
protected
const double EcalDigiProducer::m_EEs25notCont
private

Definition at line 108 of file EcalDigiProducer.h.

Referenced by checkCalibrations().

const EEShape EcalDigiProducer::m_EEShape
private

Definition at line 95 of file EcalDigiProducer.h.

std::unique_ptr<EcalElectronicsSim> EcalDigiProducer::m_ElectronicsSim
private

Definition at line 142 of file EcalDigiProducer.h.

std::unique_ptr<EEDigitizer> EcalDigiProducer::m_EndcapDigitizer
private
const std::string EcalDigiProducer::m_ESdigiCollection
private

Definition at line 100 of file EcalDigiProducer.h.

Referenced by finalizeEvent().

std::unique_ptr<ESDigitizer> EcalDigiProducer::m_ESDigitizer
private
std::unique_ptr<ESElectronicsSim> EcalDigiProducer::m_ESElectronicsSim
private

Definition at line 133 of file EcalDigiProducer.h.

Referenced by checkCalibrations().

std::unique_ptr<ESElectronicsSimFast> EcalDigiProducer::m_ESElectronicsSimFast
private

Definition at line 135 of file EcalDigiProducer.h.

Referenced by checkCalibrations().

std::unique_ptr<ESOldDigitizer> EcalDigiProducer::m_ESOldDigitizer
private
std::unique_ptr<CaloHitResponse> EcalDigiProducer::m_ESOldResponse
private

Definition at line 123 of file EcalDigiProducer.h.

Referenced by updateGeometry().

std::unique_ptr<ESHitResponse> EcalDigiProducer::m_ESResponse
private

Definition at line 122 of file EcalDigiProducer.h.

Referenced by updateGeometry().

ESShape EcalDigiProducer::m_ESShape
private

Definition at line 96 of file EcalDigiProducer.h.

Referenced by checkCalibrations().

const CaloGeometry* EcalDigiProducer::m_Geometry
private

Definition at line 148 of file EcalDigiProducer.h.

Referenced by checkGeometry(), and updateGeometry().

const std::string EcalDigiProducer::m_hitsProducerTag
private

Definition at line 101 of file EcalDigiProducer.h.

Referenced by accumulate().

std::unique_ptr<const EcalSimParameterMap> EcalDigiProducer::m_ParameterMap
protected

Definition at line 112 of file EcalDigiProducer.h.

Referenced by EcalTBDigiProducer::setPhaseShift().

const bool EcalDigiProducer::m_PreMix1
private

Definition at line 126 of file EcalDigiProducer.h.

const bool EcalDigiProducer::m_PreMix2
private

Definition at line 127 of file EcalDigiProducer.h.

const unsigned int EcalDigiProducer::m_readoutFrameSize
private

Definition at line 110 of file EcalDigiProducer.h.

bool EcalDigiProducer::m_useLCcorrection
private

Definition at line 103 of file EcalDigiProducer.h.

Referenced by checkCalibrations().

std::vector<CLHEP::HepRandomEngine*> EcalDigiProducer::randomEngines_
private

Definition at line 153 of file EcalDigiProducer.h.

Referenced by randomEngine().