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
 
CaloHitResponsetheHFQIE10Response
 
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_25ns10e33_v2_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, theHFQIE10Response, 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),
100  theHFAmplifier(0),
101  theHOAmplifier(0),
102  theZDCAmplifier(0),
103  theIonFeedback(0),
104  theCoderFactory(0),
114  theHFHitFilter(ps.getParameter<bool>("doHFWindow")),
115  theHOHitFilter(),
117  theZDCHitFilter(),
118  theHitCorrection(0),
121  theHBHEDigitizer(0),
123  theHODigitizer(0),
125  theHFDigitizer(0),
126  theZDCDigitizer(0),
130  theRelabeller(0),
131  isZDC(true),
132  isHCAL(true),
133  zdcgeo(true),
134  hbhegeo(true),
135  hogeo(true),
136  hfgeo(true),
137  hitsProducer_(ps.getParameter<std::string>("hitsProducer")),
138  theHOSiPMCode(ps.getParameter<edm::ParameterSet>("ho").getParameter<int>("siPMCode")),
139  deliveredLumi(0.),
140  m_HEDarkening(0),
142 {
143  iC.consumes<std::vector<PCaloHit> >(edm::InputTag(hitsProducer_, "ZDCHITS"));
144  iC.consumes<std::vector<PCaloHit> >(edm::InputTag(hitsProducer_, "HcalHits"));
145 
146  bool doNoise = ps.getParameter<bool>("doNoise");
147  bool PreMix1 = ps.getParameter<bool>("HcalPreMixStage1"); // special threshold/pedestal treatment
148  bool PreMix2 = ps.getParameter<bool>("HcalPreMixStage2"); // special threshold/pedestal treatment
149  bool useOldNoiseHB = ps.getParameter<bool>("useOldHB");
150  bool useOldNoiseHE = ps.getParameter<bool>("useOldHE");
151  bool useOldNoiseHF = ps.getParameter<bool>("useOldHF");
152  bool useOldNoiseHO = ps.getParameter<bool>("useOldHO");
153  bool doEmpty = ps.getParameter<bool>("doEmpty");
154  double HBtp = ps.getParameter<double>("HBTuningParameter");
155  double HEtp = ps.getParameter<double>("HETuningParameter");
156  double HFtp = ps.getParameter<double>("HFTuningParameter");
157  double HOtp = ps.getParameter<double>("HOTuningParameter");
158  bool doHBHEUpgrade = ps.getParameter<bool>("HBHEUpgradeQIE");
159  bool doHFUpgrade = ps.getParameter<bool>("HFUpgradeQIE");
160  deliveredLumi = ps.getParameter<double>("DelivLuminosity");
161  bool agingFlagHE = ps.getParameter<bool>("HEDarkening");
162  bool agingFlagHF = ps.getParameter<bool>("HFDarkening");
163  double minFCToDelay= ps.getParameter<double>("minFCToDelay");
164  bool doHFQIE10 = ps.getParameter<bool>("HFQIE10");
165  bool doHFQIE8 = ps.getParameter<bool>("HFQIE8");
166 
167  if(PreMix1 && PreMix2) {
168  throw cms::Exception("Configuration")
169  << "HcalDigitizer cannot operate in PreMixing digitization and PreMixing\n"
170  "digi combination modes at the same time. Please set one mode to False\n"
171  "in the configuration file.";
172  }
173 
174  // need to make copies, because they might get different noise generators
175  theHBHEAmplifier = new HcalAmplifier(theParameterMap, doNoise, PreMix1, PreMix2);
176  theHFAmplifier = new HcalAmplifier(theParameterMap, doNoise, PreMix1, PreMix2);
177  theHOAmplifier = new HcalAmplifier(theParameterMap, doNoise, PreMix1, PreMix2);
178  theZDCAmplifier = new HcalAmplifier(theParameterMap, doNoise, PreMix1, PreMix2);
183  theHBHEAmplifier->setUseOldHB(useOldNoiseHB);
184  theHBHEAmplifier->setUseOldHE(useOldNoiseHE);
185  theHFAmplifier->setUseOldHF(useOldNoiseHF);
186  theHOAmplifier->setUseOldHO(useOldNoiseHO);
187 
190 
191 // std::cout << "HcalDigitizer: theUpgradeCoderFactory created" << std::endl;
192 
199  theHFQIE10ElectronicsSim = new HcalElectronicsSim(theHFAmplifier, theUpgradeCoderFactory, PreMix1); //should this use a different coder factory?
200 
201 // std::cout << "HcalDigitizer: theUpgradeElectronicsSim created" << std::endl;
202 
203  // a code of 1 means make all cells SiPM
204  std::vector<int> hbSiPMCells(ps.getParameter<edm::ParameterSet>("hb").getParameter<std::vector<int> >("siPMCells"));
205  //std::vector<int> hoSiPMCells(ps.getParameter<edm::ParameterSet>("ho").getParameter<std::vector<int> >("siPMCells"));
206  // 0 means none, 1 means all, and 2 means use hardcoded
207 
208 // std::cout << std::endl << " hbSiPMCells = " << hbSiPMCells.size() << std::endl;
209 
210  bool doHBHEHPD = hbSiPMCells.empty() || (hbSiPMCells[0] != 1);
211  bool doHOHPD = (theHOSiPMCode != 1);
212  bool doHBHESiPM = !hbSiPMCells.empty();
213  bool doHOSiPM = (theHOSiPMCode != 0);
214  if(doHBHEHPD) {
216  edm::LogInfo("HcalDigitizer") <<"Set scale for HB towers";
218 
221  bool changeResponse = ps.getParameter<bool>("ChangeResponse");
222  edm::FileInPath fname = ps.getParameter<edm::FileInPath>("CorrFactorFile");
223  if (changeResponse) {
224  std::string corrFileName = fname.fullPath();
225  edm::LogInfo("HcalDigitizer") << "Set scale for HB towers from " << corrFileName;
226  theHBHEResponse->setHBHEScale(corrFileName); //GMA
227  }
228  }
229  if(doHOHPD) {
233  }
234 
235  if(doHBHESiPM) {
238  if (doHBHEUpgrade) {
240 
241 // std::cout << "HcalDigitizer: theHBHEUpgradeDigitizer created" << std::endl;
242 
243  } else {
245  }
246  }
247  if(doHOSiPM) {
251  }
252 
253  // if both are present, fill the SiPM cells now
254  if(doHBHEHPD && doHBHESiPM) {
255 
256 // std::cout << "HcalDigitizer: fill the SiPM cells now" << std::endl;
257 
259  }
260 
264 
265  bool doTimeSlew = ps.getParameter<bool>("doTimeSlew");
266  //initialize: they won't be called later if flag is set
267  theTimeSlewSim = 0;
268  if(doTimeSlew) {
269  // no time slewing for HF
270  theTimeSlewSim = new HcalTimeSlewSim(theParameterMap,minFCToDelay);
271  theHBHEAmplifier->setTimeSlewSim(theTimeSlewSim);
272  theHOAmplifier->setTimeSlewSim(theTimeSlewSim);
273  theZDCAmplifier->setTimeSlewSim(theTimeSlewSim);
274  }
275 
276  if (doHFQIE10 || doHFQIE8) { //QIE8 and QIE10 can coexist in HF
278  if(doHFQIE8) theHFDigitizer = new HFDigitizer(theHFResponse, theHFElectronicsSim, doEmpty);
279  }
280  else if (doHFUpgrade) {
282 
283 // std::cout << "HcalDigitizer: theHFUpgradeDigitizer created" << std::endl;
284 
285  } else {
287  }
289 
290  edm::ParameterSet ps0 = ps.getParameter<edm::ParameterSet>("HcalReLabel");
291  relabel_ = ps0.getUntrackedParameter<bool>("RelabelHits");
292 // std::cout << "Flag to see if Hit Relabeller to be initiated " << relabel_ << std::endl;
293  if (relabel_) {
295  }
296 
297  bool doHPDNoise = ps.getParameter<bool>("doHPDNoise");
298  if(doHPDNoise) {
299  //edm::ParameterSet hpdNoisePset = ps.getParameter<edm::ParameterSet>("HPDNoiseLibrary");
303  }
304 
305  if(ps.getParameter<bool>("doIonFeedback") && theHBHEResponse) {
308  if(ps.getParameter<bool>("doThermalNoise")) {
310  }
311  }
312 
313  if(ps.getParameter<bool>("injectTestHits") ) {
321 
322 // std::cout << "HcalDigitizer: theHBHEUpgradeDigitizer setNoise" << std::endl;
323  }
325  if(theHFUpgradeDigitizer) {
327 
328 // std::cout << "HcalDigitizer: theHFUpgradeDigitizer setNoise" << std::endl;
329  }
332  }
333 
334  if(agingFlagHE) m_HEDarkening = new HEDarkening();
335  if(agingFlagHF) m_HFRecalibration = new HFRecalibration();
336 }
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
CaloHitResponse * theHFQIE10Response
Definition: HcalDigitizer.h:99
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
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 339 of file HcalDigitizer.cc.

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

339  {
342  if(theHODigitizer) delete theHODigitizer;
344  if(theHFDigitizer) delete theHFDigitizer;
345  delete theZDCDigitizer;
348  delete theParameterMap;
349  delete theHBHEResponse;
350  delete theHBHESiPMResponse;
351  delete theHOResponse;
352  delete theHOSiPMResponse;
353  delete theHFResponse;
354  delete theHFQIE10Response;
355  delete theZDCResponse;
356  delete theHBHEElectronicsSim;
357  delete theHFElectronicsSim;
358  delete theHOElectronicsSim;
359  delete theZDCElectronicsSim;
362  delete theHBHEAmplifier;
363  delete theHFAmplifier;
364  delete theHOAmplifier;
365  delete theZDCAmplifier;
366  delete theCoderFactory;
367  delete theUpgradeCoderFactory;
368  delete theHitCorrection;
369  delete theNoiseGenerator;
370  if (theRelabeller) delete theRelabeller;
371 }
CaloHitResponse * theHFQIE10Response
Definition: HcalDigitizer.h:99
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
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 525 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().

525  {
526  // Step A: Get Inputs
527  edm::InputTag zdcTag(hitsProducer_, "ZDCHITS");
529  e.getByLabel(zdcTag, zdcHandle);
530  isZDC = zdcHandle.isValid();
531 
532  edm::InputTag hcalTag(hitsProducer_, "HcalHits");
534  e.getByLabel(hcalTag, hcalHandle);
535  isHCAL = hcalHandle.isValid();
536 
538  eventSetup.get<HcalRecNumberingRecord>().get(htopo);
539  const HcalTopology *htopoP=htopo.product();
540 
541  accumulateCaloHits(hcalHandle, zdcHandle, 0, engine, htopoP);
542 }
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 544 of file HcalDigitizer.cc.

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

544  {
545  // Step A: Get Inputs
546  edm::InputTag zdcTag(hitsProducer_, "ZDCHITS");
548  e.getByLabel(zdcTag, zdcHandle);
549  isZDC = zdcHandle.isValid();
550 
551  edm::InputTag hcalTag(hitsProducer_, "HcalHits");
553  e.getByLabel(hcalTag, hcalHandle);
554  isHCAL = hcalHandle.isValid();
555 
557  eventSetup.get<HcalRecNumberingRecord>().get(htopo);
558  const HcalTopology *htopoP=htopo.product();
559 
560  accumulateCaloHits(hcalHandle, zdcHandle, e.bunchCrossing(), engine, htopoP);
561 }
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 454 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().

454  {
455 
456  // Step A: pass in inputs, and accumulate digirs
457  if(isHCAL) {
458  std::vector<PCaloHit> hcalHitsOrig = *hcalHandle.product();
459  std::vector<PCaloHit> hcalHits;
460  hcalHits.reserve(hcalHitsOrig.size());
461 
462  //evaluate darkening before relabeling
464  darkening(hcalHitsOrig);
465  }
466  // Relabel PCaloHits if necessary
467  if (relabel_) {
468  edm::LogInfo("HcalDigitizer") << "Calling Relabeller";
469  theRelabeller->process(hcalHitsOrig);
470  }
471 
472  //eliminate bad hits
473  for (unsigned int i=0; i< hcalHitsOrig.size(); i++) {
474  DetId id(hcalHitsOrig[i].id());
475  HcalDetId hid(id);
476  if (!htopoP->validHcal(hid)) {
477  edm::LogError("HcalDigitizer") << "bad hcal id found in digitizer. Skipping " << id.rawId() << " " << hid << std::endl;
478  } else {
479 #ifdef DebugLog
480  std::cout << "HcalDigitizer format " << hid.oldFormat() << " for " << hid << std::endl;
481 #endif
482  DetId newid = DetId(hid.newForm());
483 #ifdef DebugLog
484  std::cout << "Hit " << i << " out of " << hcalHits.size() << " " << std::hex << id.rawId() << " --> " << newid.rawId() << std::dec << " " << HcalDetId(newid.rawId()) << '\n';
485 #endif
486  hcalHitsOrig[i].setID(newid.rawId());
487  hcalHits.push_back(hcalHitsOrig[i]);
488  }
489  }
490 
491  if(theHitCorrection != 0) {
492  theHitCorrection->fillChargeSums(hcalHits);
493  }
494  if(hbhegeo) {
495  if(theHBHEDigitizer) theHBHEDigitizer->add(hcalHits, bunchCrossing, engine);
496  if(theHBHESiPMDigitizer) theHBHESiPMDigitizer->add(hcalHits, bunchCrossing, engine);
498  theHBHEUpgradeDigitizer->add(hcalHits, bunchCrossing, engine);
499  }
500  }
501 
502  if(hogeo) {
503  if(theHODigitizer) theHODigitizer->add(hcalHits, bunchCrossing, engine);
504  if(theHOSiPMDigitizer) theHOSiPMDigitizer->add(hcalHits, bunchCrossing, engine);
505  }
506 
507  if(hfgeo) {
508  if(theHFDigitizer) theHFDigitizer->add(hcalHits, bunchCrossing, engine);
509  if(theHFUpgradeDigitizer) theHFUpgradeDigitizer->add(hcalHits, bunchCrossing, engine);
510  if(theHFQIE10Digitizer) theHFQIE10Digitizer->add(hcalHits, bunchCrossing, engine);
511  }
512  } else {
513  edm::LogInfo("HcalDigitizer") << "We don't have HCAL hit collection available ";
514  }
515 
516  if(isZDC) {
517  if(zdcgeo) {
518  theZDCDigitizer->add(*zdcHandle.product(), bunchCrossing, engine);
519  }
520  } else {
521  edm::LogInfo("HcalDigitizer") << "We don't have ZDC hit collection available ";
522  }
523 }
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 637 of file HcalDigitizer.cc.

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

Referenced by HcalDigiProducer::beginRun().

637  {
638  checkGeometry(es);
639  theShapes->beginRun(es);
640 }
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 709 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().

709  {
710  //if results are already cached, no need to look again
711  if(theHFQIE8DetIds.size()>0 || theHFQIE10DetIds.size()>0) return;
712 
713  //get the QIETypes
715  eventSetup.get<HcalQIETypesRcd>().get(q);
717  eventSetup.get<HcalRecNumberingRecord>().get(htopo);
718 
719  HcalQIETypes qieTypes(*q.product());
720  if (qieTypes.topo()==0) {
721  qieTypes.setTopo(htopo.product());
722  }
723 
724  for(std::vector<DetId>::const_iterator detItr = allCells.begin(); detItr != allCells.end(); ++detItr) {
725  HcalQIENum qieType = HcalQIENum(qieTypes.getValues(*detItr)->getValue());
726  if(qieType == QIE8) {
727  theHFQIE8DetIds.push_back(*detItr);
728  } else if(qieType == QIE10) {
729  theHFQIE10DetIds.push_back(*detItr);
730  } else { //default is QIE8
731  theHFQIE8DetIds.push_back(*detItr);
732  }
733  }
734 
736  else {
737  delete theHFDigitizer;
739  }
740 
742  else {
743  delete theHFQIE10Digitizer;
745  }
746 }
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 748 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().

748  {
749  // all HPD
750 
751  if(theHOSiPMCode == 0) {
752  theHODigitizer->setDetIds(allCells);
753  } else if(theHOSiPMCode == 1) {
754  theHOSiPMDigitizer->setDetIds(allCells);
755  // FIXME pick Zecotek or hamamatsu?
756  } else if(theHOSiPMCode == 2) {
757  std::vector<HcalDetId> zecotekDetIds, hamamatsuDetIds;
759  eventSetup.get<HcalMCParamsRcd>().get(p);
761  eventSetup.get<HcalRecNumberingRecord>().get(htopo);
762 
763  HcalMCParams mcParams(*p.product());
764  if (mcParams.topo()==0) {
765  mcParams.setTopo(htopo.product());
766  }
767 
768  for(std::vector<DetId>::const_iterator detItr = allCells.begin();
769  detItr != allCells.end(); ++detItr) {
770  int shapeType = mcParams.getValues(*detItr)->signalShape();
771  if(shapeType == HcalShapes::ZECOTEK) {
772  zecotekDetIds.emplace_back(*detItr);
773  theHOSiPMDetIds.push_back(*detItr);
774  } else if(shapeType == HcalShapes::HAMAMATSU) {
775  hamamatsuDetIds.emplace_back(*detItr);
776  theHOSiPMDetIds.push_back(*detItr);
777  } else {
778  theHOHPDDetIds.push_back(*detItr);
779  }
780  }
781 
787  // FIXME not applying a HitFilter to the HPDs, for now
788  theParameterMap->setHOZecotekDetIds(zecotekDetIds);
789  theParameterMap->setHOHamamatsuDetIds(hamamatsuDetIds);
790 
791  // make sure we don't got through this exercise again
792  theHOSiPMCode = -2;
793  }
794 }
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 648 of file HcalDigitizer.cc.

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

Referenced by beginRun().

648  {
649  // TODO find a way to avoid doing this every event
651  eventSetup.get<CaloGeometryRecord>().get(geometry);
653  eventSetup.get<HcalRecNumberingRecord>().get(pHRNDC);
654 
655  // See if it's been updated
656  if (&*geometry != theGeometry) {
657  theGeometry = &*geometry;
658  theRecNumber= &*pHRNDC;
659  updateGeometry(eventSetup);
660  }
661 }
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 796 of file HcalDigitizer.cc.

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

Referenced by accumulateCaloHits().

796  {
797 
798  for (unsigned int ii=0; ii<hcalHits.size(); ++ii) {
799  uint32_t tmpId = hcalHits[ii].id();
800  int det, z, depth, ieta, phi, lay;
801  HcalTestNumbering::unpackHcalIndex(tmpId,det,z,depth,ieta,phi,lay);
802 
803  bool darkened = false;
804  float dweight = 1.;
805 
806  if(det==int(HcalEndcap) && m_HEDarkening){
807  //HE darkening
808  dweight = m_HEDarkening->degradation(deliveredLumi,ieta,lay-2);//NB:diff. layer count
809  darkened = true;
810  } else if(det==int(HcalForward) && m_HFRecalibration){
811  //HF darkening - approximate: invert recalibration factor
812  dweight = 1.0/m_HFRecalibration->getCorr(ieta,depth,deliveredLumi);
813  darkened = true;
814  }
815 
816  //create new hit with darkened energy
817  //if(darkened) hcalHits[ii] = PCaloHit(hcalHits[ii].energyEM()*dweight,hcalHits[ii].energyHad()*dweight,hcalHits[ii].time(),hcalHits[ii].geantTrackId(),hcalHits[ii].id());
818 
819  //reset hit energy
820  if(darkened) hcalHits[ii].setEnergy(hcalHits[ii].energy()*dweight);
821  }
822 
823 }
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 643 of file HcalDigitizer.cc.

References HcalShapes::endRun(), and theShapes.

Referenced by HcalDigiProducer::endRun().

643  {
644  theShapes->endRun();
645 }
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 563 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().

563  {
564 
565  // Step B: Create empty output
566  std::auto_ptr<HBHEDigiCollection> hbheResult(new HBHEDigiCollection());
567  std::auto_ptr<HODigiCollection> hoResult(new HODigiCollection());
568  std::auto_ptr<HFDigiCollection> hfResult(new HFDigiCollection());
569  std::auto_ptr<ZDCDigiCollection> zdcResult(new ZDCDigiCollection());
570  std::auto_ptr<HBHEUpgradeDigiCollection> hbheupgradeResult(new HBHEUpgradeDigiCollection());
571  std::auto_ptr<HFUpgradeDigiCollection> hfupgradeResult(new HFUpgradeDigiCollection());
572  std::auto_ptr<QIE10DigiCollection> hfQIE10Result(new QIE10DigiCollection());
573 
574  // Step C: Invoke the algorithm, getting back outputs.
575  if(isHCAL&&hbhegeo){
576  if(theHBHEDigitizer) theHBHEDigitizer->run(*hbheResult, engine);
577  if(theHBHESiPMDigitizer) theHBHESiPMDigitizer->run(*hbheResult, engine);
579  theHBHEUpgradeDigitizer->run(*hbheupgradeResult, engine);
580 #ifdef DebugLog
581  std::cout << "HcalDigitizer::finalizeEvent theHBHEUpgradeDigitizer->run" << std::endl;
582 #endif
583  }
584  }
585  if(isHCAL&&hogeo) {
586  if(theHODigitizer) theHODigitizer->run(*hoResult, engine);
587  if(theHOSiPMDigitizer) theHOSiPMDigitizer->run(*hoResult, engine);
588  }
589  if(isHCAL&&hfgeo) {
590  if(theHFDigitizer) theHFDigitizer->run(*hfResult, engine);
591  if(theHFUpgradeDigitizer) theHFUpgradeDigitizer->run(*hfupgradeResult, engine);
592  if(theHFQIE10Digitizer) theHFQIE10Digitizer->run(*hfQIE10Result, engine);
593  }
594  if(isZDC&&zdcgeo) {
595  theZDCDigitizer->run(*zdcResult, engine);
596  }
597 
598  edm::LogInfo("HcalDigitizer") << "HCAL HBHE digis : " << hbheResult->size();
599  edm::LogInfo("HcalDigitizer") << "HCAL HO digis : " << hoResult->size();
600  edm::LogInfo("HcalDigitizer") << "HCAL HF digis : " << hfResult->size();
601  edm::LogInfo("HcalDigitizer") << "HCAL ZDC digis : " << zdcResult->size();
602  edm::LogInfo("HcalDigitizer") << "HCAL HBHE upgrade digis : " << hbheupgradeResult->size();
603  edm::LogInfo("HcalDigitizer") << "HCAL HF upgrade digis : " << hfupgradeResult->size();
604  edm::LogInfo("HcalDigitizer") << "HCAL HF QIE10 digis : " << hfQIE10Result->size();
605 
606 #ifdef DebugLog
607  std::cout << std::endl;
608  std::cout << "HCAL HBHE digis : " << hbheResult->size() << std::endl;
609  std::cout << "HCAL HO digis : " << hoResult->size() << std::endl;
610  std::cout << "HCAL HF digis : " << hfResult->size() << std::endl;
611 
612  std::cout << "HCAL HBHE upgrade digis : " << hbheupgradeResult->size()
613  << std::endl;
614  std::cout << "HCAL HF upgrade digis : " << hfupgradeResult->size()
615  << std::endl;
616 #endif
617 
618  // Step D: Put outputs into event
619  e.put(hbheResult);
620  e.put(hoResult);
621  e.put(hfResult);
622  e.put(zdcResult);
623  e.put(hbheupgradeResult,"HBHEUpgradeDigiCollection");
624  e.put(hfupgradeResult, "HFUpgradeDigiCollection");
625  e.put(hfQIE10Result, "HFQIE10DigiCollection");
626 
627 #ifdef DebugLog
628  std::cout << std::endl << "========> HcalDigitizer e.put " << std::endl << std::endl;
629 #endif
630 
631  if(theHitCorrection) {
633  }
634 }
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 405 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().

405  {
406  // get the appropriate gains, noises, & widths for this event
407  edm::ESHandle<HcalDbService> conditions;
408  eventSetup.get<HcalDbRecord>().get(conditions);
409  theHBHEAmplifier->setDbService(conditions.product());
410  theHFAmplifier->setDbService(conditions.product());
411  theHOAmplifier->setDbService(conditions.product());
412  theZDCAmplifier->setDbService(conditions.product());
416 
417  theCoderFactory->setDbService(conditions.product());
419  theParameterMap->setDbService(conditions.product());
420 
422  if (eventSetup.find(edm::eventsetup::EventSetupRecordKey::makeKey<HcalCholeskyMatricesRcd>())) {
423  eventSetup.get<HcalCholeskyMatricesRcd>().get(refCholesky);
424  const HcalCholeskyMatrices * myCholesky = refCholesky.product();
425  theHBHEAmplifier->setCholesky(myCholesky);
426  theHFAmplifier->setCholesky(myCholesky);
427  theHOAmplifier->setCholesky(myCholesky);
428  }
429  edm::ESHandle<HcalPedestals> pedshandle;
430  eventSetup.get<HcalPedestalsRcd>().get(pedshandle);
431  const HcalPedestals * myADCPedestals = pedshandle.product();
432 
433  theHBHEAmplifier->setADCPeds(myADCPedestals);
434  theHFAmplifier->setADCPeds(myADCPedestals);
435  theHOAmplifier->setADCPeds(myADCPedestals);
436 
437  if(theHitCorrection != 0) {
439  }
440 
441  //initialize hits
451 
452 }
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 374 of file HcalDigitizer.cc.

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

Referenced by HcalDigiProducer::setHBHENoiseSignalGenerator().

374  {
375  noiseGenerator->setParameterMap(theParameterMap);
376  noiseGenerator->setElectronicsSim(theHBHEElectronicsSim);
378  theHBHEAmplifier->setNoiseSignalGenerator(noiseGenerator);
379 }
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 381 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().

381  {
382  noiseGenerator->setParameterMap(theParameterMap);
383  noiseGenerator->setElectronicsSim(theHFElectronicsSim);
387  theHFAmplifier->setNoiseSignalGenerator(noiseGenerator);
388 }
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 390 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().

390  {
391  noiseGenerator->setParameterMap(theParameterMap);
392  noiseGenerator->setElectronicsSim(theHOElectronicsSim);
395  theHOAmplifier->setNoiseSignalGenerator(noiseGenerator);
396 }
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 398 of file HcalDigitizer.cc.

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

Referenced by HcalDigiProducer::setZDCNoiseSignalGenerator().

398  {
399  noiseGenerator->setParameterMap(theParameterMap);
400  noiseGenerator->setElectronicsSim(theZDCElectronicsSim);
401  theZDCDigitizer->setNoiseSignalGenerator(noiseGenerator);
402  theZDCAmplifier->setNoiseSignalGenerator(noiseGenerator);
403 }
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 664 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, theHFQIE10Response, theHFResponse, theHFUpgradeDigitizer, theHOResponse, theHOSiPMResponse, theRecNumber, theRelabeller, theZDCDigitizer, theZDCResponse, and zdcgeo.

Referenced by checkGeometry().

664  {
673 
674  const std::vector<DetId>& hbCells = theGeometry->getValidDetIds(DetId::Hcal, HcalBarrel);
675  const std::vector<DetId>& heCells = theGeometry->getValidDetIds(DetId::Hcal, HcalEndcap);
676  const std::vector<DetId>& hoCells = theGeometry->getValidDetIds(DetId::Hcal, HcalOuter);
677  const std::vector<DetId>& hfCells = theGeometry->getValidDetIds(DetId::Hcal, HcalForward);
678  const std::vector<DetId>& zdcCells = theGeometry->getValidDetIds(DetId::Calo, HcalZDCDetId::SubdetectorId);
679  //const std::vector<DetId>& hcalTrigCells = geometry->getValidDetIds(DetId::Hcal, HcalTriggerTower);
680  //const std::vector<DetId>& hcalCalib = geometry->getValidDetIds(DetId::Calo, HcalCastorDetId::SubdetectorId);
681 // std::cout<<"HcalDigitizer::CheckGeometry number of cells: "<<zdcCells.size()<<std::endl;
682  if(zdcCells.empty()) zdcgeo = false;
683  if(hbCells.empty() && heCells.empty()) hbhegeo = false;
684  if(hoCells.empty()) hogeo = false;
685  if(hfCells.empty()) hfgeo = false;
686  // combine HB & HE
687 
688  theHBHEDetIds = hbCells;
689  theHBHEDetIds.insert(theHBHEDetIds.end(), heCells.begin(), heCells.end());
690 
692  //HcalDigitizerImpl::fillCells(hoCells, theHODigitizer, theHOSiPMDigitizer);
693  buildHOSiPMCells(hoCells, eventSetup);
694  //handle mixed QIE8/10 scenario in HF
695  if(theHFDigitizer && theHFQIE10Digitizer) buildHFQIECells(hfCells,eventSetup);
696  else if(theHFDigitizer) theHFDigitizer->setDetIds(hfCells);
699  theZDCDigitizer->setDetIds(zdcCells);
702 #ifdef DebugLog
703  std::cout << " HcalDigitizer::updateGeometry theHBHEUpgradeDigitizer->setDetIds(theHBHEDetIds)"<< std::endl;
704 #endif
705  }
706 
707 }
QIE10Digitizer * theHFQIE10Digitizer
void setGeometry(const CaloGeometry *geometry)
geometry needed for time-of-flight
CaloHitResponse * theHFQIE10Response
Definition: HcalDigitizer.h:99
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
static const int SubdetectorId
Definition: HcalZDCDetId.h:25
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 157 of file HcalDigitizer.h.

Referenced by darkening(), and HcalDigitizer().

bool HcalDigitizer::hbhegeo
private

Definition at line 150 of file HcalDigitizer.h.

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

bool HcalDigitizer::hfgeo
private

Definition at line 150 of file HcalDigitizer.h.

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

std::string HcalDigitizer::hitsProducer_
private

Definition at line 153 of file HcalDigitizer.h.

Referenced by accumulate(), and HcalDigitizer().

bool HcalDigitizer::hogeo
private

Definition at line 150 of file HcalDigitizer.h.

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

bool HcalDigitizer::isHCAL
private

Definition at line 150 of file HcalDigitizer.h.

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

bool HcalDigitizer::isZDC
private

Definition at line 150 of file HcalDigitizer.h.

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

HEDarkening* HcalDigitizer::m_HEDarkening
private

Definition at line 158 of file HcalDigitizer.h.

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

HFRecalibration* HcalDigitizer::m_HFRecalibration
private

Definition at line 159 of file HcalDigitizer.h.

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

bool HcalDigitizer::relabel_
private

Definition at line 151 of file HcalDigitizer.h.

Referenced by accumulateCaloHits(), and HcalDigitizer().

HcalCoderFactory* HcalDigitizer::theCoderFactory
private

Definition at line 110 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 145 of file HcalDigitizer.h.

Referenced by updateGeometry().

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

Definition at line 113 of file HcalDigitizer.h.

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

HBHEHitFilter HcalDigitizer::theHBHEHitFilter
private

Definition at line 121 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 114 of file HcalDigitizer.h.

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

HFHitFilter HcalDigitizer::theHFHitFilter
private

Definition at line 122 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

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

Definition at line 148 of file HcalDigitizer.h.

Referenced by buildHFQIECells().

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

Definition at line 119 of file HcalDigitizer.h.

Referenced by HcalDigitizer(), and initializeEvent().

CaloHitResponse* HcalDigitizer::theHFQIE10Response
private

Definition at line 99 of file HcalDigitizer.h.

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

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

Definition at line 148 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 115 of file HcalDigitizer.h.

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

HOHitFilter HcalDigitizer::theHOHitFilter
private

Definition at line 123 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

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

Definition at line 146 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 155 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells(), and HcalDigitizer().

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

Definition at line 147 of file HcalDigitizer.h.

Referenced by buildHOSiPMCells().

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

Definition at line 124 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 109 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloVNoiseSignalGenerator* HcalDigitizer::theNoiseGenerator
private

Definition at line 129 of file HcalDigitizer.h.

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

CaloVNoiseHitGenerator* HcalDigitizer::theNoiseHitGenerator
private

Definition at line 130 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 141 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 128 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

HcalCoderFactory* HcalDigitizer::theUpgradeCoderFactory
private

Definition at line 111 of file HcalDigitizer.h.

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

HcalElectronicsSim* HcalDigitizer::theUpgradeHBHEElectronicsSim
private

Definition at line 117 of file HcalDigitizer.h.

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

HcalElectronicsSim* HcalDigitizer::theUpgradeHFElectronicsSim
private

Definition at line 118 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 116 of file HcalDigitizer.h.

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

ZDCHitFilter HcalDigitizer::theZDCHitFilter
private

Definition at line 125 of file HcalDigitizer.h.

Referenced by HcalDigitizer().

CaloHitResponse* HcalDigitizer::theZDCResponse
private

Definition at line 100 of file HcalDigitizer.h.

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

bool HcalDigitizer::zdcgeo
private

Definition at line 150 of file HcalDigitizer.h.

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