|
|
Go to the documentation of this file.
23 magfield_Token = esConsumes<MagneticField, IdealMagneticFieldRecord>();
24 pdt_Token = esConsumes<ParticleDataTable, edm::DefaultRecord>();
25 produces<CSCWireDigiCollection>(
"MuonCSCWireDigi");
26 produces<CSCStripDigiCollection>(
"MuonCSCStripDigi");
27 produces<CSCComparatorDigiCollection>(
"MuonCSCComparatorDigi");
28 produces<DigiSimLinks>(
"MuonCSCWireDigiSimLinks");
29 produces<DigiSimLinks>(
"MuonCSCStripDigiSimLinks");
44 throw cms::Exception(
"Configuration") <<
"CSCDigitizer requires the RandomNumberGeneratorService\n"
45 "which is not present in the configuration file. You must add the "
47 "in the configuration file or remove the modules that require it.";
58 edm::LogVerbatim(
"CSCDigitizer") <<
"[CSCDigiProducer::produce] starting event " <<
ev.id().event() <<
" of run "
61 CLHEP::HepRandomEngine *engine = &rng->
getEngine(
ev.streamID());
73 std::unique_ptr<DigiSimLinks> pWireDigiSimLinks(
new DigiSimLinks());
74 std::unique_ptr<DigiSimLinks> pStripDigiSimLinks(
new DigiSimLinks());
77 if (
hits->size() > 0) {
98 *
hits, *pWireDigis, *pStripDigis, *pComparatorDigis, *pWireDigiSimLinks, *pStripDigiSimLinks, engine);
103 ev.put(
std::move(pStripDigis),
"MuonCSCStripDigi");
104 ev.put(
std::move(pComparatorDigis),
"MuonCSCComparatorDigi");
105 ev.put(
std::move(pWireDigiSimLinks),
"MuonCSCWireDigiSimLinks");
106 ev.put(
std::move(pStripDigiSimLinks),
"MuonCSCStripDigiSimLinks");
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > geom_Token
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
T const * product() const
void setMagneticField(const MagneticField *field)
sets the magnetic field
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magfield_Token
~CSCDigiProducer() override
void doAction(MixCollection< PSimHit > &simHits, CSCWireDigiCollection &wireDigis, CSCStripDigiCollection &stripDigis, CSCComparatorDigiCollection &comparators, DigiSimLinks &wireDigiSimLinks, DigiSimLinks &stripDigiSimLinks, CLHEP::HepRandomEngine *)
void setGeometry(const CSCGeometry *geom)
sets geometry
MuonDigiCollection< CSCDetId, CSCStripDigi > CSCStripDigiCollection
void setStripConditions(CSCStripConditions *cond)
MuonDigiCollection< CSCDetId, CSCComparatorDigi > CSCComparatorDigiCollection
edm::ESGetToken< ParticleDataTable, edm::DefaultRecord > pdt_Token
CSCStripConditions * theStripConditions
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
bool getData(T &iHolder) const
virtual void initializeEvent(const edm::EventSetup &es)
MuonDigiCollection< CSCDetId, CSCWireDigi > CSCWireDigiCollection
void produce(edm::Event &e, const edm::EventSetup &c) override
Log< level::Info, true > LogVerbatim
T getParameter(std::string const &) const
CSCDigiProducer(const edm::ParameterSet &ps)
edm::EDGetTokenT< CrossingFrame< PSimHit > > cf_token
CSCDigitizer::DigiSimLinks DigiSimLinks
CSCDigitizer theDigitizer
void setParticleDataTable(const ParticleDataTable *pdt)