BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtDsToKpPipPimPi0 Class Reference

#include <EvtDsToKpPipPimPi0.hh>

+ Inheritance diagram for EvtDsToKpPipPimPi0:

Public Member Functions

 EvtDsToKpPipPimPi0 ()
 
virtual ~EvtDsToKpPipPimPi0 ()
 
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 9 of file EvtDsToKpPipPimPi0.hh.

Constructor & Destructor Documentation

◆ EvtDsToKpPipPimPi0()

EvtDsToKpPipPimPi0::EvtDsToKpPipPimPi0 ( )
inline

Definition at line 13 of file EvtDsToKpPipPimPi0.hh.

13{}

Referenced by clone().

◆ ~EvtDsToKpPipPimPi0()

EvtDsToKpPipPimPi0::~EvtDsToKpPipPimPi0 ( )
virtual

Definition at line 37 of file EvtDsToKpPipPimPi0.cc.

37{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDsToKpPipPimPi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 43 of file EvtDsToKpPipPimPi0.cc.

43 {
44 return new EvtDsToKpPipPimPi0;
45}

◆ decay()

void EvtDsToKpPipPimPi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 161 of file EvtDsToKpPipPimPi0.cc.

161 {
162//--------------max
163
164/* double maxprob=0,maxq1270;
165 for(int ir=0;ir<=60000000;ir++){
166 p->initializePhaseSpace(getNDaug(),getDaugs());
167 EvtVector4R _kp = p->getDaug(0)->getP4();
168 EvtVector4R _pip = p->getDaug(1)->getP4();
169 EvtVector4R _pim = p->getDaug(2)->getP4();
170 EvtVector4R _pi0 = p->getDaug(3)->getP4();
171
172 double _Pip[4],_Pim[4],_Pi0[4],_Kp[4];
173 _Kp[0] = _kp.get(0); _Pip[0] = _pip.get(0); _Pim[0] = _pim.get(0); _Pi0[0] = _pi0.get(0);
174 _Kp[1] = _kp.get(1); _Pip[1] = _pip.get(1); _Pim[1] = _pim.get(1); _Pi0[1] = _pi0.get(1);
175 _Kp[2] = _kp.get(2); _Pip[2] = _pip.get(2); _Pim[2] = _pim.get(2); _Pi0[2] = _pi0.get(2);
176 _Kp[3] = _kp.get(3); _Pip[3] = _pip.get(3); _Pim[3] = _pim.get(3); _Pi0[3] = _pi0.get(3);
177
178 double _prob;
179 double value,q1270;
180 int nstates=11;
181 int modetype[11]= {1,1,2,10,12,11,16,17,14,2,15};
182 int g0[11] = {1,1,1,1,1,1,1,1,1,0,0};
183 int g1[11] = {1,1,1,1,1,1,1,1,1,1,0};
184 int g2[11] = {0,1,1,0,0,0,0,0,1,0,0};
185 double mass1[11] = {mKst0,mKst0,mKstp,mK1270,mKstp,mKst0,mA1,mA1,mOmega,mKst0,mKst0};
186 double mass2[11] = {mrho,mrho,mrho0,mrho,mK1400,mK1400,mrho,mrho,mrho,mrho,mrho};
187 double width1[11] = {GKst0,GKst0,GKstp,GK1270,GKstp,GKst0,GA1,GA1,GOmega,GKst0,GKst0};
188 double width2[11] = {Grho,Grho,Grho0,Grho,GK1400,GK1400,Grho,Grho,Grho,mrho,mrho};
189
190 // calEvaMy(_Kp,_Pip,_Pim,_Pi0,mass1,mass2,width1,width2,rho,phi,g0,g1,g2,modetype,nstates,_prob);
191 calEvaMy(_Kp,_Pip,_Pim,_Pi0,mass1,mass2,width1,width2,rho,phi,g0,g1,g2,modetype,nstates,_prob,q1270);
192
193 if(_prob>maxprob) {
194 maxprob=_prob;
195 maxq1270=q1270;
196 printf("ir = %d,maxprob = %.10f,prob = %.10f,q1270 = %.10f\n\n",ir,maxprob,_prob,maxq1270);
197// cout<<"mm: "<<_Kp[0]<<" "<<_Pip[0]<<" "<<_Pim[0]<<" "<<_Pi0[0]<<endl;
198// cout<<"mm: "<<_Kp[1]<<" "<<_Pip[1]<<" "<<_Pim[1]<<" "<<_Pi0[1]<<endl;
199// cout<<"mm: "<<_Kp[2]<<" "<<_Pip[2]<<" "<<_Pim[2]<<" "<<_Pi0[2]<<endl;
200// cout<<"mm: "<<_Kp[3]<<" "<<_Pip[3]<<" "<<_Pim[3]<<" "<<_Pi0[3]<<endl;
201 }
202 }
203 printf("maxprob = %.10f\n", maxprob);
204*/
205
207 EvtVector4R kp = p->getDaug(0)->getP4();
208 EvtVector4R pip = p->getDaug(1)->getP4();
209 EvtVector4R pim = p->getDaug(2)->getP4();
210 EvtVector4R pi0 = p->getDaug(3)->getP4();
211
212 double Pip[4],Pim[4],Kp[4],Pi0[4];
213
214 //----------------------------------------------------------------------------------------
215 Kp[0] = kp.get(0); Pip[0] = pip.get(0); Pim[0] = pim.get(0);Pi0[0] = pi0.get(0);
216 Kp[1] = kp.get(1); Pip[1] = pip.get(1); Pim[1] = pim.get(1);Pi0[1] = pi0.get(1);
217 Kp[2] = kp.get(2); Pip[2] = pip.get(2); Pim[2] = pim.get(2);Pi0[2] = pi0.get(2);
218 Kp[3] = kp.get(3); Pip[3] = pip.get(3); Pim[3] = pim.get(3);Pi0[3] = pi0.get(3);
219 //---------------------------------------------------------------------------------------
220 double value,q1270;
221 int nstates=11;
222 int modetype[11]= {1,1,2,10,12,11,16,17,14,2,15};
223 int g0[11] = {1,1,1,1,1,1,1,1,1,0,0};
224 int g1[11] = {1,1,1,1,1,1,1,1,1,1,0};
225 int g2[11] = {0,1,1,0,0,0,0,0,1,0,0};
226 double mass1[11] = {mKst0,mKst0,mKstp,mK1270,mKstp,mKst0,mA1,mA1,mOmega,mKst0,mKst0};
227 double mass2[11] = {mrho,mrho,mrho0,mrho,mK1400,mK1400,mrho,mrho,mrho,mrho,mrho};
228 double width1[11] = {GKst0,GKst0,GKstp,GK1270,GKstp,GKst0,GA1,GA1,GOmega,GKst0,GKst0};
229 double width2[11] = {Grho,Grho,Grho0,Grho,GK1400,GK1400,Grho,Grho,Grho,mrho,mrho};
230
231 calEvaMy(Kp,Pip,Pim,Pi0,mass1,mass2,width1,width2,rho,phi,g0,g1,g2,modetype,nstates,value,q1270);
232 setProb(value);
233 return;
234}
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
const double Grho
Definition TConstant.h:12

◆ getName()

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

Implements EvtDecayBase.

Definition at line 39 of file EvtDsToKpPipPimPi0.cc.

39 {
40 model_name="DsToKpPipPimPi0";
41}

◆ init()

void EvtDsToKpPipPimPi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 47 of file EvtDsToKpPipPimPi0.cc.

47 {
48 // check that there are 0 arguments
49 checkNArg(0);
50 checkNDaug(4);
51
57
58 int mode = 0;
59 phi[1] = -4.1936e+00;
60 phi[2] = 2.4056e+00;
61 phi[3] = 1.8102e+00;
62 phi[4] = -1.6106e+00;
63 phi[5] = -1.6106e+00;
64 phi[6] = 5.1214e+00;
65 phi[7] = 5.1214e+00;
66 phi[8] = 6.0675e-01;
67 phi[9] = -5.2450e+00;
68 phi[10]= -2.8735e+00;
69
70 rho[1] = 1.0981e+00;
71 rho[2] = 4.6322e-01;
72 rho[3] = 1.3138e+00;
73 rho[4] = 1.2709e+00;
74 rho[5] = 1.2709e+00;
75 rho[6] = 1.2953e+00;
76 rho[7] = 1.2953e+00;
77 rho[8] = 2.3583e+00;
78 rho[9] = 7.8907e+00;
79 rho[10]= 6.5982e-01;
80
81 phi[0] = 0;
82 rho[0] = 1;
83 mDsM = 1.9683;
84
85//------------------------new----------------------
86 mKst0 = 0.89555;
87 mKstp = 0.89166;
88 mrho = 0.7751;
89 mrho0 = 0.7753;
90 mK1270 = 1.289;
91 mK1400 = 1.403;
92 mK1650 = 1.672;
93 mOmega = 0.78266;
94 mA1 = 1.230;
95
96 GKst0 = 0.0473;
97 GKstp = 0.0508;
98 Grho = 0.1491;
99 Grho0 = 0.1478;
100 GK1270 = 0.116;
101 GK1400 = 0.174;
102 GK1650 = 0.158;
103 GOmega = 0.00868;
104 GA1 = 0.42;
105
106 //cout << "DsToKpPipPimPi0 :" << endl;
107 //for (int i=0; i<10; i++) {
108 // cout << i << " rho= " << rho[i] << " phi= " << phi[i] << endl;
109 //}
110
111 mass_Pion = 0.13957;
112 mass_Pion_N = 0.134977;
113 mass_Eta = 0.547862;
114 mass_Kaon = 0.493677;
115 math_pi = 3.1415926;
116
117 rD2 = 5.0; // 5*5
118 rRes1 = 3.0; // 3*3
119 rRes2 = 9.0; // 3*3
120
121 GS1 = 0.636619783;
122 GS2 = 0.01860182466;
123 GS3 = 0.1591549458; // 1/(2*math_2pi)
124 GS4 = 0.00620060822; // mass_Pion2/math_pi
125
126 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
127 int EE[4][4][4][4] =
128 { { {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
129 {{0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,-1,0}},
130 {{0,0,0,0}, {0,0,0,-1}, {0,0,0,0}, {0,1,0,0} },
131 {{0,0,0,0}, {0,0,1,0}, {0,-1,0,0}, {0,0,0,0} } },
132 { {{0,0,0,0}, {0,0,0,0}, {0,0,0,-1}, {0,0,1,0} },
133 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
134 {{0,0,0,1}, {0,0,0,0}, {0,0,0,0}, {-1,0,0,0}},
135 {{0,0,-1,0}, {0,0,0,0}, {1,0,0,0}, {0,0,0,0} } },
136 { {{0,0,0,0}, {0,0,0,1}, {0,0,0,0}, {0,-1,0,0}},
137 {{0,0,0,-1}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0} },
138 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
139 {{0,1,0,0}, {-1,0,0,0}, {0,0,0,0}, {0,0,0,0} } },
140 { {{0,0,0,0}, {0,0,-1,0}, {0,1,0,0}, {0,0,0,0} },
141 {{0,0,1,0}, {0,0,0,0}, {-1,0,0,0}, {0,0,0,0} },
142 {{0,-1,0,0}, {1,0,0,0}, {0,0,0,0}, {0,0,0,0} },
143 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} } } };
144 for (int i=0; i<4; i++) {
145 for (int j=0; j<4; j++) {
146 G[i][j] = GG[i][j];
147 for (int k=0; k<4; k++) {
148 for (int l=0; l<4; l++) {
149 E[i][j][k][l] = EE[i][j][k][l];
150 }
151 }
152 }
153 }
154}
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 EvtDsToKpPipPimPi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 157 of file EvtDsToKpPipPimPi0.cc.

157 {
158 setProbMax(130000);
159}
void setProbMax(double prbmx)

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