|
|
Go to the documentation of this file.
29 theHBHEResponse(new
CaloHitResponse(theParameterMap, theHcalIntegratedShape)),
30 theHOResponse(new
CaloHitResponse(theParameterMap, theHcalIntegratedShape)),
31 theAmplifier(nullptr),
32 theCoderFactory(nullptr),
33 theElectronicsSim(nullptr),
34 theTimeSlewSim(nullptr),
35 theHBHEDigitizer(nullptr),
36 theHODigitizer(nullptr),
146 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer::accumulate trying to get SimHit";
148 if (hcalHandle.isValid()) {
149 std::vector<PCaloHit>
hits = *hcalHandle.product();
150 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer::accumulate Hits corrected";
161 e.getByLabel(hcalTag, hcalHandle);
173 e.getByLabel(hcalTag, hcalHandle);
182 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer::produce Empty collection created";
185 edm::LogInfo(
"HcalSim") <<
"HcalTBDigiProducer: HBHE digis : " << hbheResult->size();
187 edm::LogInfo(
"HcalSim") <<
"HcalTBDigiProducer: HO digis : " << hoResult->size();
198 for (edm::PCaloHitContainer::const_iterator hitItr =
hits.begin(); hitItr !=
hits.end(); ++hitItr) {
205 edm::LogError(
"HcalSim") <<
"Bad HcalHit subdetector " << subdet;
239 edm::LogInfo(
"HcalSim") <<
"HcalTBDigiProducer update Geometry with " <<
hbheCells.size() <<
" cells in HB/HE and "
240 <<
hoCells.size() <<
" cells in HO";
243 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer: Set DetID's for HB/HE";
245 LogDebug(
"HcalSim") <<
"HcalTBDigiProducer: Set DetID's for HO";
void add(const std::vector< PCaloHit > &hits, int bunchCrossing, CLHEP::HepRandomEngine *engine)
std::vector< DetId > hoCells
HcalElectronicsSim * theElectronicsSim
T const * product() const
double phaseShift() const
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
ESHandle< TrackerGeometry > geometry
std::vector< PCaloHit > theHBHEHits
HcalTimeSlewSim * theTimeSlewSim
HcalTBSimParameterMap * theParameterMap
HOHitFilter theHOHitFilter
CaloHitResponse * theHBHEResponse
const HcalTimeSlew * hcalTimeSlew_delay_
std::vector< PCaloHit > theHOHits
const CaloGeometry * theGeometry
void setDetIds(const std::vector< DetId > &detIds)
void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
T getUntrackedParameter(std::string const &, T const &) const
edm::SortedCollection< HODataFrame > HODigiCollection
HcalTBDigiProducer(const edm::ParameterSet &ps, edm::ProducesCollector, edm::ConsumesCollector &iC)
void setDbService(const HcalDbService *service)
Main class for Parameters in different subdetectors.
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
void setPhaseShift(const double &thePhaseShift)
setting the phase shift for asynchronous trigger (e.g. test beams)
CaloTDigitizer< HODigitizerTraits > HODigitizer
void checkGeometry(const edm::EventSetup &eventSetup)
CaloTDigitizer< HBHEDigitizerTraits > HBHEDigitizer
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
CaloHitResponse * theHOResponse
void setTimeSlew(const HcalTimeSlew *timeSlew)
void setHitFilter(const CaloVHitFilter *filter)
CaloVShape * theHcalIntegratedShape
shaper for Hcal (not for HF)
Creates electronics signals from hits.
HcalCoderFactory * theCoderFactory
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
HODigitizer * theHODigitizer
static PFTauRenderPlugin instance
T getParameter(std::string const &) const
void setTimeSlewSim(HcalTimeSlewSim *timeSlewSim)
std::vector< DetId > hbheCells
CaloVShape * theHcalShape
~HcalTBDigiProducer() override
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
void accumulate(edm::Event const &e, edm::EventSetup const &c) override
std::vector< PCaloHit > PCaloHitContainer
void setPhaseShift(const DetId &detId)
void run(MixCollection< PCaloHit > &, DigiCollection &)
turns hits into digis
void sortHits(const edm::PCaloHitContainer &hits)
fills the vectors for each subdetector
const CaloSimParameters & simParameters(const DetId &id) const override
void accumulateCaloHits(edm::Handle< std::vector< PCaloHit >> const &hits, int bunchCrossing)
edm::SortedCollection< HBHEDataFrame > HBHEDigiCollection
std::string ecalTBInfoLabel
CLHEP::HepRandomEngine * randomEngine_
HcalAmplifier * theAmplifier
HcalSimParameterMap * paraMap
void setGeometry(const CaloGeometry *geometry)
geometry needed for time-of-flight
void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
HBHEHitFilter theHBHEHitFilter
HBHEDigitizer * theHBHEDigitizer
void setDbService(const HcalDbService *service)
the Producer will probably update this every event