Belle II Software development
EvtDTopipi0Eta.h
1// Model: EvtDTopipi0Eta
2// This file is an amplitude model for D+ -> pi+ pi0 eta.
3// The model is from the BESIII Collaboration in Phys. Rev. D 110, L111102. DOI:  https://doi.org/10.1103/PhysRevD.110.L111102
4//
5// Permission to include these files in basf2 was generously granted by the BESIII Collaboration.
6//
7// Please cite the original reference for any public/published results where this model was used.
8
9#pragma once
10
11#include <EvtGenBase/EvtDecayProb.hh>
12
13namespace Belle2 {
18
19 class EvtDTopipi0Eta: public EvtDecayProb {
20
21 public:
22 EvtDTopipi0Eta() {}
23 virtual ~EvtDTopipi0Eta();
24
25 std::string getName();
26 EvtDecayBase* clone();
27
28 void init();
29 void initProbMax();
30 void decay(EvtParticle* p);
31
32 private:
33 double calDalEva(double P1[], double P2[], double P3[]);
34 EvtComplex Spin_factor(double P1[], double P2[], double P3[], int spin, int flag, double mass_R, double width_R);
35
36 double dot(double* a1, double* a2);
37 double Qabcs(double sa, double sb, double sc);
38 double barrier(double l, double sa, double sb, double sc, double r, double mass);
39 void calt1(double daug1[], double daug2[], double t1[]);
40 void calt2(double daug1[], double daug2[], double t2[][4]);
41
42 double wid(double mass, double sa, double sb, double sc, double r, int l);
43 EvtComplex propagatorRBW(double mass, double width, double sa, double sb, double sc, double r, int l);
44
45 double h(double m, double q);
46 double dh(double mass, double q0);
47 double f(double mass, double sx, double q0, double q) ;
48 double d(double mass, double q0);
49 EvtComplex propagatorGS(double mass, double width, double sa, double sb, double sc, double r, int l);
50
51 EvtComplex Flatte_rhoab(double sa, double sb, double sc);
52 EvtComplex propagatorFlatte(double mass, double width, double sx, double* sb, double* sc);
53
54 double rho[24];
55 double phi[24];
56 double mrho, ma0;
57 double Grho, Ga0;
58 double mpi, mD, sD, spi, snk, sck, scpi, snpi, seta;
59 double pi;
60 EvtComplex ci;
61 EvtComplex one;
62 int G[4][4];
63 };
64
66} // Belle2 namespace
Abstract base class for different kinds of events.