|
|
Go to the documentation of this file.
91 produces<edm::HepMCProduct>();
92 produces<edm::LHCTransportLinkContainer>();
97 <<
"LHCTransport (ProtonTransport) requires the RandomNumberGeneratorService\n"
98 "which is not present in the configuration file. You must add the service\n"
99 "in the configuration file or remove the modules that require it.";
123 if (engine->name() !=
"TRandom3") {
124 throw cms::Exception(
"Configuration") <<
"The TRandom3 engine type must be used with ProtonTransport, Random "
125 "Number Generator Service not correctly configured!";
133 throw cms::Exception(
"InvalidReference") <<
"Invalid reference to HepMCProduct\n";
137 throw cms::Exception(
"LogicError") <<
"LHCTrasport HepMCProduce already exists\n";
149 newProduct->addHepMCData(evt);
155 (*NewCorrespondenceMap).swap(thisLink);
158 for (
unsigned int i = 0;
i < (*NewCorrespondenceMap).size();
i++)
159 LogDebug(
"ProtonTransportEventProcessing")
160 <<
"ProtonTransport correspondence table: " << (*NewCorrespondenceMap)[
i];
std::string const & moduleLabel() const
std::string m_transportMethod
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
std::vector< LHCTransportLink > LHCTransportLinkContainer
edm::EDGetTokenT< edm::HepMCProduct > m_InTagToken
void produce(edm::Event &, const edm::EventSetup &) override
PPSSimTrackProducer(const edm::ParameterSet &)
#define DEFINE_FWK_MODULE(type)
void endStream() override
Provenance const * provenance() const
std::vector< LHCTransportLink > & getCorrespondenceMap()
ProtonTransport * theTransporter
const HepMC::GenEvent * GetEvent() const
int m_eventsAnalysed
just to count events that have been analysed
void process(const HepMC::GenEvent *ev, const edm::EventSetup &es, CLHEP::HepRandomEngine *engine)
T getParameter(std::string const &) const
void beginStream(edm::StreamID) override
~PPSSimTrackProducer() override