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

 HcalDigitizer (const edm::ParameterSet &ps)
 
virtual 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)
 
void checkGeometry (const edm::EventSetup &eventSetup)
 
void fillFakeHits ()
 some hits in each subdetector, just for testing purposes More...
 
void updateGeometry ()
 

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
 
CaloVShapetheHcalIntegratedShape
 
CaloVShapetheHcalShape
 
HcalAmplifiertheHFAmplifier
 
HFDigitizertheHFDigitizer
 
HcalElectronicsSimtheHFElectronicsSim
 
HFHitFilter theHFHitFilter
 
CaloVShapetheHFIntegratedShape
 
CaloHitResponsetheHFResponse
 
CaloVShapetheHFShape
 
HcalHitCorrectiontheHitCorrection
 
HcalAmplifiertheHOAmplifier
 
HODigitizertheHODigitizer
 
HcalElectronicsSimtheHOElectronicsSim
 
HOHitFilter theHOHitFilter
 
std::vector< DetIdtheHOHPDDetIds
 
CaloHitResponsetheHOResponse
 
int theHOSiPMCode
 
std::vector< DetIdtheHOSiPMDetIds
 
HODigitizertheHOSiPMDigitizer
 
HcalHitFilter theHOSiPMHitFilter
 
CaloHitResponsetheHOSiPMResponse
 
HPDIonFeedbackSimtheIonFeedback
 
CaloVNoiseSignalGeneratortheNoiseGenerator
 
CaloVNoiseHitGeneratortheNoiseHitGenerator
 
HcalSimParameterMaptheParameterMap
 
CaloVShapetheSiPMIntegratedShape
 
CaloVShapetheSiPMShape
 
HcalAmplifiertheZDCAmplifier
 
ZDCDigitizertheZDCDigitizer
 
HcalElectronicsSimtheZDCElectronicsSim
 
ZDCHitFilter theZDCHitFilter
 
CaloVShapetheZDCIntegratedShape
 
CaloHitResponsetheZDCResponse
 
CaloVShapetheZDCShape
 
bool zdcgeo
 

Detailed Description

Definition at line 27 of file HcalDigitizer.h.

Member Typedef Documentation

Reconstruction algorithm

Definition at line 54 of file HcalDigitizer.h.

Definition at line 56 of file HcalDigitizer.h.

Definition at line 55 of file HcalDigitizer.h.

Definition at line 57 of file HcalDigitizer.h.

Constructor & Destructor Documentation

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

Definition at line 82 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::setHitCorrection(), CaloHitResponse::setHitFilter(), HcalAmplifier::setHOtuningParameter(), CaloTDigitizer< Traits >::setNoiseHitGenerator(), CaloTDigitizer< Traits >::setNoiseSignalGenerator(), CaloHitResponse::setPECorrection(), HPDIonFeedbackSim::setRandomEngine(), HcalHitCorrection::setRandomEngine(), CaloTDigitizer< Traits >::setRandomEngine(), HPDIonFeedbackSim::setShape(), HcalAmplifier::setUseOldHF(), HcalAmplifier::setUseOldHO(), theCoderFactory, theHBHEAmplifier, theHBHEDigitizer, theHBHEElectronicsSim, theHBHEHitFilter, theHBHEResponse, theHBHESiPMDigitizer, theHBHESiPMResponse, theHcalIntegratedShape, theHcalShape, theHFAmplifier, theHFDigitizer, theHFElectronicsSim, theHFHitFilter, theHFResponse, theHitCorrection, theHOAmplifier, theHODigitizer, theHOElectronicsSim, theHOHitFilter, theHOResponse, theHOSiPMCode, theHOSiPMDigitizer, theHOSiPMHitFilter, theHOSiPMResponse, theIonFeedback, theNoiseGenerator, theNoiseHitGenerator, theParameterMap, theSiPMIntegratedShape, theSiPMShape, theZDCAmplifier, theZDCDigitizer, theZDCElectronicsSim, theZDCHitFilter, and theZDCResponse.

83 : theGeometry(0),
85  theHcalShape(0),
86  theSiPMShape(0),
87  theHFShape(new HFShape()),
88  theZDCShape(new ZDCShape()),
93  theHBHEResponse(0),
95  theHOResponse(0),
100  theHFAmplifier(0),
101  theHOAmplifier(0),
102  theZDCAmplifier(0),
103  theIonFeedback(0),
104  theCoderFactory(0),
110  theHFHitFilter(ps.getParameter<bool>("doHFWindow")),
111  theHOHitFilter(),
113  theZDCHitFilter(),
114  theHitCorrection(0),
117  theHBHEDigitizer(0),
119  theHODigitizer(0),
121  theHFDigitizer(0),
122  theZDCDigitizer(0),
123  theHBHEDetIds(),
124  theHOHPDDetIds(),
125  theHOSiPMDetIds(),
126  isZDC(true),
127  isHCAL(true),
128  zdcgeo(true),
129  hbhegeo(true),
130  hogeo(true),
131  hfgeo(true),
132  theHOSiPMCode(ps.getParameter<edm::ParameterSet>("ho").getParameter<int>("siPMCode"))
133 {
134  bool doNoise = ps.getParameter<bool>("doNoise");
135  bool useOldNoiseHB = ps.getParameter<bool>("useOldHB");
136  bool useOldNoiseHE = ps.getParameter<bool>("useOldHE");
137  bool useOldNoiseHF = ps.getParameter<bool>("useOldHF");
138  bool useOldNoiseHO = ps.getParameter<bool>("useOldHO");
139  bool doEmpty = ps.getParameter<bool>("doEmpty");
140  double HBtp = ps.getParameter<double>("HBTuningParameter");
141  double HEtp = ps.getParameter<double>("HETuningParameter");
142  double HFtp = ps.getParameter<double>("HFTuningParameter");
143  double HOtp = ps.getParameter<double>("HOTuningParameter");
144 
145  // need to make copies, because they might get different noise generators
150  theHBHEAmplifier->setHBtuningParameter(HBtp);
151  theHBHEAmplifier->setHEtuningParameter(HEtp);
154  theHBHEAmplifier->setUseOldHB(useOldNoiseHB);
155  theHBHEAmplifier->setUseOldHE(useOldNoiseHE);
156  theHFAmplifier->setUseOldHF(useOldNoiseHF);
157  theHOAmplifier->setUseOldHO(useOldNoiseHO);
158 
164 
165  // a code of 1 means make all cells SiPM
166  std::vector<int> hbSiPMCells(ps.getParameter<edm::ParameterSet>("hb").getParameter<std::vector<int> >("siPMCells"));
167  //std::vector<int> hoSiPMCells(ps.getParameter<edm::ParameterSet>("ho").getParameter<std::vector<int> >("siPMCells"));
168  // 0 means none, 1 means all, and 2 means use hardcoded
169 
170  bool doHBHEHPD = hbSiPMCells.empty() || (hbSiPMCells[0] != 1);
171  bool doHOHPD = (theHOSiPMCode != 1);
172  bool doHBHESiPM = !hbSiPMCells.empty();
173  bool doHOSiPM = (theHOSiPMCode != 0);
174 
175  if(doHBHEHPD || doHOHPD )
176  {
177  theHcalShape = new HcalShape();
179  }
180  if(doHBHESiPM || doHOSiPM )
181  {
182  theSiPMShape = new HcalSiPMShape();
184  }
185 
186  if(doHBHEHPD)
187  {
191  }
192  if(doHOHPD)
193  {
197  }
198 
199  if(doHBHESiPM)
200  {
204  }
205  if(doHOSiPM)
206  {
210  }
211 
212  // if both are present, fill the SiPM cells now
213  if(doHBHEHPD && doHBHESiPM)
214  {
216  }
217 
218 
221 
222  bool doTimeSlew = ps.getParameter<bool>("doTimeSlew");
223  if(doTimeSlew) {
224  // no time slewing for HF
231  }
232 
235 
236  bool doHPDNoise = ps.getParameter<bool>("doHPDNoise");
237  if(doHPDNoise) {
238  //edm::ParameterSet hpdNoisePset = ps.getParameter<edm::ParameterSet>("HPDNoiseLibrary");
242  }
243 
244  if(ps.getParameter<bool>("doIonFeedback") && theHBHEResponse)
245  {
248  if(ps.getParameter<bool>("doThermalNoise"))
249  {
250  theHBHEAmplifier->setIonFeedbackSim(theIonFeedback);
252  }
253  }
254 
255  if(ps.getParameter<bool>("injectTestHits") ){
263  }
264 
266  if ( ! rng.isAvailable()) {
267  throw cms::Exception("Configuration")
268  << "HcalDigitizer requires the RandomNumberGeneratorService\n"
269  "which is not present in the configuration file. You must add the service\n"
270  "in the configuration file or remove the modules that require it.";
271  }
272 
273  CLHEP::HepRandomEngine& engine = rng->getEngine();
281 
283 
284  hitsProducer_ = ps.getParameter<std::string>("hitsProducer");
285 
286 }
void setNoiseHitGenerator(CaloVNoiseHitGenerator *generator)
void setHOtuningParameter(double tp)
T getParameter(std::string const &) const
HBHEHitFilter theHBHEHitFilter
Definition: HcalDigitizer.h:92
shaper for ZDC
Definition: ZDCShape.h:16
HcalElectronicsSim * theHFElectronicsSim
Definition: HcalDigitizer.h:87
HBHEDigitizer * theHBHEDigitizer
void setShape(const CaloVShape *shape)
need a shaper in order to set thermal noise
HOHitFilter theHOHitFilter
Definition: HcalDigitizer.h:94
void setRandomEngine(CLHEP::HepRandomEngine &engine)
void setUseOldHF(bool useOld)
HFDigitizer * theHFDigitizer
HFHitFilter theHFHitFilter
Definition: HcalDigitizer.h:93
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:59
void fillSiPMCells(const vector< int > &siPMCells, SIPMDIGITIZER *siPMDigitizer)
void setHFtuningParameter(double tp)
CaloVShape * theZDCIntegratedShape
Definition: HcalDigitizer.h:67
void setPECorrection(const CaloVPECorrection *peCorrection)
if you want to correct the photoelectrons
CaloVShape * theHcalIntegratedShape
Definition: HcalDigitizer.h:64
HcalAmplifier * theHFAmplifier
Definition: HcalDigitizer.h:79
HcalCoderFactory * theCoderFactory
Definition: HcalDigitizer.h:84
CaloTDigitizer< HFDigitizerTraits > HFDigitizer
Definition: HcalDigitizer.h:56
CaloVShape * theSiPMIntegratedShape
Definition: HcalDigitizer.h:65
HcalAmplifier * theHBHEAmplifier
Definition: HcalDigitizer.h:78
void setUseOldHO(bool useOld)
CaloTDigitizer< ZDCDigitizerTraits > ZDCDigitizer
Definition: HcalDigitizer.h:57
std::string hitsProducer_
HcalElectronicsSim * theHOElectronicsSim
Definition: HcalDigitizer.h:88
void setHitFilter(const CaloVHitFilter *filter)
if you want to reject hits, for example, from a certain subdetector, set this
Creates electronics signals from hits.
void setRandomEngine(CLHEP::HepRandomEngine &engine)
std::vector< DetId > theHBHEDetIds
CaloVShape * theSiPMShape
Definition: HcalDigitizer.h:61
ZDCHitFilter theZDCHitFilter
Definition: HcalDigitizer.h:96
HPDIonFeedbackSim * theIonFeedback
Definition: HcalDigitizer.h:83
shaper for HF
Definition: HFShape.h:16
bool isAvailable() const
Definition: Service.h:47
CaloHitResponse * theHOResponse
Definition: HcalDigitizer.h:71
HcalHitFilter theHOSiPMHitFilter
Definition: HcalDigitizer.h:95
CaloHitResponse * theHOSiPMResponse
Definition: HcalDigitizer.h:72
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
shaper for Hcal (not for HF)
Definition: HcalShape.h:15
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:98
CaloHitResponse * theZDCResponse
Definition: HcalDigitizer.h:74
CaloVShape * theZDCShape
Definition: HcalDigitizer.h:63
HcalElectronicsSim * theZDCElectronicsSim
Definition: HcalDigitizer.h:89
CaloTDigitizer< HODigitizerTraits > HODigitizer
Definition: HcalDigitizer.h:55
HcalAmplifier * theHOAmplifier
Definition: HcalDigitizer.h:80
HcalElectronicsSim * theHBHEElectronicsSim
Definition: HcalDigitizer.h:86
CaloHitResponse * theHBHEResponse
Definition: HcalDigitizer.h:69
HODigitizer * theHODigitizer
std::vector< DetId > theHOSiPMDetIds
const CaloGeometry * theGeometry
Definition: HcalDigitizer.h:48
CaloVShape * theHFShape
Definition: HcalDigitizer.h:62
CaloHitResponse * theHFResponse
Definition: HcalDigitizer.h:73
void setHitCorrection(const CaloVHitCorrection *hitCorrection)
If you want to correct hits, for attenuation or delay, set this.
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
CaloVShape * theHFIntegratedShape
Definition: HcalDigitizer.h:66
CaloHitResponse * theHBHESiPMResponse
Definition: HcalDigitizer.h:70
void setRandomEngine(CLHEP::HepRandomEngine &engine)
CaloVShape * theHcalShape
Definition: HcalDigitizer.h:60
CaloVNoiseHitGenerator * theNoiseHitGenerator
HcalAmplifier * theZDCAmplifier
Definition: HcalDigitizer.h:81
CaloTDigitizer< HBHEDigitizerTraits > HBHEDigitizer
Definition: HcalDigitizer.h:54
CaloVNoiseSignalGenerator * theNoiseGenerator
Definition: HcalDigitizer.h:99
HcalDigitizer::~HcalDigitizer ( )
virtual

Definition at line 289 of file HcalDigitizer.cc.

References theCoderFactory, theHBHEAmplifier, theHBHEDigitizer, theHBHEElectronicsSim, theHBHEResponse, theHBHESiPMDigitizer, theHBHESiPMResponse, theHcalIntegratedShape, theHcalShape, theHFAmplifier, theHFDigitizer, theHFElectronicsSim, theHFIntegratedShape, theHFResponse, theHFShape, theHitCorrection, theHOAmplifier, theHODigitizer, theHOElectronicsSim, theHOResponse, theHOSiPMDigitizer, theHOSiPMResponse, theNoiseGenerator, theParameterMap, theSiPMIntegratedShape, theSiPMShape, theZDCAmplifier, theZDCDigitizer, theZDCElectronicsSim, theZDCIntegratedShape, theZDCResponse, and theZDCShape.

289  {
290  delete theHBHEDigitizer;
291  delete theHBHESiPMDigitizer;
292  delete theHODigitizer;
293  delete theHOSiPMDigitizer;
294  delete theHFDigitizer;
295  delete theZDCDigitizer;
296  delete theParameterMap;
297  delete theHcalShape;
298  delete theSiPMShape;
299  delete theHFShape;
300  delete theZDCShape;
301  delete theHcalIntegratedShape;
302  delete theSiPMIntegratedShape;
303  delete theHFIntegratedShape;
304  delete theZDCIntegratedShape;
305  delete theHBHEResponse;
306  delete theHBHESiPMResponse;
307  delete theHOResponse;
308  delete theHOSiPMResponse;
309  delete theHFResponse;
310  delete theZDCResponse;
311  delete theHBHEElectronicsSim;
312  delete theHFElectronicsSim;
313  delete theHOElectronicsSim;
314  delete theZDCElectronicsSim;
315  delete theHBHEAmplifier;
316  delete theHFAmplifier;
317  delete theHOAmplifier;
318  delete theZDCAmplifier;
319  delete theCoderFactory;
320  delete theHitCorrection;
321  delete theNoiseGenerator;
322 }
HcalElectronicsSim * theHFElectronicsSim
Definition: HcalDigitizer.h:87
HBHEDigitizer * theHBHEDigitizer
HFDigitizer * theHFDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:59
CaloVShape * theZDCIntegratedShape
Definition: HcalDigitizer.h:67
CaloVShape * theHcalIntegratedShape
Definition: HcalDigitizer.h:64
HcalAmplifier * theHFAmplifier
Definition: HcalDigitizer.h:79
HcalCoderFactory * theCoderFactory
Definition: HcalDigitizer.h:84
CaloVShape * theSiPMIntegratedShape
Definition: HcalDigitizer.h:65
HcalAmplifier * theHBHEAmplifier
Definition: HcalDigitizer.h:78
HcalElectronicsSim * theHOElectronicsSim
Definition: HcalDigitizer.h:88
CaloVShape * theSiPMShape
Definition: HcalDigitizer.h:61
CaloHitResponse * theHOResponse
Definition: HcalDigitizer.h:71
CaloHitResponse * theHOSiPMResponse
Definition: HcalDigitizer.h:72
ZDCDigitizer * theZDCDigitizer
HcalHitCorrection * theHitCorrection
Definition: HcalDigitizer.h:98
CaloHitResponse * theZDCResponse
Definition: HcalDigitizer.h:74
CaloVShape * theZDCShape
Definition: HcalDigitizer.h:63
HcalElectronicsSim * theZDCElectronicsSim
Definition: HcalDigitizer.h:89
HcalAmplifier * theHOAmplifier
Definition: HcalDigitizer.h:80
HcalElectronicsSim * theHBHEElectronicsSim
Definition: HcalDigitizer.h:86
CaloHitResponse * theHBHEResponse
Definition: HcalDigitizer.h:69
HODigitizer * theHODigitizer
CaloVShape * theHFShape
Definition: HcalDigitizer.h:62
CaloHitResponse * theHFResponse
Definition: HcalDigitizer.h:73
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
CaloVShape * theHFIntegratedShape
Definition: HcalDigitizer.h:66
CaloHitResponse * theHBHESiPMResponse
Definition: HcalDigitizer.h:70
CaloVShape * theHcalShape
Definition: HcalDigitizer.h:60
HcalAmplifier * theZDCAmplifier
Definition: HcalDigitizer.h:81
CaloVNoiseSignalGenerator * theNoiseGenerator
Definition: HcalDigitizer.h:99

Member Function Documentation

void HcalDigitizer::buildHOSiPMCells ( const std::vector< DetId > &  allCells)
private

Definition at line 504 of file HcalDigitizer.cc.

References HcalDetId::ieta(), HcalDetId::iphi(), HcalHitFilter::setDetIds(), CaloTDigitizer< Traits >::setDetIds(), HcalSimParameterMap::setHOHamamatsuDetIds(), HcalSimParameterMap::setHOZecotekDetIds(), theHODigitizer, theHOHPDDetIds, theHOSiPMCode, theHOSiPMDetIds, theHOSiPMDigitizer, theHOSiPMHitFilter, and theParameterMap.

Referenced by updateGeometry().

505 {
506  // all HPD
507  if(theHOSiPMCode == 0)
508  {
509  theHODigitizer->setDetIds(allCells);
510  }
511  else if(theHOSiPMCode == 1)
512  {
513  theHOSiPMDigitizer->setDetIds(allCells);
514  // FIXME pick Zecotek or hamamatsu?
515  }
516  else if(theHOSiPMCode == 2)// hardcode which are SiPM
517  {
518  std::vector<HcalDetId> zecotekDetIds;
519  std::vector<HcalDetId> hamamatsuDetIds;
520  for(std::vector<DetId>::const_iterator detItr = allCells.begin();
521  detItr != allCells.end(); ++detItr)
522  {
523  HcalDetId hcalId(*detItr);
524  int ieta = hcalId.ieta();
525  int iphi = hcalId.iphi();
526  if ((ieta>=5 && ieta <= 10 ) && (iphi >=47 && iphi <=52))
527  {
528  zecotekDetIds.push_back(hcalId);
529  theHOSiPMDetIds.push_back(*detItr);
530  }
531  else if(((ieta>=5 && ieta <= 10 ) && (iphi >=53 && iphi <=58))
532  || ((ieta>=11 && ieta <= 15 ) && (iphi >=59 && iphi <=70))){
533  hamamatsuDetIds.push_back(hcalId);
534  theHOSiPMDetIds.push_back(*detItr);
535  }
536  else {
537  theHOHPDDetIds.push_back(*detItr);
538  }
539  }
540  assert(theHODigitizer);
541  assert(theHOSiPMDigitizer);
545  // FIXME not applying a HitFilter to the HPDs, for now
546  theParameterMap->setHOZecotekDetIds(zecotekDetIds);
547  theParameterMap->setHOHamamatsuDetIds(hamamatsuDetIds);
548 
549  // make sure we don't got through this exercise again
550  theHOSiPMCode = -2;
551  }
552 }
void setDetIds(const std::vector< DetId > &detIds)
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:59
void setHOZecotekDetIds(const std::vector< HcalDetId > &ids)
HcalHitFilter theHOSiPMHitFilter
Definition: HcalDigitizer.h:95
std::vector< DetId > theHOHPDDetIds
void setHOHamamatsuDetIds(const std::vector< HcalDetId > &ids)
HODigitizer * theHODigitizer
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 456 of file HcalDigitizer.cc.

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

Referenced by produce().

456  {
457  // TODO find a way to avoid doing this every event
459  eventSetup.get<CaloGeometryRecord>().get(geometry);
460  // See if it's been updated
461  if(&*geometry != theGeometry)
462  {
463  theGeometry = &*geometry;
464  updateGeometry();
465  }
466 }
void updateGeometry()
const T & get() const
Definition: EventSetup.h:55
const CaloGeometry * theGeometry
Definition: HcalDigitizer.h:48
ESHandle< TrackerGeometry > geometry
void HcalDigitizer::fillFakeHits ( )
private

some hits in each subdetector, just for testing purposes

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

Produces the EDM products,

Definition at line 358 of file HcalDigitizer.cc.

References checkGeometry(), 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().

358  {
359  // get the appropriate gains, noises, & widths for this event
360  edm::ESHandle<HcalDbService> conditions;
361  eventSetup.get<HcalDbRecord>().get(conditions);
362  theHBHEAmplifier->setDbService(conditions.product());
363  theHFAmplifier->setDbService(conditions.product());
364  theHOAmplifier->setDbService(conditions.product());
365  theZDCAmplifier->setDbService(conditions.product());
366 
367  theCoderFactory->setDbService(conditions.product());
368  theParameterMap->setDbService(conditions.product());
369 
371  eventSetup.get<HcalCholeskyMatricesRcd>().get(refCholesky);
372  const HcalCholeskyMatrices * myCholesky = refCholesky.product();
373 
374  edm::ESHandle<HcalPedestals> pedshandle;
375  eventSetup.get<HcalPedestalsRcd>().get(pedshandle);
376  const HcalPedestals * myADCPedestals = pedshandle.product();
377 
378  theHBHEAmplifier->setCholesky(myCholesky);
379  theHFAmplifier->setCholesky(myCholesky);
380  theHOAmplifier->setCholesky(myCholesky);
381 
382  theHBHEAmplifier->setADCPeds(myADCPedestals);
383  theHFAmplifier->setADCPeds(myADCPedestals);
384  theHOAmplifier->setADCPeds(myADCPedestals);
385 
386 
387  // get the correct geometry
388  checkGeometry(eventSetup);
389 
390  // Step A: Get Inputs
392 
393  // test access to SimHits for HcalHits and ZDC hits
394  const std::string zdcHitsName(hitsProducer_+"ZDCHITS");
395  e.getByLabel("mix", zdcHitsName , zdccf);
396  MixCollection<PCaloHit> * colzdc = 0 ;
397  if(zdccf.isValid()){
398  colzdc = new MixCollection<PCaloHit>(zdccf.product());
399  }else{
400  edm::LogInfo("HcalDigitizer") << "We don't have ZDC hit collection available ";
401  isZDC = false;
402  }
403 
404  const std::string hcalHitsName(hitsProducer_+"HcalHits");
405  e.getByLabel("mix", hcalHitsName ,cf);
406  MixCollection<PCaloHit> * col = 0 ;
407  if(cf.isValid()){
408  col = new MixCollection<PCaloHit>(cf.product());
409  }else{
410  edm::LogInfo("HcalDigitizer") << "We don't have HCAL hit collection available ";
411  isHCAL = false;
412  }
413 
414  if(theHitCorrection != 0)
415  {
417  if(isHCAL)
419  }
420  // Step B: Create empty output
421 
422  std::auto_ptr<HBHEDigiCollection> hbheResult(new HBHEDigiCollection());
423  std::auto_ptr<HODigiCollection> hoResult(new HODigiCollection());
424  std::auto_ptr<HFDigiCollection> hfResult(new HFDigiCollection());
425  std::auto_ptr<ZDCDigiCollection> zdcResult(new ZDCDigiCollection());
426 
427  // Step C: Invoke the algorithm, passing in inputs and getting back outputs.
428  if(isHCAL&&hbhegeo)
429  {
430  if(theHBHEDigitizer) theHBHEDigitizer->run(*col, *hbheResult);
431  if(theHBHESiPMDigitizer) theHBHESiPMDigitizer->run(*col, *hbheResult);
432  }
433  if(isHCAL&&hogeo)
434  {
435  if(theHODigitizer) theHODigitizer->run(*col, *hoResult);
436  if(theHOSiPMDigitizer) theHOSiPMDigitizer->run(*col, *hoResult);
437  }
438  if(isHCAL&&hfgeo)
439  theHFDigitizer->run(*col, *hfResult);
440  if(isZDC&&zdcgeo)
441  theZDCDigitizer->run(*colzdc, *zdcResult);
442 
443  edm::LogInfo("HcalDigitizer") << "HCAL HBHE digis : " << hbheResult->size();
444  edm::LogInfo("HcalDigitizer") << "HCAL HO digis : " << hoResult->size();
445  edm::LogInfo("HcalDigitizer") << "HCAL HF digis : " << hfResult->size();
446  edm::LogInfo("HcalDigitizer") << "HCAL ZDC digis : " << zdcResult->size();
447 
448  // Step D: Put outputs into event
449  e.put(hbheResult);
450  e.put(hoResult);
451  e.put(hfResult);
452  e.put(zdcResult);
453 }
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
HBHEDigitizer * theHBHEDigitizer
HFDigitizer * theHFDigitizer
void checkGeometry(const edm::EventSetup &eventSetup)
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:59
void setADCPeds(const HcalPedestals *ADCPeds)
Definition: HcalAmplifier.h:48
HcalAmplifier * theHFAmplifier
Definition: HcalDigitizer.h:79
HcalCoderFactory * theCoderFactory
Definition: HcalDigitizer.h:84
edm::SortedCollection< ZDCDataFrame > ZDCDigiCollection
HcalAmplifier * theHBHEAmplifier
Definition: HcalDigitizer.h:78
edm::SortedCollection< HODataFrame > HODigiCollection
std::string hitsProducer_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:84
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:355
HcalHitCorrection * theHitCorrection
Definition: HcalDigitizer.h:98
HcalAmplifier * theHOAmplifier
Definition: HcalDigitizer.h:80
void setDbService(const HcalDbService *service)
T const * product() const
Definition: ESHandle.h:62
HODigitizer * theHODigitizer
T const * product() const
Definition: Handle.h:74
void setCholesky(const HcalCholeskyMatrices *Cholesky)
Definition: HcalAmplifier.h:47
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
edm::SortedCollection< HFDataFrame > HFDigiCollection
HcalAmplifier * theZDCAmplifier
Definition: HcalDigitizer.h:81
void setDbService(const HcalDbService *service)
edm::SortedCollection< HBHEDataFrame > HBHEDigiCollection
void HcalDigitizer::setHBHENoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 325 of file HcalDigitizer.cc.

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

326 {
327  noiseGenerator->setParameterMap(theParameterMap);
328  noiseGenerator->setElectronicsSim(theHBHEElectronicsSim);
329  theHBHEDigitizer->setNoiseSignalGenerator(noiseGenerator);
330  theHBHEAmplifier->setNoiseSignalGenerator(noiseGenerator);
331 }
void setParameterMap(HcalSimParameterMap *map)
HBHEDigitizer * theHBHEDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:59
HcalAmplifier * theHBHEAmplifier
Definition: HcalDigitizer.h:78
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:32
HcalElectronicsSim * theHBHEElectronicsSim
Definition: HcalDigitizer.h:86
void HcalDigitizer::setHFNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 333 of file HcalDigitizer.cc.

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

334 {
335  noiseGenerator->setParameterMap(theParameterMap);
336  noiseGenerator->setElectronicsSim(theHFElectronicsSim);
337  theHFDigitizer->setNoiseSignalGenerator(noiseGenerator);
338  theHFAmplifier->setNoiseSignalGenerator(noiseGenerator);
339 }
void setParameterMap(HcalSimParameterMap *map)
HcalElectronicsSim * theHFElectronicsSim
Definition: HcalDigitizer.h:87
HFDigitizer * theHFDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:59
HcalAmplifier * theHFAmplifier
Definition: HcalDigitizer.h:79
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:32
void HcalDigitizer::setHONoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 341 of file HcalDigitizer.cc.

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

342 {
343  noiseGenerator->setParameterMap(theParameterMap);
344  noiseGenerator->setElectronicsSim(theHOElectronicsSim);
345  theHODigitizer->setNoiseSignalGenerator(noiseGenerator);
346  theHOAmplifier->setNoiseSignalGenerator(noiseGenerator);
347 }
void setParameterMap(HcalSimParameterMap *map)
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:59
HcalElectronicsSim * theHOElectronicsSim
Definition: HcalDigitizer.h:88
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:32
HcalAmplifier * theHOAmplifier
Definition: HcalDigitizer.h:80
HODigitizer * theHODigitizer
void HcalDigitizer::setZDCNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 349 of file HcalDigitizer.cc.

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

350 {
351  noiseGenerator->setParameterMap(theParameterMap);
352  noiseGenerator->setElectronicsSim(theZDCElectronicsSim);
353  theZDCDigitizer->setNoiseSignalGenerator(noiseGenerator);
354  theZDCAmplifier->setNoiseSignalGenerator(noiseGenerator);
355 }
void setParameterMap(HcalSimParameterMap *map)
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:59
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
ZDCDigitizer * theZDCDigitizer
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:32
HcalElectronicsSim * theZDCElectronicsSim
Definition: HcalDigitizer.h:89
HcalAmplifier * theZDCAmplifier
Definition: HcalDigitizer.h:81
void HcalDigitizer::updateGeometry ( )
private

Definition at line 469 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().

470 {
477 
478  const vector<DetId>& hbCells = theGeometry->getValidDetIds(DetId::Hcal, HcalBarrel);
479  const vector<DetId>& heCells = theGeometry->getValidDetIds(DetId::Hcal, HcalEndcap);
480  const vector<DetId>& hoCells = theGeometry->getValidDetIds(DetId::Hcal, HcalOuter);
481  const vector<DetId>& hfCells = theGeometry->getValidDetIds(DetId::Hcal, HcalForward);
482  const vector<DetId>& zdcCells = theGeometry->getValidDetIds(DetId::Calo, HcalZDCDetId::SubdetectorId);
483  //const vector<DetId>& hcalTrigCells = geometry->getValidDetIds(DetId::Hcal, HcalTriggerTower);
484  //const vector<DetId>& hcalCalib = geometry->getValidDetIds(DetId::Calo, HcalCastorDetId::SubdetectorId);
485  //std::cout<<"HcalDigitizer::CheckGeometry number of cells: "<<zdcCells.size()<<std::endl;
486  if(zdcCells.empty()) zdcgeo = false;
487  if(hbCells.empty() && heCells.empty()) hbhegeo = false;
488  if(hoCells.empty()) hogeo = false;
489  if(hfCells.empty()) hfgeo = false;
490  // combine HB & HE
491 
492 
493  theHBHEDetIds = hbCells;
494  theHBHEDetIds.insert(theHBHEDetIds.end(), heCells.begin(), heCells.end());
495 
497  //HcalDigitizerImpl::fillCells(hoCells, theHODigitizer, theHOSiPMDigitizer);
498  buildHOSiPMCells(hoCells);
499  theHFDigitizer->setDetIds(hfCells);
500  theZDCDigitizer->setDetIds(zdcCells);
501 }
void setGeometry(const CaloGeometry *geometry)
geometry needed for time-of-flight
HBHEDigitizer * theHBHEDigitizer
HFDigitizer * theHFDigitizer
std::vector< DetId > theHBHEDetIds
CaloHitResponse * theHOResponse
Definition: HcalDigitizer.h:71
CaloHitResponse * theHOSiPMResponse
Definition: HcalDigitizer.h:72
ZDCDigitizer * theZDCDigitizer
CaloHitResponse * theZDCResponse
Definition: HcalDigitizer.h:74
void fillCells(const vector< DetId > &allCells, HPDDIGITIZER *hpdDigitizer, SIPMDIGITIZER *siPMDigitizer)
static const int SubdetectorId
Definition: HcalZDCDetId.h:22
CaloHitResponse * theHBHEResponse
Definition: HcalDigitizer.h:69
const CaloGeometry * theGeometry
Definition: HcalDigitizer.h:48
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
Definition: CaloGeometry.cc:90
CaloHitResponse * theHFResponse
Definition: HcalDigitizer.h:73
HBHEDigitizer * theHBHESiPMDigitizer
void setDetIds(const std::vector< DetId > &detIds)
void buildHOSiPMCells(const std::vector< DetId > &allCells)
CaloHitResponse * theHBHESiPMResponse
Definition: HcalDigitizer.h:70

Member Data Documentation

bool HcalDigitizer::hbhegeo
private

Definition at line 115 of file HcalDigitizer.h.

Referenced by produce(), and updateGeometry().

bool HcalDigitizer::hfgeo
private

Definition at line 115 of file HcalDigitizer.h.

Referenced by produce(), and updateGeometry().

std::string HcalDigitizer::hitsProducer_
private

Definition at line 117 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), and produce().

bool HcalDigitizer::hogeo
private

Definition at line 115 of file HcalDigitizer.h.

Referenced by produce(), and updateGeometry().

bool HcalDigitizer::isHCAL
private

Definition at line 115 of file HcalDigitizer.h.

Referenced by produce().

bool HcalDigitizer::isZDC
private

Definition at line 115 of file HcalDigitizer.h.

Referenced by produce().

HcalCoderFactory* HcalDigitizer::theCoderFactory
private

Definition at line 84 of file HcalDigitizer.h.

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

const CaloGeometry* HcalDigitizer::theGeometry
private

Definition at line 48 of file HcalDigitizer.h.

Referenced by checkGeometry(), and updateGeometry().

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

Definition at line 111 of file HcalDigitizer.h.

Referenced by updateGeometry().

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

Definition at line 86 of file HcalDigitizer.h.

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

HBHEHitFilter HcalDigitizer::theHBHEHitFilter
private

Definition at line 92 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloHitResponse* HcalDigitizer::theHBHEResponse
private

Definition at line 69 of file HcalDigitizer.h.

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

HBHEDigitizer* HcalDigitizer::theHBHESiPMDigitizer
private

Definition at line 103 of file HcalDigitizer.h.

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

CaloHitResponse* HcalDigitizer::theHBHESiPMResponse
private

Definition at line 70 of file HcalDigitizer.h.

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

CaloVShape* HcalDigitizer::theHcalIntegratedShape
private

Definition at line 64 of file HcalDigitizer.h.

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

CaloVShape* HcalDigitizer::theHcalShape
private

Definition at line 60 of file HcalDigitizer.h.

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

HcalAmplifier* HcalDigitizer::theHFAmplifier
private

Definition at line 79 of file HcalDigitizer.h.

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

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

Definition at line 87 of file HcalDigitizer.h.

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

HFHitFilter HcalDigitizer::theHFHitFilter
private

Definition at line 93 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloVShape* HcalDigitizer::theHFIntegratedShape
private

Definition at line 66 of file HcalDigitizer.h.

Referenced by ~HcalDigitizer().

CaloHitResponse* HcalDigitizer::theHFResponse
private

Definition at line 73 of file HcalDigitizer.h.

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

CaloVShape* HcalDigitizer::theHFShape
private

Definition at line 62 of file HcalDigitizer.h.

Referenced by ~HcalDigitizer().

HcalHitCorrection* HcalDigitizer::theHitCorrection
private

Definition at line 98 of file HcalDigitizer.h.

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

HcalAmplifier* HcalDigitizer::theHOAmplifier
private

Definition at line 80 of file HcalDigitizer.h.

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

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

Definition at line 88 of file HcalDigitizer.h.

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

HOHitFilter HcalDigitizer::theHOHitFilter
private

Definition at line 94 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

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

Definition at line 112 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells().

CaloHitResponse* HcalDigitizer::theHOResponse
private

Definition at line 71 of file HcalDigitizer.h.

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

int HcalDigitizer::theHOSiPMCode
private

Definition at line 119 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells(), and HcalDigitizer().

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

Definition at line 113 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells().

HODigitizer* HcalDigitizer::theHOSiPMDigitizer
private

Definition at line 105 of file HcalDigitizer.h.

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

HcalHitFilter HcalDigitizer::theHOSiPMHitFilter
private

Definition at line 95 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells(), and HcalDigitizer().

CaloHitResponse* HcalDigitizer::theHOSiPMResponse
private

Definition at line 72 of file HcalDigitizer.h.

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

HPDIonFeedbackSim* HcalDigitizer::theIonFeedback
private

Definition at line 83 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloVNoiseSignalGenerator* HcalDigitizer::theNoiseGenerator
private

Definition at line 99 of file HcalDigitizer.h.

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

CaloVNoiseHitGenerator* HcalDigitizer::theNoiseHitGenerator
private

Definition at line 100 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

HcalSimParameterMap* HcalDigitizer::theParameterMap
private
CaloVShape* HcalDigitizer::theSiPMIntegratedShape
private

Definition at line 65 of file HcalDigitizer.h.

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

CaloVShape* HcalDigitizer::theSiPMShape
private

Definition at line 61 of file HcalDigitizer.h.

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

HcalAmplifier* HcalDigitizer::theZDCAmplifier
private

Definition at line 81 of file HcalDigitizer.h.

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

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

Definition at line 89 of file HcalDigitizer.h.

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

ZDCHitFilter HcalDigitizer::theZDCHitFilter
private

Definition at line 96 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloVShape* HcalDigitizer::theZDCIntegratedShape
private

Definition at line 67 of file HcalDigitizer.h.

Referenced by ~HcalDigitizer().

CaloHitResponse* HcalDigitizer::theZDCResponse
private

Definition at line 74 of file HcalDigitizer.h.

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

CaloVShape* HcalDigitizer::theZDCShape
private

Definition at line 63 of file HcalDigitizer.h.

Referenced by ~HcalDigitizer().

bool HcalDigitizer::zdcgeo
private

Definition at line 115 of file HcalDigitizer.h.

Referenced by produce(), and updateGeometry().