12#include <mdst/dataobjects/MCParticleGraph.h>
13#include <framework/utilities/ConditionalGaussGenerator.h>
17#include <unordered_map>
49 void kk_init_(
const char*,
const char*,
const char*,
int*,
const char*);
50 void kk_begin_run_(
double*,
double*);
52 void kk_term_(
double*,
double*);
54 void kk_shifttaudecayvtx_();
95 int setup(
const std::string& KKdefaultFileName,
const std::string& tauinputFileName,
const std::string& taudecaytableFileName,
96 const std::string& KKMCOutputFileName);
124 ROOT::Math::XYZVector vertex);
Class implementing n-dimensional random number generator from Gaussian distribution where the first c...
Interface class for using the KKMC generator.
KKGenInterface & operator=(const KKGenInterface &m)=delete
Assignment operator, explicitly deleted.
int simulateEvent(MCParticleGraph &graph, const ConditionalGaussGenerator &lorentzGenerator, ROOT::Math::XYZVector vertex)
Simulate the events.
KKGenInterface()
Constructor.
std::unordered_map< int, int > m_mapPythiaIDtoPDG
Map between PYTHIA id and PDG codes.
void term()
Terminate the generator.
KKGenInterface(const KKGenInterface &m)=delete
Copy constructor, explicitly deleted.
int addParticles2Graph(MCParticleGraph &graph, ROOT::Math::XYZVector vertex)
Add particles to the MCParticleGraph.
~KKGenInterface()
Destructor.
int setup(const std::string &KKdefaultFileName, const std::string &tauinputFileName, const std::string &taudecaytableFileName, const std::string &KKMCOutputFileName)
Setup for KKMC and TAUOLA.
void updateGraphParticle(int, MCParticleGraph::GraphParticle *gParticle, ROOT::Math::XYZVector vertex)
Update the MCParticleGraph.
void set_beam_info(double Ecms0, double Ecms0Spread)
Setup for beams information.
Class to represent Particle data in graph.
Class to build, validate and sort a particle decay chain.
Abstract base class for different kinds of events.
HEPEVT common block of PYTHIA6.
int jmohep[nmxhep][2]
parent particles.
int isthep[nmxhep]
status code.
double vhep[nmxhep][4]
vertex [mm].
int jdahep[nmxhep][2]
childreen particles.
double phep[nmxhep][5]
four-momentum, mass [GeV].
int idhep[nmxhep]
particle ident KF.
int nhep
number of particles.
PYDAT2 common block of PYTHIA6.
int KCHG[4][500]
particle information such as spin, charge...
double VCKM[4][4]
squared CKM matrix elements.
double PARF[2000]
parametrization of dd-uu-ss flavor mixing.
double PMAS[4][500]
particle information such as mass, width...