23#include <generators/evtgen/EvtGenModelRegister.h>
24#include "EvtGenBase/EvtParticle.hh"
25#include "EvtGenBase/EvtPDL.hh"
26#include "generators/evtgen/models/EvtEtaPi0Dalitz.h"
44 return "ETA_PI0DALITZ";
64 checkSpinParent(EvtSpinType::SCALAR);
66 checkSpinDaughter(0, EvtSpinType::SCALAR);
67 checkSpinDaughter(1, EvtSpinType::SCALAR);
68 checkSpinDaughter(2, EvtSpinType::SCALAR);
82 const double alpha = getArg(0);
84 p->initializePhaseSpace(getNDaug(), getDaugs());
86 EvtVector4R mompi0_0 = p->getDaug(0)->getP4();
87 EvtVector4R mompi0_1 = p->getDaug(1)->getP4();
88 EvtVector4R mompi0_2 = p->getDaug(2)->getP4();
90 double m_eta = p->mass();
91 double m_pi0 = p->getDaug(0)->mass();
92 double deltaM = m_eta - 3 * m_pi0;
95 double z0 = (3 * mompi0_0.get(0) - m_eta) / deltaM;
96 double z1 = (3 * mompi0_1.get(0) - m_eta) / deltaM;
97 double z2 = (3 * mompi0_2.get(0) - m_eta) / deltaM;
99 double z = (2. / 3.) * (z0 * z0 + z1 * z1 + z2 * z2) ;
101 double Amp2 = 1.0 + alpha * 2.0 * z;
105 EvtComplex amp(
sqrt(Amp2), 0.);
Class for the simulation of the eta -> 3pi0 and eta'->3pi0 decays.
EvtEtaPi0Dalitz()
Default constructor.
void init()
Checks that the number of input parameters are correct:
virtual ~EvtEtaPi0Dalitz()
Default destructor.
EvtDecayBase * clone()
Makes a copy of the class object.
void initProbMax()
Sets the Maximum probability for the PHSP reweight.
std::string getName()
Returns the name of the model: ETA_PI0DALITZ.
#define B2_EVTGEN_REGISTER_MODEL(classname)
Class to register B2_EVTGEN_REGISTER_MODEL.
double sqrt(double a)
sqrt for double
void decay(EvtParticle *p)
Function that implements the energy-dependent Dalitz.
Abstract base class for different kinds of events.