14 #include "HepMC/GenEvent.h" 24 #include "CLHEP/Random/RandomEngine.h" 40 produces<edm::HepMCProduct>();
41 produces<edm::LHCTransportLinkContainer>();
48 <<
"LHCTransport (HectorProducer) requires the RandomNumberGeneratorService\n" 49 "which is not present in the configuration file. You must add the service\n" 50 "in the configuration file or remove the modules that require it.";
52 edm::LogInfo(
"SimTransportHectorProducer") <<
"Hector is created";
65 if ( engine->name() !=
"TRandom3" ) {
67 <<
"The TRandom3 engine type must be used with HectorProducer, " 68 <<
"Random Number Generator Service not correctly configured!";
82 <<
"Invalid reference to HepMCProduct\n";
88 <<
"HectorTrasported HepMCProduce already exists\n";
112 edm::LogInfo(
"SimTransportHectorProducer") <<
"new HepMC product ";
115 NewProduct->addHepMCData(
evt_ ) ;
119 edm::LogInfo(
"SimTransportHectorProducer") <<
"new LHCTransportLinkContainer ";
122 (*NewCorrespondenceMap).swap(thisLink);
125 for (
unsigned int i = 0;
i < (*NewCorrespondenceMap).size();
i++)
126 LogDebug(
"HectorEventProcessing") <<
"Hector correspondence table: " << (*NewCorrespondenceMap)[
i];
130 edm::LogInfo(
"SimTransportHectorProducer") <<
"produce end ";
T getParameter(std::string const &) const
int m_evtAnalysed
just to count events that have been analysed
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
void beginRun(const edm::Run &r, const edm::EventSetup &c) override
edm::EDGetTokenT< edm::HepMCProduct > m_HepMC
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
HectorProducer(edm::ParameterSet const &p)
virtual CLHEP::HepRandomEngine & getEngine(StreamID const &)=0
Use this engine in event methods.
void endRun(const edm::Run &r, const edm::EventSetup &c) override
void filterD1(TRandom3 *)
void filterFP420(TRandom3 *)
void filterZDC(TRandom3 *)
const HepMC::GenEvent * GetEvent() const
~HectorProducer() override
std::string const & moduleLabel() const
void add(const HepMC::GenEvent *ev, const edm::EventSetup &es)
std::vector< LHCTransportLink > & getCorrespondenceMap()
HepMC::GenEvent * addPartToHepMC(HepMC::GenEvent *event)
StreamID streamID() const
std::vector< LHCTransportLink > LHCTransportLinkContainer
Provenance const * provenance() const
void clearApertureFlags()
void produce(edm::Event &e, const edm::EventSetup &c) override