23 theHBHEResponse(new
CaloHitResponse(theParameterMap, theHcalIntegratedShape)),
24 theHOResponse(new
CaloHitResponse(theParameterMap, theHcalIntegratedShape)),
25 theAmplifier(0), theCoderFactory(0), theElectronicsSim(0),
26 theHitCorrection(0), theHBHEDigitizer(0), theHODigitizer(0), theHBHEHits(),
27 theHOHits(), thisPhaseShift(0) {
29 produces<HBHEDigiCollection>();
30 produces<HODigiCollection>();
57 edm::LogInfo(
"HcalSim") <<
"HcalTBDigiProducer initialized with doNoise = "
58 << doNoise <<
", doTimeSlew = " << doTimeSlew
98 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer::produce trying to ger SimHit";
100 const std::string subdet(
"HcalHits");
105 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer::produce Collection of SimHit found";
109 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer::produce Hits corrected";
114 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer::produce Empty collection created";
129 edm::LogInfo(
"HcalSim") <<
"HcalTBDigiProducer: HBHE digis : " << hbheResult->size();
131 edm::LogInfo(
"HcalSim") <<
"HcalTBDigiProducer: HO digis : " << hoResult->size();
141 for (edm::PCaloHitContainer::const_iterator hitItr = hits.begin();
142 hitItr != hits.end(); ++hitItr) {
149 edm::LogError(
"HcalSim") <<
"Bad HcalHit subdetector " << subdet;
185 edm::LogInfo(
"HcalSim") <<
"HcalTBDigiProducer update Geometry with "
186 <<
hbheCells.size() <<
" cells in HB/HE and "
187 <<
hoCells.size() <<
" cells in HO";
190 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer: Set DetID's for HB/HE";
192 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer: Set DetID's for HO";
void setPhaseShift(const DetId &detId)
T getParameter(std::string const &) const
void setGeometry(const CaloGeometry *geometry)
geometry needed for time-of-flight
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
T getUntrackedParameter(std::string const &, T const &) const
void sortHits(const edm::PCaloHitContainer &hits)
fills the vectors for each subdetector
std::vector< PCaloHit > PCaloHitContainer
std::vector< DetId > hoCells
virtual const CaloSimParameters & simParameters(const DetId &id) const
CaloHitResponse * theHBHEResponse
HBHEHitFilter theHBHEHitFilter
HODigitizer * theHODigitizer
HcalElectronicsSim * theElectronicsSim
HcalTBDigiProducer(const edm::ParameterSet &ps)
HOHitFilter theHOHitFilter
HcalTBSimParameterMap * theParameterMap
Main class for Parameters in different subdetectors.
const CaloGeometry * theGeometry
void setPhaseShift(const double &thePhaseShift)
setting the phase shift for asynchronous trigger (e.g. test beams)
CaloTDigitizer< HBHEDigitizerTraits > HBHEDigitizer
std::vector< PCaloHit > theHBHEHits
CaloTDigitizer< HODigitizerTraits > HODigitizer
edm::SortedCollection< HODataFrame > HODigiCollection
virtual void produce(edm::Event &e, const edm::EventSetup &c)
CaloVShape * theHcalIntegratedShape
void setHitFilter(const CaloVHitFilter *filter)
if you want to reject hits, for example, from a certain subdetector, set this
Creates electronics signals from hits.
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
void run(MixCollection< PCaloHit > &input, DigiCollection &output)
turns hits into digis
HBHEDigitizer * theHBHEDigitizer
void fillChargeSums(MixCollection< PCaloHit > &hits)
void checkGeometry(const edm::EventSetup &eventSetup)
shaper for Hcal (not for HF)
std::vector< DetId > hbheCells
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< PCaloHit > theHOHits
CaloHitResponse * theHOResponse
HcalHitCorrection * theHitCorrection
void setDbService(const HcalDbService *service)
T const * product() const
HcalAmplifier * theAmplifier
T const * product() const
std::string ecalTBInfoLabel
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
HcalCoderFactory * theCoderFactory
ESHandle< TrackerGeometry > geometry
CaloVShape * theHcalShape
void setHitCorrection(const CaloVHitCorrection *hitCorrection)
If you want to correct hits, for attenuation or delay, set this.
void setDetIds(const std::vector< DetId > &detIds)
virtual ~HcalTBDigiProducer()
edm::SortedCollection< HBHEDataFrame > HBHEDigiCollection
bool syncPhase() const
choice of the ADC time alignment (synchronous for LHC, asynchronous for test beams) ...