11#include <framework/core/Module.h>
12#include <mdst/dataobjects/MCParticle.h>
33 class HerwigLHEWriterModule :
public Module {
36 HerwigLHEWriterModule();
37 virtual ~HerwigLHEWriterModule();
44 virtual void event()
override;
unsigned int m_batchSeed
Batch seed drawn from gRandom in initialize().
std::map< int, EventRecord > m_manifest
global_event_number -> EventRecord
std::string m_workingDir
Resolved working directory path.
virtual void initialize() override
Register required MCParticle StoreArray.
virtual void event() override
Accumulate one event into an LHE file and write its KKMC sidecar.
virtual void terminate() override
Close LHE file and write manifest.txt.
std::ofstream m_lheStream
Output stream to all_events.lhe (open from initialize to terminate).
std::string m_workDir
User-specified working dir; auto-created via mkdtemp if empty.
int m_eventCounter
Counts event() calls.
bool writeLHEEventBlock(const std::vector< MCParticle * > &quarks)
Write one <event>...</event> block to m_lheStream.
bool writeKKMCSidecar(int globalEvtNum)
Write per-event KKMC sidecar file: all MCParticles with momenta + parent links.
double m_showerScale
Maximum shower scale ceiling in GeV (default 11.0).
Abstract base class for different kinds of events.
Per-event record stored for manifest.txt.
std::string sidecarFile
Basename of the KKMC sidecar file.