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 Types | Private Member Functions | Private Attributes
HcalDigitizer Class Reference

#include <HcalDigitizer.h>

Public Member Functions

void beginRun (const edm::EventSetup &es)
 
void endRun ()
 
 HcalDigitizer (const edm::ParameterSet &ps)
 
void produce (edm::Event &e, const edm::EventSetup &c)
 
void setHBHENoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
void setHFNoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
void setHONoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
void setZDCNoiseSignalGenerator (HcalBaseSignalGenerator *noiseGenerator)
 
virtual ~HcalDigitizer ()
 

Private Types

typedef CaloTDigitizer
< HBHEDigitizerTraits
HBHEDigitizer
 
typedef CaloTDigitizer
< HFDigitizerTraits
HFDigitizer
 
typedef CaloTDigitizer
< HODigitizerTraits
HODigitizer
 
typedef CaloTDigitizer
< ZDCDigitizerTraits
ZDCDigitizer
 

Private Member Functions

void buildHOSiPMCells (const std::vector< DetId > &allCells, const edm::EventSetup &eventSetup)
 
void checkGeometry (const edm::EventSetup &eventSetup)
 
void fillFakeHits ()
 some hits in each subdetector, just for testing purposes More...
 
void updateGeometry (const edm::EventSetup &eventSetup)
 

Private Attributes

bool hbhegeo
 
bool hfgeo
 
std::string hitsProducer_
 
bool hogeo
 
bool isHCAL
 
bool isZDC
 
HcalCoderFactorytheCoderFactory
 
const CaloGeometrytheGeometry
 
HcalAmplifiertheHBHEAmplifier
 
std::vector< DetIdtheHBHEDetIds
 
HBHEDigitizertheHBHEDigitizer
 
HcalElectronicsSimtheHBHEElectronicsSim
 
HBHEHitFilter theHBHEHitFilter
 
CaloHitResponsetheHBHEResponse
 
HBHEDigitizertheHBHESiPMDigitizer
 
CaloHitResponsetheHBHESiPMResponse
 
HcalAmplifiertheHFAmplifier
 
HFDigitizertheHFDigitizer
 
HcalElectronicsSimtheHFElectronicsSim
 
HFHitFilter theHFHitFilter
 
CaloHitResponsetheHFResponse
 
HcalHitCorrectiontheHitCorrection
 
HcalAmplifiertheHOAmplifier
 
HODigitizertheHODigitizer
 
HcalElectronicsSimtheHOElectronicsSim
 
HOHitFilter theHOHitFilter
 
std::vector< DetIdtheHOHPDDetIds
 
CaloHitResponsetheHOResponse
 
int theHOSiPMCode
 
std::vector< DetIdtheHOSiPMDetIds
 
HODigitizertheHOSiPMDigitizer
 
HcalHitFilter theHOSiPMHitFilter
 
CaloHitResponsetheHOSiPMResponse
 
HPDIonFeedbackSimtheIonFeedback
 
CaloVNoiseSignalGeneratortheNoiseGenerator
 
CaloVNoiseHitGeneratortheNoiseHitGenerator
 
HcalSimParameterMaptheParameterMap
 
HcalShapestheShapes
 
HcalTimeSlewSimtheTimeSlewSim
 
HcalAmplifiertheZDCAmplifier
 
ZDCDigitizertheZDCDigitizer
 
HcalElectronicsSimtheZDCElectronicsSim
 
ZDCHitFilter theZDCHitFilter
 
CaloHitResponsetheZDCResponse
 
bool zdcgeo
 

Detailed Description

Definition at line 26 of file HcalDigitizer.h.

Member Typedef Documentation

Reconstruction algorithm

Definition at line 55 of file HcalDigitizer.h.

Definition at line 57 of file HcalDigitizer.h.

Definition at line 56 of file HcalDigitizer.h.

Definition at line 58 of file HcalDigitizer.h.

Constructor & Destructor Documentation

HcalDigitizer::HcalDigitizer ( const edm::ParameterSet ps)
explicit

Definition at line 81 of file HcalDigitizer.cc.

References HcalCoderFactory::DB, edm::hlt::Exception, HcalDigitizerImpl::fillSiPMCells(), edm::RandomNumberGenerator::getEngine(), edm::ParameterSet::getParameter(), hitsProducer_, edm::Service< T >::isAvailable(), HcalAmplifier::setHFtuningParameter(), CaloHitResponse::setHitFilter(), HcalAmplifier::setHOtuningParameter(), CaloTDigitizer< Traits >::setNoiseHitGenerator(), CaloTDigitizer< Traits >::setNoiseSignalGenerator(), CaloHitResponse::setPECorrection(), HcalTimeSlewSim::setRandomEngine(), HPDIonFeedbackSim::setRandomEngine(), HcalHitCorrection::setRandomEngine(), CaloTDigitizer< Traits >::setRandomEngine(), HcalAmplifier::setTimeSlewSim(), HcalAmplifier::setUseOldHF(), HcalAmplifier::setUseOldHO(), theCoderFactory, theHBHEAmplifier, theHBHEDigitizer, theHBHEElectronicsSim, theHBHEHitFilter, theHBHEResponse, theHBHESiPMDigitizer, theHBHESiPMResponse, theHFAmplifier, theHFDigitizer, theHFElectronicsSim, theHFHitFilter, theHFResponse, theHitCorrection, theHOAmplifier, theHODigitizer, theHOElectronicsSim, theHOHitFilter, theHOResponse, theHOSiPMCode, theHOSiPMDigitizer, theHOSiPMHitFilter, theHOSiPMResponse, theIonFeedback, theNoiseGenerator, theNoiseHitGenerator, theParameterMap, theShapes, theTimeSlewSim, theZDCAmplifier, theZDCDigitizer, theZDCElectronicsSim, theZDCHitFilter, and theZDCResponse.

82 : theGeometry(0),
84  theShapes(new HcalShapes()),
85  theHBHEResponse(0),
87  theHOResponse(0),
92  theHFAmplifier(0),
93  theHOAmplifier(0),
94  theZDCAmplifier(0),
95  theIonFeedback(0),
96  theCoderFactory(0),
102  theHFHitFilter(ps.getParameter<bool>("doHFWindow")),
103  theHOHitFilter(),
105  theZDCHitFilter(),
106  theHitCorrection(0),
109  theHBHEDigitizer(0),
111  theHODigitizer(0),
113  theHFDigitizer(0),
114  theZDCDigitizer(0),
115  theHBHEDetIds(),
116  theHOHPDDetIds(),
117  theHOSiPMDetIds(),
118  isZDC(true),
119  isHCAL(true),
120  zdcgeo(true),
121  hbhegeo(true),
122  hogeo(true),
123  hfgeo(true),
124  theHOSiPMCode(ps.getParameter<edm::ParameterSet>("ho").getParameter<int>("siPMCode"))
125 {
126  bool doNoise = ps.getParameter<bool>("doNoise");
127  bool useOldNoiseHB = ps.getParameter<bool>("useOldHB");
128  bool useOldNoiseHE = ps.getParameter<bool>("useOldHE");
129  bool useOldNoiseHF = ps.getParameter<bool>("useOldHF");
130  bool useOldNoiseHO = ps.getParameter<bool>("useOldHO");
131  bool doEmpty = ps.getParameter<bool>("doEmpty");
132  double HBtp = ps.getParameter<double>("HBTuningParameter");
133  double HEtp = ps.getParameter<double>("HETuningParameter");
134  double HFtp = ps.getParameter<double>("HFTuningParameter");
135  double HOtp = ps.getParameter<double>("HOTuningParameter");
136 
137  // need to make copies, because they might get different noise generators
142  theHBHEAmplifier->setHBtuningParameter(HBtp);
143  theHBHEAmplifier->setHEtuningParameter(HEtp);
146  theHBHEAmplifier->setUseOldHB(useOldNoiseHB);
147  theHBHEAmplifier->setUseOldHE(useOldNoiseHE);
148  theHFAmplifier->setUseOldHF(useOldNoiseHF);
149  theHOAmplifier->setUseOldHO(useOldNoiseHO);
150 
156 
157  // a code of 1 means make all cells SiPM
158  std::vector<int> hbSiPMCells(ps.getParameter<edm::ParameterSet>("hb").getParameter<std::vector<int> >("siPMCells"));
159  //std::vector<int> hoSiPMCells(ps.getParameter<edm::ParameterSet>("ho").getParameter<std::vector<int> >("siPMCells"));
160  // 0 means none, 1 means all, and 2 means use hardcoded
161 
162  bool doHBHEHPD = hbSiPMCells.empty() || (hbSiPMCells[0] != 1);
163  bool doHOHPD = (theHOSiPMCode != 1);
164  bool doHBHESiPM = !hbSiPMCells.empty();
165  bool doHOSiPM = (theHOSiPMCode != 0);
166  if(doHBHEHPD)
167  {
171  }
172  if(doHOHPD)
173  {
177  }
178 
179  if(doHBHESiPM)
180  {
184  }
185  if(doHOSiPM)
186  {
190  }
191 
192  // if both are present, fill the SiPM cells now
193  if(doHBHEHPD && doHBHESiPM)
194  {
196  }
197 
200 
201  bool doTimeSlew = ps.getParameter<bool>("doTimeSlew");
202  if(doTimeSlew) {
203  // no time slewing for HF
204  /*
205  theHitCorrection = new HcalHitCorrection(theParameterMap);
206  if(theHBHEResponse) theHBHEResponse->setHitCorrection(theHitCorrection);
207  if(theHBHESiPMResponse) theHBHESiPMResponse->setHitCorrection(theHitCorrection);
208  if(theHOResponse) theHOResponse->setHitCorrection(theHitCorrection);
209  if(theHOSiPMResponse) theHOSiPMResponse->setHitCorrection(theHitCorrection);
210  theZDCResponse->setHitCorrection(theHitCorrection);
211  */
213  theHBHEAmplifier->setTimeSlewSim(theTimeSlewSim);
216  }
217 
220 
221  bool doHPDNoise = ps.getParameter<bool>("doHPDNoise");
222  if(doHPDNoise) {
223  //edm::ParameterSet hpdNoisePset = ps.getParameter<edm::ParameterSet>("HPDNoiseLibrary");
227  }
228 
229  if(ps.getParameter<bool>("doIonFeedback") && theHBHEResponse)
230  {
233  if(ps.getParameter<bool>("doThermalNoise"))
234  {
235  theHBHEAmplifier->setIonFeedbackSim(theIonFeedback);
236  }
237  }
238 
239  if(ps.getParameter<bool>("injectTestHits") ){
247  }
248 
250  if ( ! rng.isAvailable()) {
251  throw cms::Exception("Configuration")
252  << "HcalDigitizer requires the RandomNumberGeneratorService\n"
253  "which is not present in the configuration file. You must add the service\n"
254  "in the configuration file or remove the modules that require it.";
255  }
256 
257  CLHEP::HepRandomEngine& engine = rng->getEngine();
266 
268 
269  hitsProducer_ = ps.getParameter<std::string>("hitsProducer");
270 }
void setNoiseHitGenerator(CaloVNoiseHitGenerator *generator)
void setHOtuningParameter(double tp)
T getParameter(std::string const &) const
HBHEHitFilter theHBHEHitFilter
Definition: HcalDigitizer.h:86
HcalElectronicsSim * theHFElectronicsSim
Definition: HcalDigitizer.h:81
HBHEDigitizer * theHBHEDigitizer
Definition: HcalDigitizer.h:97
HOHitFilter theHOHitFilter
Definition: HcalDigitizer.h:88
void setRandomEngine(CLHEP::HepRandomEngine &engine)
void setUseOldHF(bool useOld)
HFDigitizer * theHFDigitizer
HFHitFilter theHFHitFilter
Definition: HcalDigitizer.h:87
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:60
void fillSiPMCells(const vector< int > &siPMCells, SIPMDIGITIZER *siPMDigitizer)
void setHFtuningParameter(double tp)
void setTimeSlewSim(const HcalTimeSlewSim *timeSlewSim)
Definition: HcalAmplifier.h:36
void setPECorrection(const CaloVPECorrection *peCorrection)
if you want to correct the photoelectrons
HcalTimeSlewSim * theTimeSlewSim
Definition: HcalDigitizer.h:93
HcalAmplifier * theHFAmplifier
Definition: HcalDigitizer.h:73
HcalCoderFactory * theCoderFactory
Definition: HcalDigitizer.h:78
CaloTDigitizer< HFDigitizerTraits > HFDigitizer
Definition: HcalDigitizer.h:57
HcalAmplifier * theHBHEAmplifier
Definition: HcalDigitizer.h:72
void setUseOldHO(bool useOld)
CaloTDigitizer< ZDCDigitizerTraits > ZDCDigitizer
Definition: HcalDigitizer.h:58
std::string hitsProducer_
HcalElectronicsSim * theHOElectronicsSim
Definition: HcalDigitizer.h:82
void setHitFilter(const CaloVHitFilter *filter)
if you want to reject hits, for example, from a certain subdetector, set this
HcalShapes * theShapes
Definition: HcalDigitizer.h:61
Creates electronics signals from hits.
void setRandomEngine(CLHEP::HepRandomEngine &engine)
need a shaper in order to set thermal noise
void setRandomEngine(CLHEP::HepRandomEngine &engine)
std::vector< DetId > theHBHEDetIds
ZDCHitFilter theZDCHitFilter
Definition: HcalDigitizer.h:90
HPDIonFeedbackSim * theIonFeedback
Definition: HcalDigitizer.h:77
bool isAvailable() const
Definition: Service.h:47
CaloHitResponse * theHOResponse
Definition: HcalDigitizer.h:65
HcalHitFilter theHOSiPMHitFilter
Definition: HcalDigitizer.h:89
CaloHitResponse * theHOSiPMResponse
Definition: HcalDigitizer.h:66
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
ZDCDigitizer * theZDCDigitizer
virtual CLHEP::HepRandomEngine & getEngine() const =0
Use this to get the random number engine, this is the only function most users should call...
std::vector< DetId > theHOHPDDetIds
HcalHitCorrection * theHitCorrection
Definition: HcalDigitizer.h:92
CaloHitResponse * theZDCResponse
Definition: HcalDigitizer.h:68
HcalElectronicsSim * theZDCElectronicsSim
Definition: HcalDigitizer.h:83
CaloTDigitizer< HODigitizerTraits > HODigitizer
Definition: HcalDigitizer.h:56
HcalAmplifier * theHOAmplifier
Definition: HcalDigitizer.h:74
HcalElectronicsSim * theHBHEElectronicsSim
Definition: HcalDigitizer.h:80
CaloHitResponse * theHBHEResponse
Definition: HcalDigitizer.h:63
HODigitizer * theHODigitizer
Definition: HcalDigitizer.h:99
std::vector< DetId > theHOSiPMDetIds
const CaloGeometry * theGeometry
Definition: HcalDigitizer.h:49
CaloHitResponse * theHFResponse
Definition: HcalDigitizer.h:67
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
Definition: HcalDigitizer.h:98
CaloHitResponse * theHBHESiPMResponse
Definition: HcalDigitizer.h:64
void setRandomEngine(CLHEP::HepRandomEngine &engine)
CaloVNoiseHitGenerator * theNoiseHitGenerator
Definition: HcalDigitizer.h:95
HcalAmplifier * theZDCAmplifier
Definition: HcalDigitizer.h:75
CaloTDigitizer< HBHEDigitizerTraits > HBHEDigitizer
Definition: HcalDigitizer.h:55
CaloVNoiseSignalGenerator * theNoiseGenerator
Definition: HcalDigitizer.h:94
HcalDigitizer::~HcalDigitizer ( )
virtual

Definition at line 273 of file HcalDigitizer.cc.

References theCoderFactory, theHBHEAmplifier, theHBHEDigitizer, theHBHEElectronicsSim, theHBHEResponse, theHBHESiPMDigitizer, theHBHESiPMResponse, theHFAmplifier, theHFDigitizer, theHFElectronicsSim, theHFResponse, theHitCorrection, theHOAmplifier, theHODigitizer, theHOElectronicsSim, theHOResponse, theHOSiPMDigitizer, theHOSiPMResponse, theNoiseGenerator, theParameterMap, theZDCAmplifier, theZDCDigitizer, theZDCElectronicsSim, and theZDCResponse.

273  {
274  delete theHBHEDigitizer;
275  delete theHBHESiPMDigitizer;
276  delete theHODigitizer;
277  delete theHOSiPMDigitizer;
278  delete theHFDigitizer;
279  delete theZDCDigitizer;
280  delete theParameterMap;
281  delete theHBHEResponse;
282  delete theHBHESiPMResponse;
283  delete theHOResponse;
284  delete theHOSiPMResponse;
285  delete theHFResponse;
286  delete theZDCResponse;
287  delete theHBHEElectronicsSim;
288  delete theHFElectronicsSim;
289  delete theHOElectronicsSim;
290  delete theZDCElectronicsSim;
291  delete theHBHEAmplifier;
292  delete theHFAmplifier;
293  delete theHOAmplifier;
294  delete theZDCAmplifier;
295  delete theCoderFactory;
296  delete theHitCorrection;
297  delete theNoiseGenerator;
298 }
HcalElectronicsSim * theHFElectronicsSim
Definition: HcalDigitizer.h:81
HBHEDigitizer * theHBHEDigitizer
Definition: HcalDigitizer.h:97
HFDigitizer * theHFDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:60
HcalAmplifier * theHFAmplifier
Definition: HcalDigitizer.h:73
HcalCoderFactory * theCoderFactory
Definition: HcalDigitizer.h:78
HcalAmplifier * theHBHEAmplifier
Definition: HcalDigitizer.h:72
HcalElectronicsSim * theHOElectronicsSim
Definition: HcalDigitizer.h:82
CaloHitResponse * theHOResponse
Definition: HcalDigitizer.h:65
CaloHitResponse * theHOSiPMResponse
Definition: HcalDigitizer.h:66
ZDCDigitizer * theZDCDigitizer
HcalHitCorrection * theHitCorrection
Definition: HcalDigitizer.h:92
CaloHitResponse * theZDCResponse
Definition: HcalDigitizer.h:68
HcalElectronicsSim * theZDCElectronicsSim
Definition: HcalDigitizer.h:83
HcalAmplifier * theHOAmplifier
Definition: HcalDigitizer.h:74
HcalElectronicsSim * theHBHEElectronicsSim
Definition: HcalDigitizer.h:80
CaloHitResponse * theHBHEResponse
Definition: HcalDigitizer.h:63
HODigitizer * theHODigitizer
Definition: HcalDigitizer.h:99
CaloHitResponse * theHFResponse
Definition: HcalDigitizer.h:67
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
Definition: HcalDigitizer.h:98
CaloHitResponse * theHBHESiPMResponse
Definition: HcalDigitizer.h:64
HcalAmplifier * theZDCAmplifier
Definition: HcalDigitizer.h:75
CaloVNoiseSignalGenerator * theNoiseGenerator
Definition: HcalDigitizer.h:94

Member Function Documentation

void HcalDigitizer::beginRun ( const edm::EventSetup es)

Definition at line 432 of file HcalDigitizer.cc.

References HcalShapes::beginRun(), checkGeometry(), and theShapes.

Referenced by HcalDigiProducer::beginRun().

433 {
434  checkGeometry(es);
435  theShapes->beginRun(es);
436 }
void checkGeometry(const edm::EventSetup &eventSetup)
HcalShapes * theShapes
Definition: HcalDigitizer.h:61
void beginRun(edm::EventSetup const &es)
Definition: HcalShapes.cc:99
void HcalDigitizer::buildHOSiPMCells ( const std::vector< DetId > &  allCells,
const edm::EventSetup eventSetup 
)
private

Definition at line 493 of file HcalDigitizer.cc.

References edm::EventSetup::get(), HcalShapes::HAMAMATSU, AlCaHLTBitMon_ParallelJobs::p, edm::ESHandle< class >::product(), HcalHitFilter::setDetIds(), CaloTDigitizer< Traits >::setDetIds(), HcalSimParameterMap::setHOHamamatsuDetIds(), HcalSimParameterMap::setHOZecotekDetIds(), theHODigitizer, theHOHPDDetIds, theHOSiPMCode, theHOSiPMDetIds, theHOSiPMDigitizer, theHOSiPMHitFilter, theParameterMap, and HcalShapes::ZECOTEK.

Referenced by updateGeometry().

494 {
495  // all HPD
496  if(theHOSiPMCode == 0)
497  {
498  theHODigitizer->setDetIds(allCells);
499  }
500  else if(theHOSiPMCode == 1)
501  {
502  theHOSiPMDigitizer->setDetIds(allCells);
503  // FIXME pick Zecotek or hamamatsu?
504  }
505  else if(theHOSiPMCode == 2)
506  {
507  std::vector<HcalDetId> zecotekDetIds, hamamatsuDetIds;
509  eventSetup.get<HcalMCParamsRcd>().get(p);
510  HcalMCParams mcParams(*p.product());
511  for(std::vector<DetId>::const_iterator detItr = allCells.begin();
512  detItr != allCells.end(); ++detItr)
513  {
514  HcalDetId hcalId(*detItr);
515  int shapeType = mcParams.getValues(*detItr)->signalShape();
516  if(shapeType == HcalShapes::ZECOTEK) {
517  zecotekDetIds.push_back(hcalId);
518  theHOSiPMDetIds.push_back(*detItr);
519  }
520  else if(shapeType == HcalShapes::HAMAMATSU) {
521  hamamatsuDetIds.push_back(hcalId);
522  theHOSiPMDetIds.push_back(*detItr);
523  }
524  else {
525  theHOHPDDetIds.push_back(*detItr);
526  }
527  }
528 
529  assert(theHODigitizer);
530  assert(theHOSiPMDigitizer);
534  // FIXME not applying a HitFilter to the HPDs, for now
535  theParameterMap->setHOZecotekDetIds(zecotekDetIds);
536  theParameterMap->setHOHamamatsuDetIds(hamamatsuDetIds);
537 
538  // make sure we don't got through this exercise again
539  theHOSiPMCode = -2;
540  }
541 }
void setDetIds(const std::vector< DetId > &detIds)
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:60
void setHOZecotekDetIds(const std::vector< HcalDetId > &ids)
HcalHitFilter theHOSiPMHitFilter
Definition: HcalDigitizer.h:89
std::vector< DetId > theHOHPDDetIds
void setHOHamamatsuDetIds(const std::vector< HcalDetId > &ids)
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
HODigitizer * theHODigitizer
Definition: HcalDigitizer.h:99
std::vector< DetId > theHOSiPMDetIds
HODigitizer * theHOSiPMDigitizer
void setDetIds(const std::vector< DetId > &detIds)
void HcalDigitizer::checkGeometry ( const edm::EventSetup eventSetup)
private

make sure the digitizer has the correct list of all cells that exist in the geometry

Definition at line 445 of file HcalDigitizer.cc.

References geometry, edm::EventSetup::get(), theGeometry, and updateGeometry().

Referenced by beginRun().

445  {
446  // TODO find a way to avoid doing this every event
448  eventSetup.get<CaloGeometryRecord>().get(geometry);
449  // See if it's been updated
450  if(&*geometry != theGeometry)
451  {
452  theGeometry = &*geometry;
453  updateGeometry(eventSetup);
454  }
455 }
const T & get() const
Definition: EventSetup.h:55
const CaloGeometry * theGeometry
Definition: HcalDigitizer.h:49
ESHandle< TrackerGeometry > geometry
void updateGeometry(const edm::EventSetup &eventSetup)
void HcalDigitizer::endRun ( void  )

Definition at line 439 of file HcalDigitizer.cc.

References HcalShapes::endRun(), and theShapes.

Referenced by HcalDigiProducer::endRun().

440 {
441  theShapes->endRun();
442 }
HcalShapes * theShapes
Definition: HcalDigitizer.h:61
void endRun()
Definition: HcalShapes.cc:107
void HcalDigitizer::fillFakeHits ( )
private

some hits in each subdetector, just for testing purposes

void HcalDigitizer::produce ( edm::Event e,
const edm::EventSetup c 
)

Produces the EDM products,

Definition at line 334 of file HcalDigitizer.cc.

References HcalHitCorrection::clear(), HcalHitCorrection::fillChargeSums(), edm::EventSetup::get(), edm::Event::getByLabel(), hbhegeo, hfgeo, hitsProducer_, hogeo, isHCAL, edm::HandleBase::isValid(), isZDC, edm::Handle< T >::product(), edm::ESHandle< class >::product(), edm::Event::put(), CaloTDigitizer< Traits >::run(), HcalAmplifier::setADCPeds(), HcalAmplifier::setCholesky(), HcalCoderFactory::setDbService(), HcalAmplifier::setDbService(), HcalSimParameterMap::setDbService(), theCoderFactory, theHBHEAmplifier, theHBHEDigitizer, theHBHESiPMDigitizer, theHFAmplifier, theHFDigitizer, theHitCorrection, theHOAmplifier, theHODigitizer, theHOSiPMDigitizer, theParameterMap, theZDCAmplifier, theZDCDigitizer, and zdcgeo.

Referenced by HcalDigiProducer::produce(), and edm::DataMixingHcalDigiWorkerProd::putHcal().

334  {
335  // get the appropriate gains, noises, & widths for this event
336  edm::ESHandle<HcalDbService> conditions;
337  eventSetup.get<HcalDbRecord>().get(conditions);
338  theHBHEAmplifier->setDbService(conditions.product());
339  theHFAmplifier->setDbService(conditions.product());
340  theHOAmplifier->setDbService(conditions.product());
341  theZDCAmplifier->setDbService(conditions.product());
342 
343  theCoderFactory->setDbService(conditions.product());
344  theParameterMap->setDbService(conditions.product());
345 
347  eventSetup.get<HcalCholeskyMatricesRcd>().get(refCholesky);
348  const HcalCholeskyMatrices * myCholesky = refCholesky.product();
349 
350  edm::ESHandle<HcalPedestals> pedshandle;
351  eventSetup.get<HcalPedestalsRcd>().get(pedshandle);
352  const HcalPedestals * myADCPedestals = pedshandle.product();
353 
354  theHBHEAmplifier->setCholesky(myCholesky);
355  theHFAmplifier->setCholesky(myCholesky);
356  theHOAmplifier->setCholesky(myCholesky);
357 
358  theHBHEAmplifier->setADCPeds(myADCPedestals);
359  theHFAmplifier->setADCPeds(myADCPedestals);
360  theHOAmplifier->setADCPeds(myADCPedestals);
361 
362 
363  // Step A: Get Inputs
365 
366  // test access to SimHits for HcalHits and ZDC hits
367  const std::string zdcHitsName(hitsProducer_+"ZDCHITS");
368  e.getByLabel("mix", zdcHitsName , zdccf);
369  MixCollection<PCaloHit> * colzdc = 0 ;
370  if(zdccf.isValid()){
371  colzdc = new MixCollection<PCaloHit>(zdccf.product());
372  }else{
373  edm::LogInfo("HcalDigitizer") << "We don't have ZDC hit collection available ";
374  isZDC = false;
375  }
376 
377  const std::string hcalHitsName(hitsProducer_+"HcalHits");
378  e.getByLabel("mix", hcalHitsName ,cf);
379  MixCollection<PCaloHit> * col = 0 ;
380  if(cf.isValid()){
381  col = new MixCollection<PCaloHit>(cf.product());
382  }else{
383  edm::LogInfo("HcalDigitizer") << "We don't have HCAL hit collection available ";
384  isHCAL = false;
385  }
386 
387  if(theHitCorrection != 0)
388  {
390  if(isHCAL)
392  }
393 
394  // Step B: Create empty output
395  std::auto_ptr<HBHEDigiCollection> hbheResult(new HBHEDigiCollection());
396  std::auto_ptr<HODigiCollection> hoResult(new HODigiCollection());
397  std::auto_ptr<HFDigiCollection> hfResult(new HFDigiCollection());
398  std::auto_ptr<ZDCDigiCollection> zdcResult(new ZDCDigiCollection());
399 
400  // Step C: Invoke the algorithm, passing in inputs and getting back outputs.
401  if(isHCAL&&hbhegeo)
402  {
403  if(theHBHEDigitizer) theHBHEDigitizer->run(*col, *hbheResult);
404  if(theHBHESiPMDigitizer) theHBHESiPMDigitizer->run(*col, *hbheResult);
405  }
406  if(isHCAL&&hogeo)
407  {
408  if(theHODigitizer) theHODigitizer->run(*col, *hoResult);
409  if(theHOSiPMDigitizer) theHOSiPMDigitizer->run(*col, *hoResult);
410  }
411  if(isHCAL&&hfgeo)
412  theHFDigitizer->run(*col, *hfResult);
413  if(isZDC&&zdcgeo)
414  theZDCDigitizer->run(*colzdc, *zdcResult);
415 
416  edm::LogInfo("HcalDigitizer") << "HCAL HBHE digis : " << hbheResult->size();
417  edm::LogInfo("HcalDigitizer") << "HCAL HO digis : " << hoResult->size();
418  edm::LogInfo("HcalDigitizer") << "HCAL HF digis : " << hfResult->size();
419  edm::LogInfo("HcalDigitizer") << "HCAL ZDC digis : " << zdcResult->size();
420  // Step D: Put outputs into event
421  e.put(hbheResult);
422  e.put(hoResult);
423  e.put(hfResult);
424  e.put(zdcResult);
425 
426  if(theHitCorrection) {
428  }
429 }
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
HBHEDigitizer * theHBHEDigitizer
Definition: HcalDigitizer.h:97
HFDigitizer * theHFDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:60
void setADCPeds(const HcalPedestals *ADCPeds)
Definition: HcalAmplifier.h:52
HcalAmplifier * theHFAmplifier
Definition: HcalDigitizer.h:73
HcalCoderFactory * theCoderFactory
Definition: HcalDigitizer.h:78
edm::SortedCollection< ZDCDataFrame > ZDCDigiCollection
HcalAmplifier * theHBHEAmplifier
Definition: HcalDigitizer.h:72
edm::SortedCollection< HODataFrame > HODigiCollection
std::string hitsProducer_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:85
void run(MixCollection< PCaloHit > &input, DigiCollection &output)
turns hits into digis
void fillChargeSums(MixCollection< PCaloHit > &hits)
ZDCDigitizer * theZDCDigitizer
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
HcalHitCorrection * theHitCorrection
Definition: HcalDigitizer.h:92
HcalAmplifier * theHOAmplifier
Definition: HcalDigitizer.h:74
void setDbService(const HcalDbService *service)
T const * product() const
Definition: ESHandle.h:62
HODigitizer * theHODigitizer
Definition: HcalDigitizer.h:99
T const * product() const
Definition: Handle.h:74
void setCholesky(const HcalCholeskyMatrices *Cholesky)
Definition: HcalAmplifier.h:51
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
Definition: HcalDigitizer.h:98
edm::SortedCollection< HFDataFrame > HFDigiCollection
HcalAmplifier * theZDCAmplifier
Definition: HcalDigitizer.h:75
void setDbService(const HcalDbService *service)
edm::SortedCollection< HBHEDataFrame > HBHEDigiCollection
void HcalDigitizer::setHBHENoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 301 of file HcalDigitizer.cc.

References HcalBaseSignalGenerator::setElectronicsSim(), HcalAmplifier::setNoiseSignalGenerator(), CaloTDigitizer< Traits >::setNoiseSignalGenerator(), HcalBaseSignalGenerator::setParameterMap(), theHBHEAmplifier, theHBHEDigitizer, theHBHEElectronicsSim, and theParameterMap.

302 {
303  noiseGenerator->setParameterMap(theParameterMap);
304  noiseGenerator->setElectronicsSim(theHBHEElectronicsSim);
305  theHBHEDigitizer->setNoiseSignalGenerator(noiseGenerator);
306  theHBHEAmplifier->setNoiseSignalGenerator(noiseGenerator);
307 }
void setParameterMap(HcalSimParameterMap *map)
HBHEDigitizer * theHBHEDigitizer
Definition: HcalDigitizer.h:97
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:60
HcalAmplifier * theHBHEAmplifier
Definition: HcalDigitizer.h:72
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:33
HcalElectronicsSim * theHBHEElectronicsSim
Definition: HcalDigitizer.h:80
void HcalDigitizer::setHFNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 309 of file HcalDigitizer.cc.

References HcalBaseSignalGenerator::setElectronicsSim(), HcalAmplifier::setNoiseSignalGenerator(), CaloTDigitizer< Traits >::setNoiseSignalGenerator(), HcalBaseSignalGenerator::setParameterMap(), theHFAmplifier, theHFDigitizer, theHFElectronicsSim, and theParameterMap.

310 {
311  noiseGenerator->setParameterMap(theParameterMap);
312  noiseGenerator->setElectronicsSim(theHFElectronicsSim);
313  theHFDigitizer->setNoiseSignalGenerator(noiseGenerator);
314  theHFAmplifier->setNoiseSignalGenerator(noiseGenerator);
315 }
void setParameterMap(HcalSimParameterMap *map)
HcalElectronicsSim * theHFElectronicsSim
Definition: HcalDigitizer.h:81
HFDigitizer * theHFDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:60
HcalAmplifier * theHFAmplifier
Definition: HcalDigitizer.h:73
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:33
void HcalDigitizer::setHONoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 317 of file HcalDigitizer.cc.

References HcalBaseSignalGenerator::setElectronicsSim(), HcalAmplifier::setNoiseSignalGenerator(), CaloTDigitizer< Traits >::setNoiseSignalGenerator(), HcalBaseSignalGenerator::setParameterMap(), theHOAmplifier, theHODigitizer, theHOElectronicsSim, and theParameterMap.

318 {
319  noiseGenerator->setParameterMap(theParameterMap);
320  noiseGenerator->setElectronicsSim(theHOElectronicsSim);
321  theHODigitizer->setNoiseSignalGenerator(noiseGenerator);
322  theHOAmplifier->setNoiseSignalGenerator(noiseGenerator);
323 }
void setParameterMap(HcalSimParameterMap *map)
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:60
HcalElectronicsSim * theHOElectronicsSim
Definition: HcalDigitizer.h:82
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:33
HcalAmplifier * theHOAmplifier
Definition: HcalDigitizer.h:74
HODigitizer * theHODigitizer
Definition: HcalDigitizer.h:99
void HcalDigitizer::setZDCNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 325 of file HcalDigitizer.cc.

References HcalBaseSignalGenerator::setElectronicsSim(), HcalAmplifier::setNoiseSignalGenerator(), CaloTDigitizer< Traits >::setNoiseSignalGenerator(), HcalBaseSignalGenerator::setParameterMap(), theParameterMap, theZDCAmplifier, theZDCDigitizer, and theZDCElectronicsSim.

326 {
327  noiseGenerator->setParameterMap(theParameterMap);
328  noiseGenerator->setElectronicsSim(theZDCElectronicsSim);
329  theZDCDigitizer->setNoiseSignalGenerator(noiseGenerator);
330  theZDCAmplifier->setNoiseSignalGenerator(noiseGenerator);
331 }
void setParameterMap(HcalSimParameterMap *map)
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:60
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
ZDCDigitizer * theZDCDigitizer
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:33
HcalElectronicsSim * theZDCElectronicsSim
Definition: HcalDigitizer.h:83
HcalAmplifier * theZDCAmplifier
Definition: HcalDigitizer.h:75
void HcalDigitizer::updateGeometry ( const edm::EventSetup eventSetup)
private

Definition at line 458 of file HcalDigitizer.cc.

References buildHOSiPMCells(), DetId::Calo, HcalDigitizerImpl::fillCells(), CaloGeometry::getValidDetIds(), hbhegeo, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, hfgeo, hogeo, CaloTDigitizer< Traits >::setDetIds(), CaloHitResponse::setGeometry(), HcalZDCDetId::SubdetectorId, theGeometry, theHBHEDetIds, theHBHEDigitizer, theHBHEResponse, theHBHESiPMDigitizer, theHBHESiPMResponse, theHFDigitizer, theHFResponse, theHOResponse, theHOSiPMResponse, theZDCDigitizer, theZDCResponse, and zdcgeo.

Referenced by checkGeometry().

459 {
466 
467  const vector<DetId>& hbCells = theGeometry->getValidDetIds(DetId::Hcal, HcalBarrel);
468  const vector<DetId>& heCells = theGeometry->getValidDetIds(DetId::Hcal, HcalEndcap);
469  const vector<DetId>& hoCells = theGeometry->getValidDetIds(DetId::Hcal, HcalOuter);
470  const vector<DetId>& hfCells = theGeometry->getValidDetIds(DetId::Hcal, HcalForward);
471  const vector<DetId>& zdcCells = theGeometry->getValidDetIds(DetId::Calo, HcalZDCDetId::SubdetectorId);
472  //const vector<DetId>& hcalTrigCells = geometry->getValidDetIds(DetId::Hcal, HcalTriggerTower);
473  //const vector<DetId>& hcalCalib = geometry->getValidDetIds(DetId::Calo, HcalCastorDetId::SubdetectorId);
474  //std::cout<<"HcalDigitizer::CheckGeometry number of cells: "<<zdcCells.size()<<std::endl;
475  if(zdcCells.empty()) zdcgeo = false;
476  if(hbCells.empty() && heCells.empty()) hbhegeo = false;
477  if(hoCells.empty()) hogeo = false;
478  if(hfCells.empty()) hfgeo = false;
479  // combine HB & HE
480 
481 
482  theHBHEDetIds = hbCells;
483  theHBHEDetIds.insert(theHBHEDetIds.end(), heCells.begin(), heCells.end());
484 
486  //HcalDigitizerImpl::fillCells(hoCells, theHODigitizer, theHOSiPMDigitizer);
487  buildHOSiPMCells(hoCells, eventSetup);
488  theHFDigitizer->setDetIds(hfCells);
489  theZDCDigitizer->setDetIds(zdcCells);
490 }
void setGeometry(const CaloGeometry *geometry)
geometry needed for time-of-flight
HBHEDigitizer * theHBHEDigitizer
Definition: HcalDigitizer.h:97
HFDigitizer * theHFDigitizer
std::vector< DetId > theHBHEDetIds
void buildHOSiPMCells(const std::vector< DetId > &allCells, const edm::EventSetup &eventSetup)
CaloHitResponse * theHOResponse
Definition: HcalDigitizer.h:65
CaloHitResponse * theHOSiPMResponse
Definition: HcalDigitizer.h:66
ZDCDigitizer * theZDCDigitizer
CaloHitResponse * theZDCResponse
Definition: HcalDigitizer.h:68
void fillCells(const vector< DetId > &allCells, HPDDIGITIZER *hpdDigitizer, SIPMDIGITIZER *siPMDigitizer)
static const int SubdetectorId
Definition: HcalZDCDetId.h:22
CaloHitResponse * theHBHEResponse
Definition: HcalDigitizer.h:63
const CaloGeometry * theGeometry
Definition: HcalDigitizer.h:49
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
Definition: CaloGeometry.cc:90
CaloHitResponse * theHFResponse
Definition: HcalDigitizer.h:67
HBHEDigitizer * theHBHESiPMDigitizer
Definition: HcalDigitizer.h:98
void setDetIds(const std::vector< DetId > &detIds)
CaloHitResponse * theHBHESiPMResponse
Definition: HcalDigitizer.h:64

Member Data Documentation

bool HcalDigitizer::hbhegeo
private

Definition at line 110 of file HcalDigitizer.h.

Referenced by produce(), and updateGeometry().

bool HcalDigitizer::hfgeo
private

Definition at line 110 of file HcalDigitizer.h.

Referenced by produce(), and updateGeometry().

std::string HcalDigitizer::hitsProducer_
private

Definition at line 112 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), and produce().

bool HcalDigitizer::hogeo
private

Definition at line 110 of file HcalDigitizer.h.

Referenced by produce(), and updateGeometry().

bool HcalDigitizer::isHCAL
private

Definition at line 110 of file HcalDigitizer.h.

Referenced by produce().

bool HcalDigitizer::isZDC
private

Definition at line 110 of file HcalDigitizer.h.

Referenced by produce().

HcalCoderFactory* HcalDigitizer::theCoderFactory
private

Definition at line 78 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), produce(), and ~HcalDigitizer().

const CaloGeometry* HcalDigitizer::theGeometry
private

Definition at line 49 of file HcalDigitizer.h.

Referenced by checkGeometry(), and updateGeometry().

HcalAmplifier* HcalDigitizer::theHBHEAmplifier
private
std::vector<DetId> HcalDigitizer::theHBHEDetIds
private

Definition at line 106 of file HcalDigitizer.h.

Referenced by updateGeometry().

HBHEDigitizer* HcalDigitizer::theHBHEDigitizer
private
HcalElectronicsSim* HcalDigitizer::theHBHEElectronicsSim
private

Definition at line 80 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), setHBHENoiseSignalGenerator(), and ~HcalDigitizer().

HBHEHitFilter HcalDigitizer::theHBHEHitFilter
private

Definition at line 86 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloHitResponse* HcalDigitizer::theHBHEResponse
private

Definition at line 63 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), updateGeometry(), and ~HcalDigitizer().

HBHEDigitizer* HcalDigitizer::theHBHESiPMDigitizer
private

Definition at line 98 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), produce(), updateGeometry(), and ~HcalDigitizer().

CaloHitResponse* HcalDigitizer::theHBHESiPMResponse
private

Definition at line 64 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), updateGeometry(), and ~HcalDigitizer().

HcalAmplifier* HcalDigitizer::theHFAmplifier
private

Definition at line 73 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), produce(), setHFNoiseSignalGenerator(), and ~HcalDigitizer().

HFDigitizer* HcalDigitizer::theHFDigitizer
private
HcalElectronicsSim* HcalDigitizer::theHFElectronicsSim
private

Definition at line 81 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), setHFNoiseSignalGenerator(), and ~HcalDigitizer().

HFHitFilter HcalDigitizer::theHFHitFilter
private

Definition at line 87 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloHitResponse* HcalDigitizer::theHFResponse
private

Definition at line 67 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), updateGeometry(), and ~HcalDigitizer().

HcalHitCorrection* HcalDigitizer::theHitCorrection
private

Definition at line 92 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), produce(), and ~HcalDigitizer().

HcalAmplifier* HcalDigitizer::theHOAmplifier
private

Definition at line 74 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), produce(), setHONoiseSignalGenerator(), and ~HcalDigitizer().

HODigitizer* HcalDigitizer::theHODigitizer
private
HcalElectronicsSim* HcalDigitizer::theHOElectronicsSim
private

Definition at line 82 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), setHONoiseSignalGenerator(), and ~HcalDigitizer().

HOHitFilter HcalDigitizer::theHOHitFilter
private

Definition at line 88 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

std::vector<DetId> HcalDigitizer::theHOHPDDetIds
private

Definition at line 107 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells().

CaloHitResponse* HcalDigitizer::theHOResponse
private

Definition at line 65 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), updateGeometry(), and ~HcalDigitizer().

int HcalDigitizer::theHOSiPMCode
private

Definition at line 114 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells(), and HcalDigitizer().

std::vector<DetId> HcalDigitizer::theHOSiPMDetIds
private

Definition at line 108 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells().

HODigitizer* HcalDigitizer::theHOSiPMDigitizer
private

Definition at line 100 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells(), HcalDigitizer(), produce(), and ~HcalDigitizer().

HcalHitFilter HcalDigitizer::theHOSiPMHitFilter
private

Definition at line 89 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells(), and HcalDigitizer().

CaloHitResponse* HcalDigitizer::theHOSiPMResponse
private

Definition at line 66 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), updateGeometry(), and ~HcalDigitizer().

HPDIonFeedbackSim* HcalDigitizer::theIonFeedback
private

Definition at line 77 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloVNoiseSignalGenerator* HcalDigitizer::theNoiseGenerator
private

Definition at line 94 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), and ~HcalDigitizer().

CaloVNoiseHitGenerator* HcalDigitizer::theNoiseHitGenerator
private

Definition at line 95 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

HcalSimParameterMap* HcalDigitizer::theParameterMap
private
HcalShapes* HcalDigitizer::theShapes
private

Definition at line 61 of file HcalDigitizer.h.

Referenced by beginRun(), endRun(), and HcalDigitizer().

HcalTimeSlewSim* HcalDigitizer::theTimeSlewSim
private

Definition at line 93 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

HcalAmplifier* HcalDigitizer::theZDCAmplifier
private

Definition at line 75 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), produce(), setZDCNoiseSignalGenerator(), and ~HcalDigitizer().

ZDCDigitizer* HcalDigitizer::theZDCDigitizer
private
HcalElectronicsSim* HcalDigitizer::theZDCElectronicsSim
private

Definition at line 83 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), setZDCNoiseSignalGenerator(), and ~HcalDigitizer().

ZDCHitFilter HcalDigitizer::theZDCHitFilter
private

Definition at line 90 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloHitResponse* HcalDigitizer::theZDCResponse
private

Definition at line 68 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), updateGeometry(), and ~HcalDigitizer().

bool HcalDigitizer::zdcgeo
private

Definition at line 110 of file HcalDigitizer.h.

Referenced by produce(), and updateGeometry().