12#include <mdst/dataobjects/MCParticleGraph.h>
15#include <Math/LorentzRotation.h>
16#include <Math/Vector3D.h>
57 void init(
const std::string& dataPath,
const std::string& userDataFile);
102 ROOT::Math::LorentzRotation boost,
103 bool isVirtual =
false,
bool isInitial =
false);
C++ interface for the FORTRAN 4-fermion final state generator KoralW.
void generateEvent(MCParticleGraph &mcGraph, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost)
Generates one single event.
double m_crossSection
The cross section of the generated KoralW events.
double m_cmsEnergy
CMS Energy = 2*Ebeam [GeV].
static constexpr int m_numXPar
Number of parameters for KoralW.
unsigned int m_seed2
Second seed for the random number generator.
void setCMSEnergy(double cmsEnergy)
Sets the CMS energy.
unsigned int m_seed3
Third seed for the random number generator.
void term()
Terminates the generator.
double m_crossSectionError
The error on the cross section of the generated KoralW events.
void storeParticle(MCParticleGraph &mcGraph, const float *mom, const float *vtx, int pdg, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost, bool isVirtual=false, bool isInitial=false)
Store a single generated particle into the MonteCarlo graph.
double m_XPar[m_numXPar]
Values of parameters for KoralW.
double getCrossSection()
Returns the total cross section of the generated process.
double getCrossSectionError()
Returns the error on the total cross section of the generated process.
unsigned int m_seed1
First seed for the random number generator.
Class to build, validate and sort a particle decay chain.
Abstract base class for different kinds of events.