BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtDsToKSKpPipPim Class Reference

#include <EvtDsToKSKpPipPim.hh>

Inheritance diagram for EvtDsToKSKpPipPim:

Public Member Functions

 EvtDsToKSKpPipPim ()
virtual ~EvtDsToKSKpPipPim ()
void getName (std::string &name)
EvtDecayBaseclone ()
void init ()
void initProbMax ()
void decay (EvtParticle *p)
Public Member Functions inherited from EvtDecayProb
void makeDecay (EvtParticle *p)
void setProb (double prob)
double getProb ()
void setWeight (double weight)
virtual ~EvtDecayProb ()
Public Member Functions inherited from EvtDecayBase
virtual std::string commandName ()
virtual void command (std::string cmd)
double getProbMax (double prob)
double resetProbMax (double prob)
 EvtDecayBase ()
virtual ~EvtDecayBase ()
virtual bool matchingDecay (const EvtDecayBase &other) const
EvtId getParentId ()
double getBranchingFraction ()
void disableCheckQ ()
void checkQ ()
int getNDaug ()
EvtIdgetDaugs ()
EvtId getDaug (int i)
int getNArg ()
int getPHOTOS ()
void setPHOTOS ()
void setVerbose ()
void setSummary ()
double * getArgs ()
std::string * getArgsStr ()
double getArg (int j)
std::string getArgStr (int j)
std::string getModelName ()
int getDSum ()
int summary ()
int verbose ()
void saveDecayInfo (EvtId ipar, int ndaug, EvtId *daug, int narg, std::vector< std::string > &args, std::string name, double brfr)
void printSummary ()
void setProbMax (double prbmx)
void noProbMax ()
void checkNArg (int a1, int a2=-1, int a3=-1, int a4=-1)
void checkNDaug (int d1, int d2=-1)
void checkSpinParent (EvtSpinType::spintype sp)
void checkSpinDaughter (int d1, EvtSpinType::spintype sp)
virtual int nRealDaughters ()

Additional Inherited Members

Static Public Member Functions inherited from EvtDecayBase
static void findMasses (EvtParticle *p, int ndaugs, EvtId daugs[10], double masses[10])
static void findMass (EvtParticle *p)
static double findMaxMass (EvtParticle *p)
Protected Member Functions inherited from EvtDecayBase
bool daugsDecayedByParentModel ()
Protected Attributes inherited from EvtDecayBase
bool _daugsDecayedByParentModel

Detailed Description

Definition at line 8 of file EvtDsToKSKpPipPim.hh.

Constructor & Destructor Documentation

◆ EvtDsToKSKpPipPim()

EvtDsToKSKpPipPim::EvtDsToKSKpPipPim ( )
inline

Definition at line 11 of file EvtDsToKSKpPipPim.hh.

11{}

Referenced by clone().

◆ ~EvtDsToKSKpPipPim()

EvtDsToKSKpPipPim::~EvtDsToKSKpPipPim ( )
virtual

Definition at line 33 of file EvtDsToKSKpPipPim.cc.

33{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDsToKSKpPipPim::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 37 of file EvtDsToKSKpPipPim.cc.

37{ return new EvtDsToKSKpPipPim; }

◆ decay()

void EvtDsToKSKpPipPim::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 150 of file EvtDsToKSKpPipPim.cc.

150 {
151 /*
152 double maxprob=0;
153 for(int ir=0;ir<=60000000;ir++){
154 p->initializePhaseSpace(getNDaug(),getDaugs());
155 EvtVector4R _ks = p->getDaug(0)->getP4();
156 EvtVector4R _kp = p->getDaug(1)->getP4();
157 EvtVector4R _pip = p->getDaug(2)->getP4();
158 EvtVector4R _pim = p->getDaug(3)->getP4();
159
160 double _Pip[4],_Pim[4],_Ks[4],_Kp[4];
161 _Ks[0] = _ks.get(0); _Kp[0] = _kp.get(0); _Pip[0] = _pip.get(0); _Pim[0] =
162 _pim.get(0); _Ks[1] = _ks.get(1); _Kp[1] = _kp.get(1); _Pip[1] = _pip.get(1); _Pim[1] =
163 _pim.get(1); _Ks[2] = _ks.get(2); _Kp[2] = _kp.get(2); _Pip[2] = _pip.get(2); _Pim[2] =
164 _pim.get(2); _Ks[3] = _ks.get(3); _Kp[3] = _kp.get(3); _Pip[3] = _pip.get(3); _Pim[3] =
165 _pim.get(3);
166
167 double _prob;
168 int g0[8]={1,1,1,1,1,1,1,1};
169 int nstates=10;
170
171 calEvaMy(_Ks, _Kp, _Pip, _Pim, mass, width, rho, phi, g0, modetype, nstates,
172 _prob); if(_prob>maxprob) { maxprob=_prob; printf("ir = %d,maxprob = %.10f,prob =
173 %.10f\n\n",ir,maxprob,_prob);
174 }
175 }
176 printf("maxprob = %.10f\n", maxprob);
177 */
179 EvtVector4R ks = p->getDaug( 0 )->getP4();
180 EvtVector4R kp = p->getDaug( 1 )->getP4();
181 EvtVector4R pip = p->getDaug( 2 )->getP4();
182 EvtVector4R pim = p->getDaug( 3 )->getP4();
183
184 double Pip[4], Pim[4], Kp[4], Ks[4];
185 Ks[0] = ks.get( 0 );
186 Kp[0] = kp.get( 0 );
187 Pip[0] = pip.get( 0 );
188 Pim[0] = pim.get( 0 );
189 Ks[1] = ks.get( 1 );
190 Kp[1] = kp.get( 1 );
191 Pip[1] = pip.get( 1 );
192 Pim[1] = pim.get( 1 );
193 Ks[2] = ks.get( 2 );
194 Kp[2] = kp.get( 2 );
195 Pip[2] = pip.get( 2 );
196 Pim[2] = pim.get( 2 );
197 Ks[3] = ks.get( 3 );
198 Kp[3] = kp.get( 3 );
199 Pip[3] = pip.get( 3 );
200 Pim[3] = pim.get( 3 );
201
202 // Ks[0] = 0.6096125554; Ks[1] = 0.2036145752; Ks[2] = -0.2256821642; Ks[3] =
203 // 0.1884652565; Kp[0] = 0.7106732604; Kp[1] = -0.2599714599; Kp[2] = 0.3643877399;
204 // Kp[3] = 0.2469330230; Pip[0] = 0.4177584141; Pip[1] = -0.0562004660; Pip[2] =
205 // 0.2821155804; Pip[3] =-0.0020089709; Pim[0] = 0.3945120988; Pim[1] = -0.1225632042;
206 // Pim[2] = -0.3645928242; Pim[3] = 0.0521817527;
207
208 // Ks[0] = 0.6439438863; Ks[1] = 0.3368405824; Ks[2] = 0.2308441601; Ks[3] = 0.0171298406;
209 // Kp[0] = 0.7146391007; Kp[1] = 0.4061832461; Kp[2] = -0.1841669581; Kp[3] = 0.2609401579;
210 // Pip[0] = 0.2817222681; Pip[1] = -0.1005161765;Pip[2] = -0.1172908044;Pip[3] =
211 // -0.1898077097; Pim[0] = 0.3638598699;Pim[1] = -0.3106229764;Pim[2] = 0.0905020525;Pim[3] =
212 // 0.0907574503;
213
214 double value;
215 int g0[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
216 int nstates = 8;
217
218 calEvaMy( Ks, Kp, Pip, Pim, mass, width, rho, phi, g0, modetype, nstates, value );
219 setProb( value );
220
221 return;
222}
EvtId * getDaugs()
void setProb(double prob)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
double get(int i) const

◆ getName()

void EvtDsToKSKpPipPim::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 35 of file EvtDsToKSKpPipPim.cc.

35{ model_name = "DsToKSKpPipPim"; }

◆ init()

void EvtDsToKSKpPipPim::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 39 of file EvtDsToKSKpPipPim.cc.

39 {
40 // check that there are 0 arguments
41 checkNArg( 0 );
42 checkNDaug( 4 );
43
49
50 int mode = 0;
51 phi[1] = -3.1173e-03;
52 phi[2] = 5.6119e+00;
53 phi[3] = -7.0591e-01;
54 phi[4] = -3.1220e+00;
55 phi[5] = 3.5914e+00;
56 phi[6] = 3.8510e+00;
57 phi[7] = -1.0830e+00;
58
59 rho[1] = 1.8516e+00;
60 rho[2] = 2.8585e+00;
61 rho[3] = 1.1065e+00;
62 rho[4] = 5.4084e-01;
63 rho[5] = 1.3816e+00;
64 rho[6] = 1.9177e+00;
65 rho[7] = 2.2119e+00;
66 modetype[0] = 7;
67 modetype[1] = 4;
68 modetype[2] = 3;
69 modetype[3] = 15;
70 modetype[4] = 8;
71 modetype[5] = 11;
72 modetype[6] = 12;
73 modetype[7] = 17;
74 phi[0] = 0;
75 rho[0] = 1;
76
77 // cout << "DsToKSKpPipPim :" << endl;
78 // for (int i=0; i<8; i++) {
79 // cout << i << " rho= " << rho[i] << " phi= " << phi[i] << endl;
80 // }
81
82 mD = 1.86486;
83 metap = 0.95778;
84 mk0 = 0.497614;
85 mass_Kaon = 0.49368;
86 mass_Eta = 0.547862;
87 mass_Pion = 0.13957;
88 math_pi = 3.1415926;
89 mass_Pion2 = 0.0194797849;
90 mass_2Pion = 0.27914;
91 math_2pi = 6.2831852;
92
93 rD2 = 25.0;
94 rRes2 = 9.0;
95 GK1270 = 8.7000e-02;
96 GK1400 = 1.7400e-01;
97 GKst0 = 4.7300e-02;
98 GKstp = 5.0300e-02;
99 GP1680 = 1.5000e-01;
100 GRho = 1.4780e-01;
101 Ga0_980 = 5.0000e-02;
102 Geta1475 = 9.0000e-02;
103 mK1270 = 1.2720e+00;
104 mK1400 = 1.4030e+00;
105 mKst0 = 8.9555e-01;
106 mKstp = 8.9176e-01;
107 mP1680 = 1.6800e+00;
108 mRho = 7.7526e-01;
109 ma0_980 = 9.9000e-01;
110 meta1475 = 1.4750e+00;
111
112 GS1 = 0.636619783;
113 GS2 = 0.01860182466;
114 GS3 = 0.1591549458; // 1/(2*math_2pi)
115 GS4 = 0.00620060822; // mass_Pion2/math_pi
116
117 int GG[4][4] = { { 1, 0, 0, 0 }, { 0, -1, 0, 0 }, { 0, 0, -1, 0 }, { 0, 0, 0, -1 } };
118 int EE[4][4][4][4] = {
119 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
120 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, -1, 0 } },
121 { { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 1, 0, 0 } },
122 { { 0, 0, 0, 0 }, { 0, 0, 1, 0 }, { 0, -1, 0, 0 }, { 0, 0, 0, 0 } } },
123 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 1, 0 } },
124 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
125 { { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 } },
126 { { 0, 0, -1, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 } } },
127 { { { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, -1, 0, 0 } },
128 { { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 } },
129 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
130 { { 0, 1, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } },
131 { { { 0, 0, 0, 0 }, { 0, 0, -1, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 0 } },
132 { { 0, 0, 1, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 } },
133 { { 0, -1, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
134 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } } };
135 for ( int i = 0; i < 4; i++ )
136 {
137 for ( int j = 0; j < 4; j++ )
138 {
139 G[i][j] = GG[i][j];
140 for ( int k = 0; k < 4; k++ )
141 {
142 for ( int l = 0; l < 4; l++ ) { E[i][j][k][l] = EE[i][j][k][l]; }
143 }
144 }
145 }
146}
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)

◆ initProbMax()

void EvtDsToKSKpPipPim::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 148 of file EvtDsToKSKpPipPim.cc.

148{ setProbMax( 824000 ); }
void setProbMax(double prbmx)

The documentation for this class was generated from the following files: