26#include <generators/evtgen/EvtGenModelRegister.h>
27#include "EvtGenBase/EvtParticle.hh"
28#include "generators/evtgen/models/EvtEtaPrimeDalitz.h"
46 return "ETAPRIME_DALITZ";
66 checkSpinParent(EvtSpinType::SCALAR);
68 checkSpinDaughter(0, EvtSpinType::SCALAR);
69 checkSpinDaughter(1, EvtSpinType::SCALAR);
70 checkSpinDaughter(2, EvtSpinType::SCALAR);
84 const double a = getArg(0);
85 const double b = getArg(1);
86 const double c = getArg(2);
87 const double d = getArg(3);
89 p->initializePhaseSpace(getNDaug(), getDaugs());
91 EvtVector4R mompip = p->getDaug(0)->getP4();
92 EvtVector4R mompim = p->getDaug(1)->getP4();
93 EvtVector4R mometa = p->getDaug(2)->getP4();
95 double m_etaprime = p->mass();
96 double m_eta = p->getDaug(2)->mass();
97 double m_pi = p->getDaug(1)->mass();
100 double deltaM = m_etaprime - 2 * m_pi - m_eta;
105 double Tpip = (mompip.get(0) - m_pi);
106 double Tpim = (mompim.get(0) - m_pi);
107 double Teta = (mometa.get(0) - m_eta);
110 double X =
sqrt(3.) * (Tpip - Tpim) / deltaM;
111 double Y = ((m_eta + 2 * m_pi) / m_pi) * Teta / deltaM - 1. ;
113 double amp2 = 1. + a * Y + b * Y * Y + c * X + d * X * X;
115 EvtComplex amp(
sqrt(amp2), 0.0);
Class for the simulation of the eta' -> pi+ pi- eta and pi0 pi0 eta decays.
EvtEtaPrimeDalitz()
Default constructor.
void init()
Checks that the number of input parameters are correct:
EvtDecayBase * clone()
Returns a copy of the class object.
void initProbMax()
Sets the Maximum probability for the PHSP reweight.
std::string getName()
Returns the model name: ETAPRIME_DALITZ.
#define B2_EVTGEN_REGISTER_MODEL(classname)
Class to register B2_EVTGEN_REGISTER_MODEL.
double sqrt(double a)
sqrt for double
virtual ~EvtEtaPrimeDalitz()
Default destructor.
void decay(EvtParticle *p)
Function that implements the energy-dependent Dalitz.
Abstract base class for different kinds of events.