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

#include <EvtDsToKKpipi0.hh>

Inheritance diagram for EvtDsToKKpipi0:

Public Member Functions

 EvtDsToKKpipi0 ()
virtual ~EvtDsToKKpipi0 ()
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 EvtDsToKKpipi0.hh.

Constructor & Destructor Documentation

◆ EvtDsToKKpipi0()

EvtDsToKKpipi0::EvtDsToKKpipi0 ( )
inline

Definition at line 11 of file EvtDsToKKpipi0.hh.

11{}

Referenced by clone().

◆ ~EvtDsToKKpipi0()

EvtDsToKKpipi0::~EvtDsToKKpipi0 ( )
virtual

Definition at line 34 of file EvtDsToKKpipi0.cc.

34{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDsToKKpipi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 38 of file EvtDsToKKpipi0.cc.

38{ return new EvtDsToKKpipi0; }

◆ decay()

void EvtDsToKKpipi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 251 of file EvtDsToKKpipi0.cc.

251 {
252 /*
253 double maxprob = 0.0;
254 for(int ir=0;ir<=60000000;ir++){
255 p->initializePhaseSpace(getNDaug(),getDaugs());
256 EvtVector4R _km = p->getDaug(0)->getP4();
257 EvtVector4R _kp = p->getDaug(1)->getP4();
258 EvtVector4R _pip = p->getDaug(2)->getP4();
259 EvtVector4R _pi0 = p->getDaug(3)->getP4();
260
261 double _Km[4], _Kp[4], _Pip[4], _Pi0[4];
262 _Km[0] = _km.get(0); _Kp[0] = _kp.get(0); _Pip[0] = _pip.get(0); _Pi0[0] = _pi0.get(0);
263 _Km[1] = _km.get(1); _Kp[1] = _kp.get(1); _Pip[1] = _pip.get(1); _Pi0[1] = _pi0.get(1);
264 _Km[2] = _km.get(2); _Kp[2] = _kp.get(2); _Pip[2] = _pip.get(2); _Pi0[2] = _pi0.get(2);
265 _Km[3] = _km.get(3); _Kp[3] = _kp.get(3); _Pip[3] = _pip.get(3); _Pi0[3] = _pi0.get(3);
266
267 double _prob;
268 int g0[18]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
269 int g1[18]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
270 int g2[18]={0,1,2,0,1,2,0,0,0,0,1,0,0,1,0,0,2,2};
271 int nstates=18;
272 calEvaMy(_Km,_Kp,_Pip,_Pi0,mass1,mass2,width1,width2,rho,phi,g0,g1,g2,modetype,nstates,_prob);
273 if(_prob>maxprob) {
274 maxprob=_prob;
275 cout << "Max PDF = " << ir << " " << _prob << endl;
276 }
277 }
278 cout << "Max!!!!!!!!!!! " << maxprob<< endl;
279 // setProbMax(maxprob);
280 */
282 EvtVector4R km = p->getDaug( 0 )->getP4();
283 EvtVector4R kp = p->getDaug( 1 )->getP4();
284 EvtVector4R pip = p->getDaug( 2 )->getP4();
285 EvtVector4R pi0 = p->getDaug( 3 )->getP4();
286
287 double Km[4], Kp[4], Pip[4], Pi0[4];
288 Km[0] = km.get( 0 );
289 Kp[0] = kp.get( 0 );
290 Pip[0] = pip.get( 0 );
291 Pi0[0] = pi0.get( 0 );
292 Km[1] = km.get( 1 );
293 Kp[1] = kp.get( 1 );
294 Pip[1] = pip.get( 1 );
295 Pi0[1] = pi0.get( 1 );
296 Km[2] = km.get( 2 );
297 Kp[2] = kp.get( 2 );
298 Pip[2] = pip.get( 2 );
299 Pi0[2] = pi0.get( 2 );
300 Km[3] = km.get( 3 );
301 Kp[3] = kp.get( 3 );
302 Pip[3] = pip.get( 3 );
303 Pi0[3] = pi0.get( 3 );
304
305 double prob;
306 int g0[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
307 int g1[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
308 int g2[18] = { 0, 1, 2, 0, 1, 2, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, 2 };
309 int nstates = 18;
310 calEvaMy( Km, Kp, Pip, Pi0, mass1, mass2, width1, width2, rho, phi, g0, g1, g2, modetype,
311 nstates, prob );
312
313 setProb( prob );
314 return;
315}
TF1 * g1
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 EvtDsToKKpipi0::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 36 of file EvtDsToKKpipi0.cc.

36{ model_name = "DsToKKpipi0"; }

◆ init()

void EvtDsToKKpipi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 40 of file EvtDsToKKpipi0.cc.

40 {
41 // check that there are 0 arguments
42 checkNArg( 0 );
43 checkNDaug( 4 );
44
50
51 int mode = 0;
52 //--------------------amp---------------
53 phi[1] = -1.45750737501177241029;
54 phi[2] = 1.45694587813248066510;
55 phi[3] = -2.14539596963664980223;
56 phi[4] = -0.51808334601975225553;
57 phi[5] = -1.56645961468228378521;
58 phi[6] = 1.87207969874086810336;
59 phi[7] = -0.92156758917410819265;
60 phi[8] = -0.92156758917410819265;
61 phi[9] = 0.61333399627627738226;
62 phi[10] = 2.95348100053888362737;
63 phi[11] = 2.12806871473955627749;
64 phi[12] = 2.12806871473955627749;
65
66 phi[13] = 2.14745266587422545257;
67 phi[14] = -0.25044816999225272269;
68 phi[15] = -0.25044816999225272269;
69 phi[16] = 1.52246676387907431405;
70 phi[17] = 1.52246676387907431405;
71 //-------------------phase--------------
72 rho[1] = 0.14853586409145513869;
73 rho[2] = 0.06437581911225187525;
74 rho[3] = 0.63500586659756663721;
75 rho[4] = 0.11892962207932455954;
76 rho[5] = 0.06386739319734147102;
77 rho[6] = 1.72035932015034198628;
78 rho[7] = 0.84266300186759934832;
79 rho[8] = 0.84266300186759934832;
80 rho[9] = 5.52084783967448444741;
81 rho[10] = 1.18304173083694408319;
82 rho[11] = 0.37041606275538363491;
83 rho[12] = 0.37041606275538363491;
84
85 rho[13] = 1.99906320501213841112;
86 rho[14] = 0.28474658039299072243;
87 rho[15] = 0.28474658039299072243;
88 rho[16] = 0.10589240624900675414;
89 rho[17] = 0.10589240624900675414;
90 //--------------------mass---------------------
91 mass1[0] = 1.019461;
92 mass1[1] = 1.019461;
93 mass1[2] = 1.019461;
94 mass2[0] = 0.77511;
95 mass2[1] = 0.77511;
96 mass2[2] = 0.77511;
97 mass2[6] = 0.77511;
98 mass2[13] = 0.77511;
99 //---------------------
100 mass1[3] = 0.89555;
101 mass1[4] = 0.89555;
102 mass1[5] = 0.89555;
103 mass1[7] = 0.89555;
104 mass1[14] = 0.89555;
105 mass1[16] = 0.89555;
106 mass2[3] = 0.89166;
107 mass2[4] = 0.89166;
108 mass2[5] = 0.89166;
109 mass1[12] = 0.89166;
110 //----------------------
111 mass1[6] = 1.272;
112 mass2[14] = 1.272;
113 mass2[15] = 1.272;
114 mass2[16] = 1.272;
115 mass2[17] = 1.272;
116 //-----------------------
117 mass2[7] = 1.403;
118 mass2[8] = 1.403;
119 mass1[8] = 0.89166;
120 mass1[11] = 0.89166;
121 mass1[15] = 0.89166;
122 mass1[17] = 0.89166;
123 //----------------------
124 mass2[9] = 1.475;
125 mass1[9] = 0.99;
126 mass1[10] = 0.99;
127 mass1[13] = 0.99;
128 //---------------------
129 mass2[10] = 1.4263;
130 mass2[11] = 1.4263;
131 mass2[12] = 1.4263;
132 //---------------------width---------------------
133 width1[0] = 0.004249;
134 width1[1] = 0.004249;
135 width1[2] = 0.004249;
136 width2[0] = 0.1491;
137 width2[1] = 0.1491;
138 width2[2] = 0.1491;
139 width2[6] = 0.1491;
140 width2[13] = 0.1491;
141 //----------------------
142 width1[3] = 0.0473;
143 width1[4] = 0.0473;
144 width1[5] = 0.0473;
145 width1[7] = 0.0473;
146 width1[14] = 0.0473;
147 width1[16] = 0.0473;
148 width2[3] = 0.0508;
149 width2[4] = 0.0508;
150 width2[5] = 0.0508;
151 width1[12] = 0.0508;
152 //----------------------
153 width1[6] = 0.087;
154 width2[14] = 0.087;
155 width2[15] = 0.087;
156 width2[16] = 0.087;
157 width2[17] = 0.087;
158 //-----------------------
159 width2[7] = 0.174;
160 width2[8] = 0.174;
161 width1[8] = 0.0508;
162 width1[11] = 0.0508;
163 width1[15] = 0.0508;
164 width1[17] = 0.0508;
165 //------------------------
166 width2[9] = 0.09;
167 width1[9] = 0.08;
168 width1[10] = 0.08;
169 width1[13] = 0.08;
170 //---------------------
171 width2[10] = 0.0545;
172 width2[11] = 0.0545;
173 width2[12] = 0.0545;
174
175 modetype[0] = 1;
176 modetype[1] = 1;
177 modetype[2] = 1;
178 modetype[3] = 2;
179 modetype[4] = 2;
180 modetype[5] = 2;
181 modetype[6] = 4;
182 modetype[7] = 3;
183 modetype[8] = 333;
184 modetype[9] = 30;
185 modetype[10] = 31;
186 modetype[11] = 73;
187 modetype[12] = 731;
188 modetype[13] = 50;
189 modetype[14] = 3;
190 modetype[15] = 333;
191 modetype[16] = 3;
192 modetype[17] = 333;
193
194 phi[0] = 0;
195 rho[0] = 1;
196
197 // cout << "DsToKKpipi0 :" << endl;
198 // for (int i=0; i<18; i++) {
199 // cout << i << " rho= " << rho[i] << " phi= " << phi[i] << " m1= " << mass1[i] << " m2= "
200 // << mass2[i] << " w1= "
201 // << width1[i] << " w2= " << width2[i] << endl;
202 // }
203
204 mass_Pion = 0.13957;
205 mass_Pion_N = 0.134977;
206 mass_Eta = 0.547862;
207 math_pi = 3.1415926;
208 rD2 = 25.0; // 5*5
209 rRes2 = 9.0; // 3*3
210 GS1 = 0.636619783;
211 GS2 = 0.01860182466;
212 GS3 = 0.1591549458; // 1/(2*math_2pi)
213 GS4 = 0.00620060822; // mass_Pion2/math_pi
214
215 int GG[4][4] = { { 1, 0, 0, 0 }, { 0, -1, 0, 0 }, { 0, 0, -1, 0 }, { 0, 0, 0, -1 } };
216 int EE[4][4][4][4] = {
217 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
218 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, -1, 0 } },
219 { { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 1, 0, 0 } },
220 { { 0, 0, 0, 0 }, { 0, 0, 1, 0 }, { 0, -1, 0, 0 }, { 0, 0, 0, 0 } } },
221 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 1, 0 } },
222 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
223 { { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 } },
224 { { 0, 0, -1, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 } } },
225 { { { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, -1, 0, 0 } },
226 { { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 } },
227 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
228 { { 0, 1, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } },
229 { { { 0, 0, 0, 0 }, { 0, 0, -1, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 0 } },
230 { { 0, 0, 1, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 } },
231 { { 0, -1, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
232 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } } };
233 for ( int i = 0; i < 4; i++ )
234 {
235 for ( int j = 0; j < 4; j++ )
236 {
237 G[i][j] = GG[i][j];
238 for ( int k = 0; k < 4; k++ )
239 {
240 for ( int l = 0; l < 4; l++ ) { E[i][j][k][l] = EE[i][j][k][l]; }
241 }
242 }
243 }
244}
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 EvtDsToKKpipi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 246 of file EvtDsToKKpipi0.cc.

246 {
247 // setProbMax(43874577.5);
248 setProbMax( 44000000.0 );
249}
void setProbMax(double prbmx)

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