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 accumulate (edm::Event const &e, edm::EventSetup const &c, CLHEP::HepRandomEngine *)
 
void accumulate (PileUpEventPrincipal const &e, edm::EventSetup const &c, CLHEP::HepRandomEngine *)
 
void beginRun (const edm::EventSetup &es)
 
void endRun ()
 
void finalizeEvent (edm::Event &e, edm::EventSetup const &c, CLHEP::HepRandomEngine *)
 
 HcalDigitizer (const edm::ParameterSet &ps, edm::ConsumesCollector &iC)
 
void initializeEvent (edm::Event const &e, edm::EventSetup const &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
< HcalQIE10DigitizerTraits,
CaloTDigitizerQIE10Run
QIE10Digitizer
 
typedef CaloTDigitizer
< HcalUpgradeDigitizerTraits
UpgradeDigitizer
 
typedef CaloTDigitizer
< ZDCDigitizerTraits
ZDCDigitizer
 

Private Member Functions

void accumulateCaloHits (edm::Handle< std::vector< PCaloHit > > const &hcalHits, edm::Handle< std::vector< PCaloHit > > const &zdcHits, int bunchCrossing, CLHEP::HepRandomEngine *, const HcalTopology *h)
 
void buildHFQIECells (const std::vector< DetId > &allCells, const edm::EventSetup &eventSetup)
 
void buildHOSiPMCells (const std::vector< DetId > &allCells, const edm::EventSetup &eventSetup)
 
void checkGeometry (const edm::EventSetup &eventSetup)
 
void darkening (std::vector< PCaloHit > &hcalHits)
 
void fillFakeHits ()
 some hits in each subdetector, just for testing purposes More...
 
void updateGeometry (const edm::EventSetup &eventSetup)
 

Private Attributes

double deliveredLumi
 
bool hbhegeo
 
bool hfgeo
 
std::string hitsProducer_
 
bool hogeo
 
bool isHCAL
 
bool isZDC
 
HEDarkeningm_HEDarkening
 
HFRecalibrationm_HFRecalibration
 
bool relabel_
 
HcalCoderFactorytheCoderFactory
 
const CaloGeometrytheGeometry
 
HcalAmplifiertheHBHEAmplifier
 
std::vector< DetIdtheHBHEDetIds
 
HBHEDigitizertheHBHEDigitizer
 
HcalElectronicsSimtheHBHEElectronicsSim
 
HBHEHitFilter theHBHEHitFilter
 
CaloHitResponsetheHBHEResponse
 
HBHEDigitizertheHBHESiPMDigitizer
 
CaloHitResponsetheHBHESiPMResponse
 
UpgradeDigitizertheHBHEUpgradeDigitizer
 
HcalAmplifiertheHFAmplifier
 
HFDigitizertheHFDigitizer
 
HcalElectronicsSimtheHFElectronicsSim
 
HFHitFilter theHFHitFilter
 
std::vector< DetIdtheHFQIE10DetIds
 
QIE10DigitizertheHFQIE10Digitizer
 
HcalElectronicsSimtheHFQIE10ElectronicsSim
 
std::vector< DetIdtheHFQIE8DetIds
 
CaloHitResponsetheHFResponse
 
UpgradeDigitizertheHFUpgradeDigitizer
 
HcalHitCorrectiontheHitCorrection
 
HcalAmplifiertheHOAmplifier
 
HODigitizertheHODigitizer
 
HcalElectronicsSimtheHOElectronicsSim
 
HOHitFilter theHOHitFilter
 
std::vector< DetIdtheHOHPDDetIds
 
CaloHitResponsetheHOResponse
 
int theHOSiPMCode
 
std::vector< DetIdtheHOSiPMDetIds
 
HODigitizertheHOSiPMDigitizer
 
HcalHitFilter theHOSiPMHitFilter
 
CaloHitResponsetheHOSiPMResponse
 
HPDIonFeedbackSimtheIonFeedback
 
CaloVNoiseSignalGeneratortheNoiseGenerator
 
CaloVNoiseHitGeneratortheNoiseHitGenerator
 
HcalSimParameterMaptheParameterMap
 
const HcalDDDRecConstantstheRecNumber
 
HcalHitRelabellertheRelabeller
 
HcalShapestheShapes
 
HcalTimeSlewSimtheTimeSlewSim
 
HcalCoderFactorytheUpgradeCoderFactory
 
HcalElectronicsSimtheUpgradeHBHEElectronicsSim
 
HcalElectronicsSimtheUpgradeHFElectronicsSim
 
HcalAmplifiertheZDCAmplifier
 
ZDCDigitizertheZDCDigitizer
 
HcalElectronicsSimtheZDCElectronicsSim
 
ZDCHitFilter theZDCHitFilter
 
CaloHitResponsetheZDCResponse
 
bool zdcgeo
 

Detailed Description

Definition at line 45 of file HcalDigitizer.h.

Member Typedef Documentation

Reconstruction algorithm

Definition at line 84 of file HcalDigitizer.h.

Definition at line 86 of file HcalDigitizer.h.

Definition at line 85 of file HcalDigitizer.h.

Definition at line 89 of file HcalDigitizer.h.

Definition at line 88 of file HcalDigitizer.h.

Definition at line 87 of file HcalDigitizer.h.

Constructor & Destructor Documentation

HcalDigitizer::HcalDigitizer ( const edm::ParameterSet ps,
edm::ConsumesCollector iC 
)
explicit

Definition at line 87 of file HcalDigitizer.cc.

References edm::ConsumesCollector::consumes(), HcalCoderFactory::DB, deliveredLumi, Exception, HcalDigitizerImpl::fillSiPMCells(), alignmentValidation::fname, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hitsProducer_, CaloHitResponse::initHBHEScale(), HLT_FULL_cff::InputTag, m_HEDarkening, m_HFRecalibration, relabel_, CaloHitResponse::setHBHEScale(), HcalAmplifier::setHBtuningParameter(), HcalAmplifier::setHEtuningParameter(), HcalAmplifier::setHFtuningParameter(), CaloHitResponse::setHitFilter(), HcalAmplifier::setHOtuningParameter(), HcalAmplifier::setIonFeedbackSim(), CaloTDigitizer< Traits, runHelper >::setNoiseHitGenerator(), CaloTDigitizer< Traits, runHelper >::setNoiseSignalGenerator(), CaloHitResponse::setPECorrection(), HcalAmplifier::setTimeSlewSim(), HcalAmplifier::setUseOldHB(), HcalAmplifier::setUseOldHE(), HcalAmplifier::setUseOldHF(), HcalAmplifier::setUseOldHO(), AlCaHLTBitMon_QueryRunRegistry::string, theCoderFactory, theHBHEAmplifier, theHBHEDigitizer, theHBHEElectronicsSim, theHBHEHitFilter, theHBHEResponse, theHBHESiPMDigitizer, theHBHESiPMResponse, theHBHEUpgradeDigitizer, theHFAmplifier, theHFDigitizer, theHFElectronicsSim, theHFHitFilter, theHFQIE10Digitizer, theHFQIE10ElectronicsSim, theHFResponse, theHFUpgradeDigitizer, theHOAmplifier, theHODigitizer, theHOElectronicsSim, theHOHitFilter, theHOResponse, theHOSiPMCode, theHOSiPMDigitizer, theHOSiPMHitFilter, theHOSiPMResponse, theIonFeedback, theNoiseGenerator, theNoiseHitGenerator, theParameterMap, theRelabeller, theShapes, theTimeSlewSim, theUpgradeCoderFactory, theUpgradeHBHEElectronicsSim, theUpgradeHFElectronicsSim, theZDCAmplifier, theZDCDigitizer, theZDCElectronicsSim, theZDCHitFilter, theZDCResponse, and HcalCoderFactory::UPGRADE.

87  :
88  theGeometry(0),
89  theRecNumber(0),
91  theShapes(new HcalShapes()),
92  theHBHEResponse(0),
94  theHOResponse(0),
99  theHFAmplifier(0),
100  theHOAmplifier(0),
101  theZDCAmplifier(0),
102  theIonFeedback(0),
103  theCoderFactory(0),
113  theHFHitFilter(ps.getParameter<bool>("doHFWindow")),
114  theHOHitFilter(),
116  theZDCHitFilter(),
117  theHitCorrection(0),
120  theHBHEDigitizer(0),
122  theHODigitizer(0),
124  theHFDigitizer(0),
125  theZDCDigitizer(0),
129  theRelabeller(0),
130  isZDC(true),
131  isHCAL(true),
132  zdcgeo(true),
133  hbhegeo(true),
134  hogeo(true),
135  hfgeo(true),
136  hitsProducer_(ps.getParameter<std::string>("hitsProducer")),
137  theHOSiPMCode(ps.getParameter<edm::ParameterSet>("ho").getParameter<int>("siPMCode")),
138  deliveredLumi(0.),
139  m_HEDarkening(0),
141 {
142  iC.consumes<std::vector<PCaloHit> >(edm::InputTag(hitsProducer_, "ZDCHITS"));
143  iC.consumes<std::vector<PCaloHit> >(edm::InputTag(hitsProducer_, "HcalHits"));
144 
145  bool doNoise = ps.getParameter<bool>("doNoise");
146  bool PreMix1 = ps.getParameter<bool>("HcalPreMixStage1"); // special threshold/pedestal treatment
147  bool PreMix2 = ps.getParameter<bool>("HcalPreMixStage2"); // special threshold/pedestal treatment
148  bool useOldNoiseHB = ps.getParameter<bool>("useOldHB");
149  bool useOldNoiseHE = ps.getParameter<bool>("useOldHE");
150  bool useOldNoiseHF = ps.getParameter<bool>("useOldHF");
151  bool useOldNoiseHO = ps.getParameter<bool>("useOldHO");
152  bool doEmpty = ps.getParameter<bool>("doEmpty");
153  double HBtp = ps.getParameter<double>("HBTuningParameter");
154  double HEtp = ps.getParameter<double>("HETuningParameter");
155  double HFtp = ps.getParameter<double>("HFTuningParameter");
156  double HOtp = ps.getParameter<double>("HOTuningParameter");
157  bool doHBHEUpgrade = ps.getParameter<bool>("HBHEUpgradeQIE");
158  bool doHFUpgrade = ps.getParameter<bool>("HFUpgradeQIE");
159  deliveredLumi = ps.getParameter<double>("DelivLuminosity");
160  bool agingFlagHE = ps.getParameter<bool>("HEDarkening");
161  bool agingFlagHF = ps.getParameter<bool>("HFDarkening");
162  double minFCToDelay= ps.getParameter<double>("minFCToDelay");
163  bool doHFQIE10 = ps.getParameter<bool>("HFQIE10");
164  bool doHFQIE8 = ps.getParameter<bool>("HFQIE8");
165 
166  if(PreMix1 && PreMix2) {
167  throw cms::Exception("Configuration")
168  << "HcalDigitizer cannot operate in PreMixing digitization and PreMixing\n"
169  "digi combination modes at the same time. Please set one mode to False\n"
170  "in the configuration file.";
171  }
172 
173  // need to make copies, because they might get different noise generators
174  theHBHEAmplifier = new HcalAmplifier(theParameterMap, doNoise, PreMix1, PreMix2);
175  theHFAmplifier = new HcalAmplifier(theParameterMap, doNoise, PreMix1, PreMix2);
176  theHOAmplifier = new HcalAmplifier(theParameterMap, doNoise, PreMix1, PreMix2);
177  theZDCAmplifier = new HcalAmplifier(theParameterMap, doNoise, PreMix1, PreMix2);
182  theHBHEAmplifier->setUseOldHB(useOldNoiseHB);
183  theHBHEAmplifier->setUseOldHE(useOldNoiseHE);
184  theHFAmplifier->setUseOldHF(useOldNoiseHF);
185  theHOAmplifier->setUseOldHO(useOldNoiseHO);
186 
189 
190 // std::cout << "HcalDigitizer: theUpgradeCoderFactory created" << std::endl;
191 
198  theHFQIE10ElectronicsSim = new HcalElectronicsSim(theHFAmplifier, theUpgradeCoderFactory, PreMix1); //should this use a different coder factory?
199 
200 // std::cout << "HcalDigitizer: theUpgradeElectronicsSim created" << std::endl;
201 
202  // a code of 1 means make all cells SiPM
203  std::vector<int> hbSiPMCells(ps.getParameter<edm::ParameterSet>("hb").getParameter<std::vector<int> >("siPMCells"));
204  //std::vector<int> hoSiPMCells(ps.getParameter<edm::ParameterSet>("ho").getParameter<std::vector<int> >("siPMCells"));
205  // 0 means none, 1 means all, and 2 means use hardcoded
206 
207 // std::cout << std::endl << " hbSiPMCells = " << hbSiPMCells.size() << std::endl;
208 
209  bool doHBHEHPD = hbSiPMCells.empty() || (hbSiPMCells[0] != 1);
210  bool doHOHPD = (theHOSiPMCode != 1);
211  bool doHBHESiPM = !hbSiPMCells.empty();
212  bool doHOSiPM = (theHOSiPMCode != 0);
213  if(doHBHEHPD) {
215  edm::LogInfo("HcalDigitizer") <<"Set scale for HB towers";
217 
220  bool changeResponse = ps.getParameter<bool>("ChangeResponse");
221  edm::FileInPath fname = ps.getParameter<edm::FileInPath>("CorrFactorFile");
222  if (changeResponse) {
223  std::string corrFileName = fname.fullPath();
224  edm::LogInfo("HcalDigitizer") << "Set scale for HB towers from " << corrFileName;
225  theHBHEResponse->setHBHEScale(corrFileName); //GMA
226  }
227  }
228  if(doHOHPD) {
232  }
233 
234  if(doHBHESiPM) {
237  if (doHBHEUpgrade) {
239 
240 // std::cout << "HcalDigitizer: theHBHEUpgradeDigitizer created" << std::endl;
241 
242  } else {
244  }
245  }
246  if(doHOSiPM) {
250  }
251 
252  // if both are present, fill the SiPM cells now
253  if(doHBHEHPD && doHBHESiPM) {
254 
255 // std::cout << "HcalDigitizer: fill the SiPM cells now" << std::endl;
256 
258  }
259 
262 
263  bool doTimeSlew = ps.getParameter<bool>("doTimeSlew");
264  //initialize: they won't be called later if flag is set
265  theTimeSlewSim = 0;
266  if(doTimeSlew) {
267  // no time slewing for HF
268  theTimeSlewSim = new HcalTimeSlewSim(theParameterMap,minFCToDelay);
269  theHBHEAmplifier->setTimeSlewSim(theTimeSlewSim);
270  theHOAmplifier->setTimeSlewSim(theTimeSlewSim);
271  theZDCAmplifier->setTimeSlewSim(theTimeSlewSim);
272  }
273 
274  if (doHFQIE10 || doHFQIE8) { //QIE8 and QIE10 can coexist in HF
276  if(doHFQIE8) theHFDigitizer = new HFDigitizer(theHFResponse, theHFElectronicsSim, doEmpty);
277  }
278  else if (doHFUpgrade) {
280 
281 // std::cout << "HcalDigitizer: theHFUpgradeDigitizer created" << std::endl;
282 
283  } else {
285  }
287 
288  edm::ParameterSet ps0 = ps.getParameter<edm::ParameterSet>("HcalReLabel");
289  relabel_ = ps0.getUntrackedParameter<bool>("RelabelHits");
290 // std::cout << "Flag to see if Hit Relabeller to be initiated " << relabel_ << std::endl;
291  if (relabel_) {
293  }
294 
295  bool doHPDNoise = ps.getParameter<bool>("doHPDNoise");
296  if(doHPDNoise) {
297  //edm::ParameterSet hpdNoisePset = ps.getParameter<edm::ParameterSet>("HPDNoiseLibrary");
301  }
302 
303  if(ps.getParameter<bool>("doIonFeedback") && theHBHEResponse) {
306  if(ps.getParameter<bool>("doThermalNoise")) {
308  }
309  }
310 
311  if(ps.getParameter<bool>("injectTestHits") ) {
319 
320 // std::cout << "HcalDigitizer: theHBHEUpgradeDigitizer setNoise" << std::endl;
321  }
323  if(theHFUpgradeDigitizer) {
325 
326 // std::cout << "HcalDigitizer: theHFUpgradeDigitizer setNoise" << std::endl;
327  }
330  }
331 
332  if(agingFlagHE) m_HEDarkening = new HEDarkening();
333  if(agingFlagHF) m_HFRecalibration = new HFRecalibration();
334 }
void setUseOldHB(bool useOld)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
void setHOtuningParameter(double tp)
QIE10Digitizer * theHFQIE10Digitizer
T getParameter(std::string const &) const
void setNoiseHitGenerator(CaloVNoiseHitGenerator *generator)
T getUntrackedParameter(std::string const &, T const &) const
HBHEHitFilter theHBHEHitFilter
const HcalDDDRecConstants * theRecNumber
Definition: HcalDigitizer.h:74
HcalElectronicsSim * theHFElectronicsSim
HBHEDigitizer * theHBHEDigitizer
HOHitFilter theHOHitFilter
CaloTDigitizer< HcalUpgradeDigitizerTraits > UpgradeDigitizer
Definition: HcalDigitizer.h:88
void setUseOldHF(bool useOld)
HFDigitizer * theHFDigitizer
HFHitFilter theHFHitFilter
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:91
void setHFtuningParameter(double tp)
void setPECorrection(const CaloVPECorrection *peCorrection)
if you want to correct the photoelectrons
HcalTimeSlewSim * theTimeSlewSim
HcalAmplifier * theHFAmplifier
HcalElectronicsSim * theUpgradeHFElectronicsSim
void fillSiPMCells(std::vector< int > &siPMCells, SIPMDIGITIZER *siPMDigitizer)
HcalCoderFactory * theCoderFactory
HcalHitRelabeller * theRelabeller
HcalCoderFactory * theUpgradeCoderFactory
void setIonFeedbackSim(HPDIonFeedbackSim *feedbackSim)
Definition: HcalAmplifier.h:31
UpgradeDigitizer * theHFUpgradeDigitizer
CaloTDigitizer< HFDigitizerTraits > HFDigitizer
Definition: HcalDigitizer.h:86
HcalAmplifier * theHBHEAmplifier
void setUseOldHO(bool useOld)
CaloTDigitizer< ZDCDigitizerTraits > ZDCDigitizer
Definition: HcalDigitizer.h:87
std::string hitsProducer_
HcalElectronicsSim * theHOElectronicsSim
void setHEtuningParameter(double tp)
double deliveredLumi
void setUseOldHE(bool useOld)
void setHitFilter(const CaloVHitFilter *filter)
if you want to reject hits, for example, from a certain subdetector, set this
HcalShapes * theShapes
Definition: HcalDigitizer.h:92
Creates electronics signals from hits.
ZDCHitFilter theZDCHitFilter
HPDIonFeedbackSim * theIonFeedback
CaloHitResponse * theHOResponse
Definition: HcalDigitizer.h:96
HcalHitFilter theHOSiPMHitFilter
CaloHitResponse * theHOSiPMResponse
Definition: HcalDigitizer.h:97
void setHBHEScale(std::string &)
ZDCDigitizer * theZDCDigitizer
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
HcalHitCorrection * theHitCorrection
CaloHitResponse * theZDCResponse
Definition: HcalDigitizer.h:99
HcalElectronicsSim * theZDCElectronicsSim
HcalElectronicsSim * theUpgradeHBHEElectronicsSim
CaloTDigitizer< HcalQIE10DigitizerTraits, CaloTDigitizerQIE10Run > QIE10Digitizer
Definition: HcalDigitizer.h:89
CaloTDigitizer< HODigitizerTraits > HODigitizer
Definition: HcalDigitizer.h:85
void setTimeSlewSim(HcalTimeSlewSim *timeSlewSim)
Definition: HcalAmplifier.h:38
HcalAmplifier * theHOAmplifier
HFRecalibration * m_HFRecalibration
HcalElectronicsSim * theHBHEElectronicsSim
CaloHitResponse * theHBHEResponse
Definition: HcalDigitizer.h:94
HODigitizer * theHODigitizer
const CaloGeometry * theGeometry
Definition: HcalDigitizer.h:73
string fname
main script
CaloHitResponse * theHFResponse
Definition: HcalDigitizer.h:98
HcalElectronicsSim * theHFQIE10ElectronicsSim
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
HEDarkening * m_HEDarkening
CaloHitResponse * theHBHESiPMResponse
Definition: HcalDigitizer.h:95
void setHBtuningParameter(double tp)
CaloVNoiseHitGenerator * theNoiseHitGenerator
HcalAmplifier * theZDCAmplifier
UpgradeDigitizer * theHBHEUpgradeDigitizer
CaloTDigitizer< HBHEDigitizerTraits > HBHEDigitizer
Definition: HcalDigitizer.h:84
CaloVNoiseSignalGenerator * theNoiseGenerator
HcalDigitizer::~HcalDigitizer ( )
virtual

Definition at line 337 of file HcalDigitizer.cc.

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

337  {
340  if(theHODigitizer) delete theHODigitizer;
342  if(theHFDigitizer) delete theHFDigitizer;
343  delete theZDCDigitizer;
346  delete theParameterMap;
347  delete theHBHEResponse;
348  delete theHBHESiPMResponse;
349  delete theHOResponse;
350  delete theHOSiPMResponse;
351  delete theHFResponse;
352  delete theZDCResponse;
353  delete theHBHEElectronicsSim;
354  delete theHFElectronicsSim;
355  delete theHOElectronicsSim;
356  delete theZDCElectronicsSim;
359  delete theHBHEAmplifier;
360  delete theHFAmplifier;
361  delete theHOAmplifier;
362  delete theZDCAmplifier;
363  delete theCoderFactory;
364  delete theUpgradeCoderFactory;
365  delete theHitCorrection;
366  delete theNoiseGenerator;
367  if (theRelabeller) delete theRelabeller;
368 }
HcalElectronicsSim * theHFElectronicsSim
HBHEDigitizer * theHBHEDigitizer
HFDigitizer * theHFDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:91
HcalAmplifier * theHFAmplifier
HcalElectronicsSim * theUpgradeHFElectronicsSim
HcalCoderFactory * theCoderFactory
HcalHitRelabeller * theRelabeller
HcalCoderFactory * theUpgradeCoderFactory
UpgradeDigitizer * theHFUpgradeDigitizer
HcalAmplifier * theHBHEAmplifier
HcalElectronicsSim * theHOElectronicsSim
CaloHitResponse * theHOResponse
Definition: HcalDigitizer.h:96
CaloHitResponse * theHOSiPMResponse
Definition: HcalDigitizer.h:97
ZDCDigitizer * theZDCDigitizer
HcalHitCorrection * theHitCorrection
CaloHitResponse * theZDCResponse
Definition: HcalDigitizer.h:99
HcalElectronicsSim * theZDCElectronicsSim
HcalElectronicsSim * theUpgradeHBHEElectronicsSim
HcalAmplifier * theHOAmplifier
HcalElectronicsSim * theHBHEElectronicsSim
CaloHitResponse * theHBHEResponse
Definition: HcalDigitizer.h:94
HODigitizer * theHODigitizer
CaloHitResponse * theHFResponse
Definition: HcalDigitizer.h:98
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
CaloHitResponse * theHBHESiPMResponse
Definition: HcalDigitizer.h:95
HcalAmplifier * theZDCAmplifier
UpgradeDigitizer * theHBHEUpgradeDigitizer
CaloVNoiseSignalGenerator * theNoiseGenerator

Member Function Documentation

void HcalDigitizer::accumulate ( edm::Event const &  e,
edm::EventSetup const &  c,
CLHEP::HepRandomEngine *  engine 
)

Definition at line 522 of file HcalDigitizer.cc.

References accumulateCaloHits(), edm::EventSetup::get(), edm::Event::getByLabel(), hitsProducer_, isHCAL, edm::HandleBase::isValid(), isZDC, and edm::ESHandle< class >::product().

Referenced by HcalDigiProducer::accumulate().

522  {
523  // Step A: Get Inputs
524  edm::InputTag zdcTag(hitsProducer_, "ZDCHITS");
526  e.getByLabel(zdcTag, zdcHandle);
527  isZDC = zdcHandle.isValid();
528 
529  edm::InputTag hcalTag(hitsProducer_, "HcalHits");
531  e.getByLabel(hcalTag, hcalHandle);
532  isHCAL = hcalHandle.isValid();
533 
535  eventSetup.get<HcalRecNumberingRecord>().get(htopo);
536  const HcalTopology *htopoP=htopo.product();
537 
538  accumulateCaloHits(hcalHandle, zdcHandle, 0, engine, htopoP);
539 }
std::string hitsProducer_
bool isValid() const
Definition: HandleBase.h:75
void accumulateCaloHits(edm::Handle< std::vector< PCaloHit > > const &hcalHits, edm::Handle< std::vector< PCaloHit > > const &zdcHits, int bunchCrossing, CLHEP::HepRandomEngine *, const HcalTopology *h)
T const * product() const
Definition: ESHandle.h:86
void HcalDigitizer::accumulate ( PileUpEventPrincipal const &  e,
edm::EventSetup const &  c,
CLHEP::HepRandomEngine *  engine 
)

Definition at line 541 of file HcalDigitizer.cc.

References accumulateCaloHits(), PileUpEventPrincipal::bunchCrossing(), edm::EventSetup::get(), PileUpEventPrincipal::getByLabel(), hitsProducer_, isHCAL, edm::HandleBase::isValid(), isZDC, and edm::ESHandle< class >::product().

541  {
542  // Step A: Get Inputs
543  edm::InputTag zdcTag(hitsProducer_, "ZDCHITS");
545  e.getByLabel(zdcTag, zdcHandle);
546  isZDC = zdcHandle.isValid();
547 
548  edm::InputTag hcalTag(hitsProducer_, "HcalHits");
550  e.getByLabel(hcalTag, hcalHandle);
551  isHCAL = hcalHandle.isValid();
552 
554  eventSetup.get<HcalRecNumberingRecord>().get(htopo);
555  const HcalTopology *htopoP=htopo.product();
556 
557  accumulateCaloHits(hcalHandle, zdcHandle, e.bunchCrossing(), engine, htopoP);
558 }
std::string hitsProducer_
bool isValid() const
Definition: HandleBase.h:75
void accumulateCaloHits(edm::Handle< std::vector< PCaloHit > > const &hcalHits, edm::Handle< std::vector< PCaloHit > > const &zdcHits, int bunchCrossing, CLHEP::HepRandomEngine *, const HcalTopology *h)
T const * product() const
Definition: ESHandle.h:86
void HcalDigitizer::accumulateCaloHits ( edm::Handle< std::vector< PCaloHit > > const &  hcalHits,
edm::Handle< std::vector< PCaloHit > > const &  zdcHits,
int  bunchCrossing,
CLHEP::HepRandomEngine *  engine,
const HcalTopology h 
)
private

Definition at line 451 of file HcalDigitizer.cc.

References CaloTDigitizer< Traits, runHelper >::add(), gather_cfg::cout, darkening(), TauDecayModes::dec, HcalHitCorrection::fillChargeSums(), hbhegeo, hfgeo, hogeo, i, isHCAL, isZDC, m_HEDarkening, m_HFRecalibration, HcalDetId::newForm(), HcalDetId::oldFormat(), HcalHitRelabeller::process(), DetId::rawId(), relabel_, theHBHEDigitizer, theHBHESiPMDigitizer, theHBHEUpgradeDigitizer, theHFDigitizer, theHFQIE10Digitizer, theHFUpgradeDigitizer, theHitCorrection, theHODigitizer, theHOSiPMDigitizer, theRelabeller, theZDCDigitizer, HcalTopology::validHcal(), and zdcgeo.

Referenced by accumulate().

451  {
452 
453  // Step A: pass in inputs, and accumulate digirs
454  if(isHCAL) {
455  std::vector<PCaloHit> hcalHitsOrig = *hcalHandle.product();
456  std::vector<PCaloHit> hcalHits;
457  hcalHits.reserve(hcalHitsOrig.size());
458 
459  //evaluate darkening before relabeling
461  darkening(hcalHitsOrig);
462  }
463  // Relabel PCaloHits if necessary
464  if (relabel_) {
465  edm::LogInfo("HcalDigitizer") << "Calling Relabeller";
466  theRelabeller->process(hcalHitsOrig);
467  }
468 
469  //eliminate bad hits
470  for (unsigned int i=0; i< hcalHitsOrig.size(); i++) {
471  DetId id(hcalHitsOrig[i].id());
472  HcalDetId hid(id);
473  if (!htopoP->validHcal(hid)) {
474  edm::LogError("HcalDigitizer") << "bad hcal id found in digitizer. Skipping " << id.rawId() << " " << hid << std::endl;
475  } else {
476 #ifdef DebugLog
477  std::cout << "HcalDigitizer format " << hid.oldFormat() << " for " << hid << std::endl;
478 #endif
479  DetId newid = DetId(hid.newForm());
480 #ifdef DebugLog
481  std::cout << "Hit " << i << " out of " << hcalHits.size() << " " << std::hex << id.rawId() << " --> " << newid.rawId() << std::dec << " " << HcalDetId(newid.rawId()) << '\n';
482 #endif
483  hcalHitsOrig[i].setID(newid.rawId());
484  hcalHits.push_back(hcalHitsOrig[i]);
485  }
486  }
487 
488  if(theHitCorrection != 0) {
489  theHitCorrection->fillChargeSums(hcalHits);
490  }
491  if(hbhegeo) {
492  if(theHBHEDigitizer) theHBHEDigitizer->add(hcalHits, bunchCrossing, engine);
493  if(theHBHESiPMDigitizer) theHBHESiPMDigitizer->add(hcalHits, bunchCrossing, engine);
495  theHBHEUpgradeDigitizer->add(hcalHits, bunchCrossing, engine);
496  }
497  }
498 
499  if(hogeo) {
500  if(theHODigitizer) theHODigitizer->add(hcalHits, bunchCrossing, engine);
501  if(theHOSiPMDigitizer) theHOSiPMDigitizer->add(hcalHits, bunchCrossing, engine);
502  }
503 
504  if(hfgeo) {
505  if(theHFDigitizer) theHFDigitizer->add(hcalHits, bunchCrossing, engine);
506  if(theHFUpgradeDigitizer) theHFUpgradeDigitizer->add(hcalHits, bunchCrossing, engine);
507  if(theHFQIE10Digitizer) theHFQIE10Digitizer->add(hcalHits, bunchCrossing, engine);
508  }
509  } else {
510  edm::LogInfo("HcalDigitizer") << "We don't have HCAL hit collection available ";
511  }
512 
513  if(isZDC) {
514  if(zdcgeo) {
515  theZDCDigitizer->add(*zdcHandle.product(), bunchCrossing, engine);
516  }
517  } else {
518  edm::LogInfo("HcalDigitizer") << "We don't have ZDC hit collection available ";
519  }
520 }
QIE10Digitizer * theHFQIE10Digitizer
int i
Definition: DBlmapReader.cc:9
void add(const std::vector< PCaloHit > &hits, int bunchCrossing, CLHEP::HepRandomEngine *engine)
HBHEDigitizer * theHBHEDigitizer
void darkening(std::vector< PCaloHit > &hcalHits)
HFDigitizer * theHFDigitizer
HcalHitRelabeller * theRelabeller
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
UpgradeDigitizer * theHFUpgradeDigitizer
void fillChargeSums(MixCollection< PCaloHit > &hits)
ZDCDigitizer * theZDCDigitizer
HcalHitCorrection * theHitCorrection
Definition: DetId.h:18
void process(std::vector< PCaloHit > &hcalHits)
HFRecalibration * m_HFRecalibration
HODigitizer * theHODigitizer
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
HEDarkening * m_HEDarkening
tuple cout
Definition: gather_cfg.py:145
UpgradeDigitizer * theHBHEUpgradeDigitizer
void HcalDigitizer::beginRun ( const edm::EventSetup es)

Definition at line 634 of file HcalDigitizer.cc.

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

Referenced by HcalDigiProducer::beginRun().

634  {
635  checkGeometry(es);
636  theShapes->beginRun(es);
637 }
void checkGeometry(const edm::EventSetup &eventSetup)
HcalShapes * theShapes
Definition: HcalDigitizer.h:92
void beginRun(edm::EventSetup const &es)
Definition: HcalShapes.cc:103
void HcalDigitizer::buildHFQIECells ( const std::vector< DetId > &  allCells,
const edm::EventSetup eventSetup 
)
private

Definition at line 705 of file HcalDigitizer.cc.

References edm::EventSetup::get(), NULL, edm::ESHandle< class >::product(), lumiQueryAPI::q, QIE10, QIE8, CaloTDigitizer< Traits, runHelper >::setDetIds(), HcalCondObjectContainerBase::setTopo(), theHFDigitizer, theHFQIE10DetIds, theHFQIE10Digitizer, and theHFQIE8DetIds.

Referenced by updateGeometry().

705  {
706  //if results are already cached, no need to look again
707  if(theHFQIE8DetIds.size()>0 || theHFQIE10DetIds.size()>0) return;
708 
709  //get the QIETypes
711  eventSetup.get<HcalQIETypesRcd>().get(q);
713  eventSetup.get<HcalRecNumberingRecord>().get(htopo);
714 
715  HcalQIETypes qieTypes(*q.product());
716  if (qieTypes.topo()==0) {
717  qieTypes.setTopo(htopo.product());
718  }
719 
720  for(std::vector<DetId>::const_iterator detItr = allCells.begin(); detItr != allCells.end(); ++detItr) {
721  HcalQIENum qieType = HcalQIENum(qieTypes.getValues(*detItr)->getValue());
722  if(qieType == QIE8) {
723  theHFQIE8DetIds.push_back(*detItr);
724  } else if(qieType == QIE10) {
725  theHFQIE10DetIds.push_back(*detItr);
726  } else { //default is QIE8
727  theHFQIE8DetIds.push_back(*detItr);
728  }
729  }
730 
732  else {
733  delete theHFDigitizer;
735  }
736 
738  else {
739  delete theHFQIE10Digitizer;
741  }
742 }
std::vector< DetId > theHFQIE10DetIds
QIE10Digitizer * theHFQIE10Digitizer
Definition: HcalQIENum.h:4
#define NULL
Definition: scimark2.h:8
HFDigitizer * theHFDigitizer
HcalQIENum
Definition: HcalQIENum.h:4
std::vector< DetId > theHFQIE8DetIds
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
void setTopo(const HcalTopology *topo)
void setDetIds(const std::vector< DetId > &detIds)
void HcalDigitizer::buildHOSiPMCells ( const std::vector< DetId > &  allCells,
const edm::EventSetup eventSetup 
)
private

Definition at line 744 of file HcalDigitizer.cc.

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

Referenced by updateGeometry().

744  {
745  // all HPD
746 
747  if(theHOSiPMCode == 0) {
748  theHODigitizer->setDetIds(allCells);
749  } else if(theHOSiPMCode == 1) {
750  theHOSiPMDigitizer->setDetIds(allCells);
751  // FIXME pick Zecotek or hamamatsu?
752  } else if(theHOSiPMCode == 2) {
753  std::vector<HcalDetId> zecotekDetIds, hamamatsuDetIds;
755  eventSetup.get<HcalMCParamsRcd>().get(p);
757  eventSetup.get<HcalRecNumberingRecord>().get(htopo);
758 
759  HcalMCParams mcParams(*p.product());
760  if (mcParams.topo()==0) {
761  mcParams.setTopo(htopo.product());
762  }
763 
764  for(std::vector<DetId>::const_iterator detItr = allCells.begin();
765  detItr != allCells.end(); ++detItr) {
766  int shapeType = mcParams.getValues(*detItr)->signalShape();
767  if(shapeType == HcalShapes::ZECOTEK) {
768  zecotekDetIds.emplace_back(*detItr);
769  theHOSiPMDetIds.push_back(*detItr);
770  } else if(shapeType == HcalShapes::HAMAMATSU) {
771  hamamatsuDetIds.emplace_back(*detItr);
772  theHOSiPMDetIds.push_back(*detItr);
773  } else {
774  theHOHPDDetIds.push_back(*detItr);
775  }
776  }
777 
783  // FIXME not applying a HitFilter to the HPDs, for now
784  theParameterMap->setHOZecotekDetIds(zecotekDetIds);
785  theParameterMap->setHOHamamatsuDetIds(hamamatsuDetIds);
786 
787  // make sure we don't got through this exercise again
788  theHOSiPMCode = -2;
789  }
790 }
void setDetIds(const std::vector< DetId > &detIds)
assert(m_qm.get())
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:91
void setHOZecotekDetIds(const std::vector< HcalDetId > &ids)
HcalHitFilter theHOSiPMHitFilter
std::vector< DetId > theHOHPDDetIds
void setHOHamamatsuDetIds(const std::vector< HcalDetId > &ids)
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
HODigitizer * theHODigitizer
std::vector< DetId > theHOSiPMDetIds
HODigitizer * theHOSiPMDigitizer
void setTopo(const HcalTopology *topo)
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 645 of file HcalDigitizer.cc.

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

Referenced by beginRun().

645  {
646  // TODO find a way to avoid doing this every event
648  eventSetup.get<CaloGeometryRecord>().get(geometry);
650  eventSetup.get<HcalRecNumberingRecord>().get(pHRNDC);
651 
652  // See if it's been updated
653  if (&*geometry != theGeometry) {
654  theGeometry = &*geometry;
655  theRecNumber= &*pHRNDC;
656  updateGeometry(eventSetup);
657  }
658 }
const HcalDDDRecConstants * theRecNumber
Definition: HcalDigitizer.h:74
const T & get() const
Definition: EventSetup.h:56
const CaloGeometry * theGeometry
Definition: HcalDigitizer.h:73
ESHandle< TrackerGeometry > geometry
void updateGeometry(const edm::EventSetup &eventSetup)
void HcalDigitizer::darkening ( std::vector< PCaloHit > &  hcalHits)
private

Definition at line 792 of file HcalDigitizer.cc.

References HEDarkening::degradation(), deliveredLumi, HLT_FULL_cff::depth, relval_parameters_module::energy, HFRecalibration::getCorr(), HcalEndcap, HcalForward, cuy::ii, m_HEDarkening, m_HFRecalibration, phi, HcalTestNumbering::unpackHcalIndex(), and z.

Referenced by accumulateCaloHits().

792  {
793 
794  for (unsigned int ii=0; ii<hcalHits.size(); ++ii) {
795  uint32_t tmpId = hcalHits[ii].id();
796  int det, z, depth, ieta, phi, lay;
797  HcalTestNumbering::unpackHcalIndex(tmpId,det,z,depth,ieta,phi,lay);
798 
799  bool darkened = false;
800  float dweight = 1.;
801 
802  if(det==int(HcalEndcap) && m_HEDarkening){
803  //HE darkening
804  dweight = m_HEDarkening->degradation(deliveredLumi,ieta,lay-2);//NB:diff. layer count
805  darkened = true;
806  } else if(det==int(HcalForward) && m_HFRecalibration){
807  //HF darkening - approximate: invert recalibration factor
808  dweight = 1.0/m_HFRecalibration->getCorr(ieta,depth,deliveredLumi);
809  darkened = true;
810  }
811 
812  //create new hit with darkened energy
813  //if(darkened) hcalHits[ii] = PCaloHit(hcalHits[ii].energyEM()*dweight,hcalHits[ii].energyHad()*dweight,hcalHits[ii].time(),hcalHits[ii].geantTrackId(),hcalHits[ii].id());
814 
815  //reset hit energy
816  if(darkened) hcalHits[ii].setEnergy(hcalHits[ii].energy()*dweight);
817  }
818 
819 }
int ii
Definition: cuy.py:588
double deliveredLumi
double getCorr(int ieta, int idepth, double lumi)
static void unpackHcalIndex(const uint32_t &idx, int &det, int &z, int &depth, int &eta, int &phi, int &lay)
HFRecalibration * m_HFRecalibration
HEDarkening * m_HEDarkening
float degradation(float intlumi, int ieta, int lay)
Definition: HEDarkening.cc:52
void HcalDigitizer::endRun ( void  )

Definition at line 640 of file HcalDigitizer.cc.

References HcalShapes::endRun(), and theShapes.

Referenced by HcalDigiProducer::endRun().

640  {
641  theShapes->endRun();
642 }
HcalShapes * theShapes
Definition: HcalDigitizer.h:92
void endRun()
Definition: HcalShapes.cc:118
void HcalDigitizer::fillFakeHits ( )
private

some hits in each subdetector, just for testing purposes

void HcalDigitizer::finalizeEvent ( edm::Event e,
edm::EventSetup const &  c,
CLHEP::HepRandomEngine *  engine 
)

Definition at line 560 of file HcalDigitizer.cc.

References HcalHitCorrection::clear(), gather_cfg::cout, hbhegeo, hfgeo, hogeo, isHCAL, isZDC, edm::Event::put(), CaloTDigitizer< Traits, runHelper >::run(), theHBHEDigitizer, theHBHESiPMDigitizer, theHBHEUpgradeDigitizer, theHFDigitizer, theHFQIE10Digitizer, theHFUpgradeDigitizer, theHitCorrection, theHODigitizer, theHOSiPMDigitizer, theZDCDigitizer, and zdcgeo.

Referenced by HcalDigiProducer::finalizeEvent().

560  {
561 
562  // Step B: Create empty output
563  std::auto_ptr<HBHEDigiCollection> hbheResult(new HBHEDigiCollection());
564  std::auto_ptr<HODigiCollection> hoResult(new HODigiCollection());
565  std::auto_ptr<HFDigiCollection> hfResult(new HFDigiCollection());
566  std::auto_ptr<ZDCDigiCollection> zdcResult(new ZDCDigiCollection());
567  std::auto_ptr<HBHEUpgradeDigiCollection> hbheupgradeResult(new HBHEUpgradeDigiCollection());
568  std::auto_ptr<HFUpgradeDigiCollection> hfupgradeResult(new HFUpgradeDigiCollection());
569  std::auto_ptr<QIE10DigiCollection> hfQIE10Result(new QIE10DigiCollection());
570 
571  // Step C: Invoke the algorithm, getting back outputs.
572  if(isHCAL&&hbhegeo){
573  if(theHBHEDigitizer) theHBHEDigitizer->run(*hbheResult, engine);
574  if(theHBHESiPMDigitizer) theHBHESiPMDigitizer->run(*hbheResult, engine);
576  theHBHEUpgradeDigitizer->run(*hbheupgradeResult, engine);
577 #ifdef DebugLog
578  std::cout << "HcalDigitizer::finalizeEvent theHBHEUpgradeDigitizer->run" << std::endl;
579 #endif
580  }
581  }
582  if(isHCAL&&hogeo) {
583  if(theHODigitizer) theHODigitizer->run(*hoResult, engine);
584  if(theHOSiPMDigitizer) theHOSiPMDigitizer->run(*hoResult, engine);
585  }
586  if(isHCAL&&hfgeo) {
587  if(theHFDigitizer) theHFDigitizer->run(*hfResult, engine);
588  if(theHFUpgradeDigitizer) theHFUpgradeDigitizer->run(*hfupgradeResult, engine);
589  if(theHFQIE10Digitizer) theHFQIE10Digitizer->run(*hfQIE10Result, engine);
590  }
591  if(isZDC&&zdcgeo) {
592  theZDCDigitizer->run(*zdcResult, engine);
593  }
594 
595  edm::LogInfo("HcalDigitizer") << "HCAL HBHE digis : " << hbheResult->size();
596  edm::LogInfo("HcalDigitizer") << "HCAL HO digis : " << hoResult->size();
597  edm::LogInfo("HcalDigitizer") << "HCAL HF digis : " << hfResult->size();
598  edm::LogInfo("HcalDigitizer") << "HCAL ZDC digis : " << zdcResult->size();
599  edm::LogInfo("HcalDigitizer") << "HCAL HBHE upgrade digis : " << hbheupgradeResult->size();
600  edm::LogInfo("HcalDigitizer") << "HCAL HF upgrade digis : " << hfupgradeResult->size();
601  edm::LogInfo("HcalDigitizer") << "HCAL HF QIE10 digis : " << hfQIE10Result->size();
602 
603 #ifdef DebugLog
604  std::cout << std::endl;
605  std::cout << "HCAL HBHE digis : " << hbheResult->size() << std::endl;
606  std::cout << "HCAL HO digis : " << hoResult->size() << std::endl;
607  std::cout << "HCAL HF digis : " << hfResult->size() << std::endl;
608 
609  std::cout << "HCAL HBHE upgrade digis : " << hbheupgradeResult->size()
610  << std::endl;
611  std::cout << "HCAL HF upgrade digis : " << hfupgradeResult->size()
612  << std::endl;
613 #endif
614 
615  // Step D: Put outputs into event
616  e.put(hbheResult);
617  e.put(hoResult);
618  e.put(hfResult);
619  e.put(zdcResult);
620  e.put(hbheupgradeResult,"HBHEUpgradeDigiCollection");
621  e.put(hfupgradeResult, "HFUpgradeDigiCollection");
622  e.put(hfQIE10Result, "HFQIE10DigiCollection");
623 
624 #ifdef DebugLog
625  std::cout << std::endl << "========> HcalDigitizer e.put " << std::endl << std::endl;
626 #endif
627 
628  if(theHitCorrection) {
630  }
631 }
QIE10Digitizer * theHFQIE10Digitizer
HBHEDigitizer * theHBHEDigitizer
HFDigitizer * theHFDigitizer
edm::SortedCollection< ZDCDataFrame > ZDCDigiCollection
HcalDataFrameContainer< QIE10DataFrame > QIE10DigiCollection
UpgradeDigitizer * theHFUpgradeDigitizer
edm::SortedCollection< HODataFrame > HODigiCollection
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:121
ZDCDigitizer * theZDCDigitizer
edm::SortedCollection< HcalUpgradeDataFrame > HFUpgradeDigiCollection
edm::SortedCollection< HcalUpgradeDataFrame > HBHEUpgradeDigiCollection
HcalHitCorrection * theHitCorrection
void run(MixCollection< PCaloHit > &, DigiCollection &)
turns hits into digis
HODigitizer * theHODigitizer
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
edm::SortedCollection< HFDataFrame > HFDigiCollection
tuple cout
Definition: gather_cfg.py:145
edm::SortedCollection< HBHEDataFrame > HBHEDigiCollection
UpgradeDigitizer * theHBHEUpgradeDigitizer
void HcalDigitizer::initializeEvent ( edm::Event const &  e,
edm::EventSetup const &  c 
)

Produces the EDM products,

Definition at line 402 of file HcalDigitizer.cc.

References HcalHitCorrection::clear(), edm::EventSetup::find(), edm::EventSetup::get(), CaloTDigitizer< Traits, runHelper >::initializeHits(), edm::ESHandle< class >::product(), HcalAmplifier::setADCPeds(), HcalAmplifier::setCholesky(), HcalCoderFactory::setDbService(), HcalSimParameterMap::setDbService(), HcalAmplifier::setDbService(), HcalElectronicsSim::setDbService(), theCoderFactory, theHBHEAmplifier, theHBHEDigitizer, theHBHESiPMDigitizer, theHBHEUpgradeDigitizer, theHFAmplifier, theHFDigitizer, theHFQIE10Digitizer, theHFQIE10ElectronicsSim, theHFUpgradeDigitizer, theHitCorrection, theHOAmplifier, theHODigitizer, theHOSiPMDigitizer, theParameterMap, theUpgradeCoderFactory, theUpgradeHBHEElectronicsSim, theUpgradeHFElectronicsSim, theZDCAmplifier, and theZDCDigitizer.

Referenced by HcalDigiProducer::initializeEvent().

402  {
403  // get the appropriate gains, noises, & widths for this event
404  edm::ESHandle<HcalDbService> conditions;
405  eventSetup.get<HcalDbRecord>().get(conditions);
406  theHBHEAmplifier->setDbService(conditions.product());
407  theHFAmplifier->setDbService(conditions.product());
408  theHOAmplifier->setDbService(conditions.product());
409  theZDCAmplifier->setDbService(conditions.product());
413 
414  theCoderFactory->setDbService(conditions.product());
416  theParameterMap->setDbService(conditions.product());
417 
419  if (eventSetup.find(edm::eventsetup::EventSetupRecordKey::makeKey<HcalCholeskyMatricesRcd>())) {
420  eventSetup.get<HcalCholeskyMatricesRcd>().get(refCholesky);
421  const HcalCholeskyMatrices * myCholesky = refCholesky.product();
422  theHBHEAmplifier->setCholesky(myCholesky);
423  theHFAmplifier->setCholesky(myCholesky);
424  theHOAmplifier->setCholesky(myCholesky);
425  }
426  edm::ESHandle<HcalPedestals> pedshandle;
427  eventSetup.get<HcalPedestalsRcd>().get(pedshandle);
428  const HcalPedestals * myADCPedestals = pedshandle.product();
429 
430  theHBHEAmplifier->setADCPeds(myADCPedestals);
431  theHFAmplifier->setADCPeds(myADCPedestals);
432  theHOAmplifier->setADCPeds(myADCPedestals);
433 
434  if(theHitCorrection != 0) {
436  }
437 
438  //initialize hits
448 
449 }
QIE10Digitizer * theHFQIE10Digitizer
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
HBHEDigitizer * theHBHEDigitizer
HFDigitizer * theHFDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:91
void setADCPeds(const HcalPedestals *ADCPeds)
Definition: HcalAmplifier.h:54
HcalAmplifier * theHFAmplifier
HcalElectronicsSim * theUpgradeHFElectronicsSim
HcalCoderFactory * theCoderFactory
HcalCoderFactory * theUpgradeCoderFactory
void setDbService(const HcalDbService *service)
UpgradeDigitizer * theHFUpgradeDigitizer
HcalAmplifier * theHBHEAmplifier
void initializeHits()
ZDCDigitizer * theZDCDigitizer
HcalHitCorrection * theHitCorrection
HcalElectronicsSim * theUpgradeHBHEElectronicsSim
HcalAmplifier * theHOAmplifier
void setDbService(const HcalDbService *service)
T const * product() const
Definition: ESHandle.h:86
HODigitizer * theHODigitizer
void setCholesky(const HcalCholeskyMatrices *Cholesky)
Definition: HcalAmplifier.h:53
HcalElectronicsSim * theHFQIE10ElectronicsSim
HODigitizer * theHOSiPMDigitizer
HBHEDigitizer * theHBHESiPMDigitizer
HcalAmplifier * theZDCAmplifier
void setDbService(const HcalDbService *service)
UpgradeDigitizer * theHBHEUpgradeDigitizer
void HcalDigitizer::setHBHENoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 371 of file HcalDigitizer.cc.

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

Referenced by HcalDigiProducer::setHBHENoiseSignalGenerator().

371  {
372  noiseGenerator->setParameterMap(theParameterMap);
373  noiseGenerator->setElectronicsSim(theHBHEElectronicsSim);
375  theHBHEAmplifier->setNoiseSignalGenerator(noiseGenerator);
376 }
void setParameterMap(HcalSimParameterMap *map)
HBHEDigitizer * theHBHEDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:91
HcalAmplifier * theHBHEAmplifier
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:35
HcalElectronicsSim * theHBHEElectronicsSim
void HcalDigitizer::setHFNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 378 of file HcalDigitizer.cc.

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

Referenced by HcalDigiProducer::setHFNoiseSignalGenerator().

378  {
379  noiseGenerator->setParameterMap(theParameterMap);
380  noiseGenerator->setElectronicsSim(theHFElectronicsSim);
384  theHFAmplifier->setNoiseSignalGenerator(noiseGenerator);
385 }
QIE10Digitizer * theHFQIE10Digitizer
void setParameterMap(HcalSimParameterMap *map)
HcalElectronicsSim * theHFElectronicsSim
HFDigitizer * theHFDigitizer
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:91
HcalAmplifier * theHFAmplifier
UpgradeDigitizer * theHFUpgradeDigitizer
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:35
void HcalDigitizer::setHONoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 387 of file HcalDigitizer.cc.

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

Referenced by HcalDigiProducer::setHONoiseSignalGenerator().

387  {
388  noiseGenerator->setParameterMap(theParameterMap);
389  noiseGenerator->setElectronicsSim(theHOElectronicsSim);
392  theHOAmplifier->setNoiseSignalGenerator(noiseGenerator);
393 }
void setParameterMap(HcalSimParameterMap *map)
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:91
HcalElectronicsSim * theHOElectronicsSim
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:35
HcalAmplifier * theHOAmplifier
HODigitizer * theHODigitizer
HODigitizer * theHOSiPMDigitizer
void HcalDigitizer::setZDCNoiseSignalGenerator ( HcalBaseSignalGenerator noiseGenerator)

Definition at line 395 of file HcalDigitizer.cc.

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

Referenced by HcalDigiProducer::setZDCNoiseSignalGenerator().

395  {
396  noiseGenerator->setParameterMap(theParameterMap);
397  noiseGenerator->setElectronicsSim(theZDCElectronicsSim);
398  theZDCDigitizer->setNoiseSignalGenerator(noiseGenerator);
399  theZDCAmplifier->setNoiseSignalGenerator(noiseGenerator);
400 }
void setParameterMap(HcalSimParameterMap *map)
HcalSimParameterMap * theParameterMap
Definition: HcalDigitizer.h:91
void setElectronicsSim(HcalElectronicsSim *electronicsSim)
ZDCDigitizer * theZDCDigitizer
void setNoiseSignalGenerator(CaloVNoiseSignalGenerator *generator)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:35
HcalElectronicsSim * theZDCElectronicsSim
HcalAmplifier * theZDCAmplifier
void HcalDigitizer::updateGeometry ( const edm::EventSetup eventSetup)
private

Definition at line 661 of file HcalDigitizer.cc.

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

Referenced by checkGeometry().

661  {
669 
670  const std::vector<DetId>& hbCells = theGeometry->getValidDetIds(DetId::Hcal, HcalBarrel);
671  const std::vector<DetId>& heCells = theGeometry->getValidDetIds(DetId::Hcal, HcalEndcap);
672  const std::vector<DetId>& hoCells = theGeometry->getValidDetIds(DetId::Hcal, HcalOuter);
673  const std::vector<DetId>& hfCells = theGeometry->getValidDetIds(DetId::Hcal, HcalForward);
674  const std::vector<DetId>& zdcCells = theGeometry->getValidDetIds(DetId::Calo, HcalZDCDetId::SubdetectorId);
675  //const std::vector<DetId>& hcalTrigCells = geometry->getValidDetIds(DetId::Hcal, HcalTriggerTower);
676  //const std::vector<DetId>& hcalCalib = geometry->getValidDetIds(DetId::Calo, HcalCastorDetId::SubdetectorId);
677 // std::cout<<"HcalDigitizer::CheckGeometry number of cells: "<<zdcCells.size()<<std::endl;
678  if(zdcCells.empty()) zdcgeo = false;
679  if(hbCells.empty() && heCells.empty()) hbhegeo = false;
680  if(hoCells.empty()) hogeo = false;
681  if(hfCells.empty()) hfgeo = false;
682  // combine HB & HE
683 
684  theHBHEDetIds = hbCells;
685  theHBHEDetIds.insert(theHBHEDetIds.end(), heCells.begin(), heCells.end());
686 
688  //HcalDigitizerImpl::fillCells(hoCells, theHODigitizer, theHOSiPMDigitizer);
689  buildHOSiPMCells(hoCells, eventSetup);
690  //handle mixed QIE8/10 scenario in HF
691  if(theHFDigitizer && theHFQIE10Digitizer) buildHFQIECells(hfCells,eventSetup);
692  else if(theHFDigitizer) theHFDigitizer->setDetIds(hfCells);
695  theZDCDigitizer->setDetIds(zdcCells);
698 #ifdef DebugLog
699  std::cout << " HcalDigitizer::updateGeometry theHBHEUpgradeDigitizer->setDetIds(theHBHEDetIds)"<< std::endl;
700 #endif
701  }
702 
703 }
QIE10Digitizer * theHFQIE10Digitizer
void setGeometry(const CaloGeometry *geometry)
geometry needed for time-of-flight
void setGeometry(const CaloGeometry *&, const HcalDDDRecConstants *&)
const HcalDDDRecConstants * theRecNumber
Definition: HcalDigitizer.h:74
void buildHFQIECells(const std::vector< DetId > &allCells, const edm::EventSetup &eventSetup)
HBHEDigitizer * theHBHEDigitizer
HFDigitizer * theHFDigitizer
HcalHitRelabeller * theRelabeller
UpgradeDigitizer * theHFUpgradeDigitizer
std::vector< DetId > theHBHEDetIds
void buildHOSiPMCells(const std::vector< DetId > &allCells, const edm::EventSetup &eventSetup)
CaloHitResponse * theHOResponse
Definition: HcalDigitizer.h:96
CaloHitResponse * theHOSiPMResponse
Definition: HcalDigitizer.h:97
ZDCDigitizer * theZDCDigitizer
CaloHitResponse * theZDCResponse
Definition: HcalDigitizer.h:99
static const int SubdetectorId
Definition: HcalZDCDetId.h:20
void fillCells(std::vector< DetId > &allCells, HPDDIGITIZER *hpdDigitizer, SIPMDIGITIZER *siPMDigitizer)
CaloHitResponse * theHBHEResponse
Definition: HcalDigitizer.h:94
const CaloGeometry * theGeometry
Definition: HcalDigitizer.h:73
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
Definition: CaloGeometry.cc:90
CaloHitResponse * theHFResponse
Definition: HcalDigitizer.h:98
HBHEDigitizer * theHBHESiPMDigitizer
CaloHitResponse * theHBHESiPMResponse
Definition: HcalDigitizer.h:95
tuple cout
Definition: gather_cfg.py:145
void setDetIds(const std::vector< DetId > &detIds)
UpgradeDigitizer * theHBHEUpgradeDigitizer

Member Data Documentation

double HcalDigitizer::deliveredLumi
private

Definition at line 156 of file HcalDigitizer.h.

Referenced by darkening(), and HcalDigitizer().

bool HcalDigitizer::hbhegeo
private

Definition at line 149 of file HcalDigitizer.h.

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

bool HcalDigitizer::hfgeo
private

Definition at line 149 of file HcalDigitizer.h.

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

std::string HcalDigitizer::hitsProducer_
private

Definition at line 152 of file HcalDigitizer.h.

Referenced by accumulate(), and HcalDigitizer().

bool HcalDigitizer::hogeo
private

Definition at line 149 of file HcalDigitizer.h.

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

bool HcalDigitizer::isHCAL
private

Definition at line 149 of file HcalDigitizer.h.

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

bool HcalDigitizer::isZDC
private

Definition at line 149 of file HcalDigitizer.h.

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

HEDarkening* HcalDigitizer::m_HEDarkening
private

Definition at line 157 of file HcalDigitizer.h.

Referenced by accumulateCaloHits(), darkening(), and HcalDigitizer().

HFRecalibration* HcalDigitizer::m_HFRecalibration
private

Definition at line 158 of file HcalDigitizer.h.

Referenced by accumulateCaloHits(), darkening(), and HcalDigitizer().

bool HcalDigitizer::relabel_
private

Definition at line 150 of file HcalDigitizer.h.

Referenced by accumulateCaloHits(), and HcalDigitizer().

HcalCoderFactory* HcalDigitizer::theCoderFactory
private

Definition at line 109 of file HcalDigitizer.h.

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

const CaloGeometry* HcalDigitizer::theGeometry
private

Definition at line 73 of file HcalDigitizer.h.

Referenced by checkGeometry(), and updateGeometry().

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

Definition at line 144 of file HcalDigitizer.h.

Referenced by updateGeometry().

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

Definition at line 112 of file HcalDigitizer.h.

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

HBHEHitFilter HcalDigitizer::theHBHEHitFilter
private

Definition at line 120 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloHitResponse* HcalDigitizer::theHBHEResponse
private

Definition at line 94 of file HcalDigitizer.h.

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

HBHEDigitizer* HcalDigitizer::theHBHESiPMDigitizer
private
CaloHitResponse* HcalDigitizer::theHBHESiPMResponse
private

Definition at line 95 of file HcalDigitizer.h.

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

UpgradeDigitizer* HcalDigitizer::theHBHEUpgradeDigitizer
private
HcalAmplifier* HcalDigitizer::theHFAmplifier
private
HFDigitizer* HcalDigitizer::theHFDigitizer
private
HcalElectronicsSim* HcalDigitizer::theHFElectronicsSim
private

Definition at line 113 of file HcalDigitizer.h.

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

HFHitFilter HcalDigitizer::theHFHitFilter
private

Definition at line 121 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

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

Definition at line 147 of file HcalDigitizer.h.

Referenced by buildHFQIECells().

QIE10Digitizer* HcalDigitizer::theHFQIE10Digitizer
private
HcalElectronicsSim* HcalDigitizer::theHFQIE10ElectronicsSim
private

Definition at line 118 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), and initializeEvent().

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

Definition at line 147 of file HcalDigitizer.h.

Referenced by buildHFQIECells().

CaloHitResponse* HcalDigitizer::theHFResponse
private

Definition at line 98 of file HcalDigitizer.h.

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

UpgradeDigitizer* HcalDigitizer::theHFUpgradeDigitizer
private
HcalHitCorrection* HcalDigitizer::theHitCorrection
private
HcalAmplifier* HcalDigitizer::theHOAmplifier
private
HODigitizer* HcalDigitizer::theHODigitizer
private
HcalElectronicsSim* HcalDigitizer::theHOElectronicsSim
private

Definition at line 114 of file HcalDigitizer.h.

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

HOHitFilter HcalDigitizer::theHOHitFilter
private

Definition at line 122 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

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

Definition at line 145 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells().

CaloHitResponse* HcalDigitizer::theHOResponse
private

Definition at line 96 of file HcalDigitizer.h.

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

int HcalDigitizer::theHOSiPMCode
private

Definition at line 154 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells(), and HcalDigitizer().

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

Definition at line 146 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells().

HODigitizer* HcalDigitizer::theHOSiPMDigitizer
private
HcalHitFilter HcalDigitizer::theHOSiPMHitFilter
private

Definition at line 123 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells(), and HcalDigitizer().

CaloHitResponse* HcalDigitizer::theHOSiPMResponse
private

Definition at line 97 of file HcalDigitizer.h.

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

HPDIonFeedbackSim* HcalDigitizer::theIonFeedback
private

Definition at line 108 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloVNoiseSignalGenerator* HcalDigitizer::theNoiseGenerator
private

Definition at line 128 of file HcalDigitizer.h.

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

CaloVNoiseHitGenerator* HcalDigitizer::theNoiseHitGenerator
private

Definition at line 129 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

HcalSimParameterMap* HcalDigitizer::theParameterMap
private
const HcalDDDRecConstants* HcalDigitizer::theRecNumber
private

Definition at line 74 of file HcalDigitizer.h.

Referenced by checkGeometry(), and updateGeometry().

HcalHitRelabeller* HcalDigitizer::theRelabeller
private

Definition at line 140 of file HcalDigitizer.h.

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

HcalShapes* HcalDigitizer::theShapes
private

Definition at line 92 of file HcalDigitizer.h.

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

HcalTimeSlewSim* HcalDigitizer::theTimeSlewSim
private

Definition at line 127 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

HcalCoderFactory* HcalDigitizer::theUpgradeCoderFactory
private

Definition at line 110 of file HcalDigitizer.h.

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

HcalElectronicsSim* HcalDigitizer::theUpgradeHBHEElectronicsSim
private

Definition at line 116 of file HcalDigitizer.h.

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

HcalElectronicsSim* HcalDigitizer::theUpgradeHFElectronicsSim
private

Definition at line 117 of file HcalDigitizer.h.

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

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

Definition at line 115 of file HcalDigitizer.h.

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

ZDCHitFilter HcalDigitizer::theZDCHitFilter
private

Definition at line 124 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloHitResponse* HcalDigitizer::theZDCResponse
private

Definition at line 99 of file HcalDigitizer.h.

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

bool HcalDigitizer::zdcgeo
private

Definition at line 149 of file HcalDigitizer.h.

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