CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
HcalDigiProducer Class Reference

#include <HcalDigiProducer.h>

Inheritance diagram for HcalDigiProducer:
DigiAccumulatorMixMod

Public Member Functions

void accumulate (edm::Event const &, edm::EventSetup const &) override
 
void accumulate (PileUpEventPrincipal const &, edm::EventSetup const &, edm::StreamID const &) override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void finalizeEvent (edm::Event &, edm::EventSetup const &) override
 
 HcalDigiProducer (edm::ParameterSet const &pset, edm::ProducerBase &mixMod, edm::ConsumesCollector &iC)
 
 HcalDigiProducer (edm::ParameterSet const &pset, edm::ConsumesCollector &iC)
 
void initializeEvent (edm::Event const &, edm::EventSetup const &) override
 
void setHBHENoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
void setHFNoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
void setHONoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
void setQIE10NoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
void setQIE11NoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
void setZDCNoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
- Public Member Functions inherited from DigiAccumulatorMixMod
virtual void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup)
 
 DigiAccumulatorMixMod ()
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &lumi, 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 ()
 

Private Member Functions

CLHEP::HepRandomEngine * randomEngine (edm::StreamID const &streamID)
 

Private Attributes

std::vector< CLHEP::HepRandomEngine * > randomEngines_
 
HcalDigitizer theDigitizer_
 

Detailed Description

Definition at line 20 of file HcalDigiProducer.h.

Constructor & Destructor Documentation

HcalDigiProducer::HcalDigiProducer ( edm::ParameterSet const &  pset,
edm::ProducerBase mixMod,
edm::ConsumesCollector iC 
)

Definition at line 8 of file HcalDigiProducer.cc.

References edm::ParameterSet::getParameter(), and edm::ProductRegistryHelper::produces().

8  :
10  theDigitizer_(pset, iC) {
11  mixMod.produces<HBHEDigiCollection>();
12  mixMod.produces<HODigiCollection>();
13  mixMod.produces<HFDigiCollection>();
14  mixMod.produces<ZDCDigiCollection>();
15  mixMod.produces<QIE10DigiCollection>("HFQIE10DigiCollection");
16  mixMod.produces<QIE11DigiCollection>("HBHEQIE11DigiCollection");
17  if(pset.getParameter<bool>("debugCaloSamples")){
18  mixMod.produces<CaloSamplesCollection>("HcalSamples");
19  }
20  if(pset.getParameter<bool>("injectTestHits")){
21  mixMod.produces<edm::PCaloHitContainer>("HcalHits");
22  }
23 }
BranchAliasSetterT< ProductType > produces()
declare what type of product will make and with which optional label
std::vector< PCaloHit > PCaloHitContainer
std::vector< CaloSamples > CaloSamplesCollection
Definition: CaloSamples.h:88
HcalDigitizer theDigitizer_
HcalDigiProducer::HcalDigiProducer ( edm::ParameterSet const &  pset,
edm::ConsumesCollector iC 
)

Definition at line 26 of file HcalDigiProducer.cc.

Member Function Documentation

void HcalDigiProducer::accumulate ( edm::Event const &  event,
edm::EventSetup const &  es 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 43 of file HcalDigiProducer.cc.

References HcalDigitizer::accumulate(), randomEngine(), edm::Event::streamID(), and theDigitizer_.

Referenced by edm::DataMixingHcalDigiWorkerProd::addHcalSignals().

43  {
45 }
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)
void accumulate(edm::Event const &e, edm::EventSetup const &c, CLHEP::HepRandomEngine *)
HcalDigitizer theDigitizer_
Definition: event.py:1
void HcalDigiProducer::accumulate ( PileUpEventPrincipal const &  event,
edm::EventSetup const &  es,
edm::StreamID const &  streamID 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 48 of file HcalDigiProducer.cc.

References HcalDigitizer::accumulate(), randomEngine(), and theDigitizer_.

48  {
50 }
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)
void accumulate(edm::Event const &e, edm::EventSetup const &c, CLHEP::HepRandomEngine *)
HcalDigitizer theDigitizer_
Definition: event.py:1
void HcalDigiProducer::beginRun ( edm::Run const &  ,
edm::EventSetup const &  es 
)
overridevirtual

Reimplemented from DigiAccumulatorMixMod.

Definition at line 53 of file HcalDigiProducer.cc.

Referenced by edm::DataMixingHcalDigiWorkerProd::beginRun().

53 {}
void HcalDigiProducer::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Reimplemented from DigiAccumulatorMixMod.

Definition at line 56 of file HcalDigiProducer.cc.

56 {}
void HcalDigiProducer::finalizeEvent ( edm::Event event,
edm::EventSetup const &  es 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 38 of file HcalDigiProducer.cc.

References HcalDigitizer::finalizeEvent(), randomEngine(), edm::Event::streamID(), and theDigitizer_.

Referenced by edm::DataMixingHcalDigiWorkerProd::putHcal().

38  {
39  theDigitizer_.finalizeEvent(event, es, randomEngine(event.streamID()));
40 }
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)
StreamID streamID() const
Definition: Event.h:95
HcalDigitizer theDigitizer_
void finalizeEvent(edm::Event &e, edm::EventSetup const &c, CLHEP::HepRandomEngine *)
void HcalDigiProducer::initializeEvent ( edm::Event const &  event,
edm::EventSetup const &  es 
)
overridevirtual

Implements DigiAccumulatorMixMod.

Definition at line 33 of file HcalDigiProducer.cc.

References HcalDigitizer::initializeEvent(), and theDigitizer_.

Referenced by edm::DataMixingHcalDigiWorkerProd::initializeEvent().

33  {
35 }
void initializeEvent(edm::Event const &e, edm::EventSetup const &c)
HcalDigitizer theDigitizer_
Definition: event.py:1
CLHEP::HepRandomEngine * HcalDigiProducer::randomEngine ( edm::StreamID const &  streamID)
private

Definition at line 88 of file HcalDigiProducer.cc.

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

Referenced by accumulate(), and finalizeEvent().

88  {
89  unsigned int index = streamID.value();
90  if(index >= randomEngines_.size()) {
91  randomEngines_.resize(index + 1, nullptr);
92  }
93  CLHEP::HepRandomEngine* ptr = randomEngines_[index];
94  if(!ptr) {
96  ptr = &rng->getEngine(streamID);
97  randomEngines_[index] = ptr;
98  }
99  return ptr;
100 }
std::vector< CLHEP::HepRandomEngine * > randomEngines_
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
void HcalDigiProducer::setHBHENoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 59 of file HcalDigiProducer.cc.

References HcalDigitizer::setHBHENoiseSignalGenerator(), and theDigitizer_.

59  {
61 }
HcalDigitizer theDigitizer_
void setHBHENoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
void HcalDigiProducer::setHFNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 64 of file HcalDigiProducer.cc.

References HcalDigitizer::setHFNoiseSignalGenerator(), and theDigitizer_.

64  {
66 }
void setHFNoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
HcalDigitizer theDigitizer_
void HcalDigiProducer::setHONoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 69 of file HcalDigiProducer.cc.

References HcalDigitizer::setHONoiseSignalGenerator(), and theDigitizer_.

69  {
71 }
HcalDigitizer theDigitizer_
void setHONoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
void HcalDigiProducer::setQIE10NoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 79 of file HcalDigiProducer.cc.

References HcalDigitizer::setQIE10NoiseSignalGenerator(), and theDigitizer_.

79  {
81 }
void setQIE10NoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
HcalDigitizer theDigitizer_
void HcalDigiProducer::setQIE11NoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 84 of file HcalDigiProducer.cc.

References HcalDigitizer::setQIE11NoiseSignalGenerator(), and theDigitizer_.

84  {
86 }
void setQIE11NoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
HcalDigitizer theDigitizer_
void HcalDigiProducer::setZDCNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 74 of file HcalDigiProducer.cc.

References HcalDigitizer::setZDCNoiseSignalGenerator(), and theDigitizer_.

74  {
76 }
void setZDCNoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
HcalDigitizer theDigitizer_

Member Data Documentation

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

Definition at line 46 of file HcalDigiProducer.h.

Referenced by randomEngine().

HcalDigitizer HcalDigiProducer::theDigitizer_
private