10#include <generators/modules/koralwinput/KoralWInputModule.h>
13#include <framework/datastore/StoreArray.h>
14#include <framework/logging/Logger.h>
15#include <framework/utilities/FileSystem.h>
17#include <Math/Vector3D.h>
29 setDescription(
"Generates four fermion final state events with KoralW.");
60 B2FATAL(
"KorlalW is not properly initialized.");
64 B2FATAL(
"BeamParameters have changed within a job, this is not supported for KoralW.");
69 ROOT::Math::LorentzRotation boost = initial.
getCMSToLab();
72 ROOT::Math::XYZVector vertex = initial.
getVertex();
This class contains the nominal beam parameters and the parameters used for smearing of the primary v...
static std::string findFile(const std::string &path, bool silent=false)
Search for given file or directory in local or central release directory, and return absolute path if...
The base module for generator modules, which sets the generator information as EventExtraInfo.
const BeamParameters & getBeamParameters() const
Return reference to nominal beam parameters.
void generateEvent(MCParticleGraph &mcGraph, ROOT::Math::XYZVector vertex, ROOT::Math::LorentzRotation boost)
Generates one single event.
void setCMSEnergy(double cmsEnergy)
Sets the CMS energy.
void term()
Terminates the generator.
void init(const std::string &dataPath, const std::string &userDataFile)
Initializes the generator.
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.
This class contains the initial state for the given event.
const ROOT::Math::LorentzRotation & getCMSToLab() const
Return the LorentzRotation to convert from CMS to lab frame.
const ROOT::Math::XYZVector & getVertex() const
Get the position of the collision.
double getMass() const
Get the invariant mass of the collision (= energy in CMS)
@ c_checkCyclic
Check for cyclic dependencies.
@ c_setDecayInfo
Set decay time and vertex.
void generateList(const std::string &name="", int options=c_setNothing)
Generates the MCParticle list and stores it in the StoreArray with the given name.
void setDescription(const std::string &description)
Sets the description of the module.
bool registerInDataStore(DataStore::EStoreFlags storeFlags=DataStore::c_WriteOut)
Register the object/array in the DataStore.
Accessor to arrays stored in the data store.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
void initialize()
function to be executed on initialize()
MCInitialParticles & generate()
Generate a new event.
void clear()
Reset particles and decay information to make the class reusable.
Abstract base class for different kinds of events.