CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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

virtual void accumulate (edm::Event const &, edm::EventSetup const &) override
 
virtual void accumulate (PileUpEventPrincipal const &, edm::EventSetup const &, edm::StreamID const &) override
 
virtual void beginRun (edm::Run const &, edm::EventSetup const &) override
 
virtual void endRun (edm::Run const &, edm::EventSetup const &) override
 
virtual void finalizeEvent (edm::Event &, edm::EventSetup const &) override
 
 HcalDigiProducer (edm::ParameterSet const &pset, edm::stream::EDProducerBase &mixMod, edm::ConsumesCollector &iC)
 
 HcalDigiProducer (edm::ParameterSet const &pset, edm::ConsumesCollector &iC)
 
virtual 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 22 of file HcalDigiProducer.h.

Constructor & Destructor Documentation

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

Definition at line 8 of file HcalDigiProducer.cc.

References edm::ParameterSet::getParameter().

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 }
std::vector< PCaloHit > PCaloHitContainer
std::vector< CaloSamples > CaloSamplesCollection
Definition: CaloSamples.h:85
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 *)
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
HcalDigitizer theDigitizer_
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 *)
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
HcalDigitizer theDigitizer_
void HcalDigiProducer::beginRun ( edm::Run const &  ,
edm::EventSetup const &  es 
)
overridevirtual

Reimplemented from DigiAccumulatorMixMod.

Definition at line 53 of file HcalDigiProducer.cc.

References HcalDigitizer::beginRun(), and theDigitizer_.

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

53  {
55 }
void beginRun(const edm::EventSetup &es)
HcalDigitizer theDigitizer_
void HcalDigiProducer::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Reimplemented from DigiAccumulatorMixMod.

Definition at line 58 of file HcalDigiProducer.cc.

References HcalDigitizer::endRun(), and theDigitizer_.

58  {
60 }
HcalDigitizer theDigitizer_
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:81
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)
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
HcalDigitizer theDigitizer_
CLHEP::HepRandomEngine * HcalDigiProducer::randomEngine ( edm::StreamID const &  streamID)
private

Definition at line 92 of file HcalDigiProducer.cc.

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

Referenced by accumulate(), and finalizeEvent().

92  {
93  unsigned int index = streamID.value();
94  if(index >= randomEngines_.size()) {
95  randomEngines_.resize(index + 1, nullptr);
96  }
97  CLHEP::HepRandomEngine* ptr = randomEngines_[index];
98  if(!ptr) {
100  ptr = &rng->getEngine(streamID);
101  randomEngines_[index] = ptr;
102  }
103  return ptr;
104 }
edm::Service< edm::RandomNumberGenerator > rng
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 63 of file HcalDigiProducer.cc.

References HcalDigitizer::setHBHENoiseSignalGenerator(), and theDigitizer_.

63  {
65 }
HcalDigitizer theDigitizer_
void setHBHENoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
void HcalDigiProducer::setHFNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 68 of file HcalDigiProducer.cc.

References HcalDigitizer::setHFNoiseSignalGenerator(), and theDigitizer_.

68  {
70 }
void setHFNoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
HcalDigitizer theDigitizer_
void HcalDigiProducer::setHONoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 73 of file HcalDigiProducer.cc.

References HcalDigitizer::setHONoiseSignalGenerator(), and theDigitizer_.

73  {
75 }
HcalDigitizer theDigitizer_
void setHONoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
void HcalDigiProducer::setQIE10NoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 83 of file HcalDigiProducer.cc.

References HcalDigitizer::setQIE10NoiseSignalGenerator(), and theDigitizer_.

83  {
85 }
void setQIE10NoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
HcalDigitizer theDigitizer_
void HcalDigiProducer::setQIE11NoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 88 of file HcalDigiProducer.cc.

References HcalDigitizer::setQIE11NoiseSignalGenerator(), and theDigitizer_.

88  {
90 }
void setQIE11NoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
HcalDigitizer theDigitizer_
void HcalDigiProducer::setZDCNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 78 of file HcalDigiProducer.cc.

References HcalDigitizer::setZDCNoiseSignalGenerator(), and theDigitizer_.

78  {
80 }
void setZDCNoiseSignalGenerator(HcalBaseSignalGenerator *noiseGenerator)
HcalDigitizer theDigitizer_

Member Data Documentation

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

Definition at line 48 of file HcalDigiProducer.h.

Referenced by randomEngine().

HcalDigitizer HcalDigiProducer::theDigitizer_
private