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

#include <EvtDsToKSKmPipPip.hh>

+ Inheritance diagram for EvtDsToKSKmPipPip:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtDsToKSKmPipPip()

EvtDsToKSKmPipPip::EvtDsToKSKmPipPip ( )
inline

Definition at line 12 of file EvtDsToKSKmPipPip.hh.

12{}

Referenced by clone().

◆ ~EvtDsToKSKmPipPip()

EvtDsToKSKmPipPip::~EvtDsToKSKmPipPip ( )
virtual

Definition at line 33 of file EvtDsToKSKmPipPip.cc.

33{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDsToKSKmPipPip::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 39 of file EvtDsToKSKmPipPip.cc.

39 {
40 return new EvtDsToKSKmPipPip;
41}

◆ decay()

void EvtDsToKSKmPipPip::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 168 of file EvtDsToKSKmPipPip.cc.

168 {
169/*
170 double maxprob=0;
171 for(int ir=0;ir<=60000000;ir++){
172 p->initializePhaseSpace(getNDaug(),getDaugs());
173 EvtVector4R _ks = p->getDaug(0)->getP4();
174 EvtVector4R _km = p->getDaug(1)->getP4();
175 EvtVector4R _pip = p->getDaug(2)->getP4();
176 EvtVector4R _pip2 = p->getDaug(3)->getP4();
177
178 double _Pip[4],_Pip2[4],_Ks[4],_Km[4];
179 _Ks[0] = _ks.get(0); _Km[0] = _km.get(0); _Pip[0] = _pip.get(0); _Pip2[0] = _pip2.get(0);
180 _Ks[1] = _ks.get(1); _Km[1] = _km.get(1); _Pip[1] = _pip.get(1); _Pip2[1] = _pip2.get(1);
181 _Ks[2] = _ks.get(2); _Km[2] = _km.get(2); _Pip[2] = _pip.get(2); _Pip2[2] = _pip2.get(2);
182 _Ks[3] = _ks.get(3); _Km[3] = _km.get(3); _Pip[3] = _pip.get(3); _Pip2[3] = _pip2.get(3);
183
184 double _prob;
185 int g0[11]={1,1,1,1,1,1,1,1,1,1,1};
186 int nstates=11;
187
188 calEvaMy(_Ks, _Km, _Pip, _Pip2, mass, width, rho, phi, g0, modetype, nstates, _prob);
189 if(_prob>maxprob) {
190 maxprob=_prob;
191 printf("ir = %d,maxprob = %.10f,prob = %.10f\n\n",ir,maxprob,_prob);
192 }
193 }
194 printf("maxprob = %.10f\n", maxprob);*/
195
197 EvtVector4R ks = p->getDaug(0)->getP4();
198 EvtVector4R km = p->getDaug(1)->getP4();
199 EvtVector4R pip = p->getDaug(2)->getP4();
200 EvtVector4R pip2= p->getDaug(3)->getP4();
201
202 double Pip[4],Pip2[4],Km[4],Ks[4];
203 Ks[0] = ks.get(0); Km[0] = km.get(0); Pip[0] = pip.get(0); Pip2[0] = pip2.get(0);
204 Ks[1] = ks.get(1); Km[1] = km.get(1); Pip[1] = pip.get(1); Pip2[1] = pip2.get(1);
205 Ks[2] = ks.get(2); Km[2] = km.get(2); Pip[2] = pip.get(2); Pip2[2] = pip2.get(2);
206 Ks[3] = ks.get(3); Km[3] = km.get(3); Pip[3] = pip.get(3); Pip2[3] = pip2.get(3);
207
208 //Ks[0] = 0.6096125554; Ks[1] = 0.2036145752; Ks[2] = -0.2256821642; Ks[3] = 0.1884652565 ;
209 //Km[0] = 0.7106732604; Km[1] = -0.2599714599; Km[2] = 0.3643877399; Km[3] = 0.2469330230 ;
210 //Pip[0] = 0.4177584141; Pip[1] = -0.0562004660; Pip[2] = 0.2821155804; Pip[3] =-0.0020089709 ;
211 //Pip2[0] = 0.3945120988; Pip2[1] = -0.1225632042; Pip2[2] = -0.3645928242; Pip2[3] = 0.0521817527 ;
212
213 //Ks[0] = 0.6439438863; Ks[1] = 0.3368405824; Ks[2] = 0.2308441601; Ks[3] = 0.0171298406;
214 //Km[0] = 0.7146391007; Km[1] = 0.4061832461; Km[2] = -0.1841669581; Km[3] = 0.2609401579;
215 //Pip[0] = 0.2817222681; Pip[1] = -0.1005161765;Pip[2] = -0.1172908044;Pip[3] = -0.1898077097;
216 //Pip2[0] = 0.3638598699;Pip2[1] = -0.3106229764;Pip2[2] = 0.0905020525;Pip2[3] = 0.0907574503;
217
218 double value;
219 int g0[11]={1,1,1,1,1,1,1,1,1,1,1};
220 int nstates=11;
221
222 calEvaMy(Ks,Km,Pip,Pip2,mass,width,rho,phi,g0,modetype,nstates,value);
223 setProb(value);
224
225 return;
226}
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 EvtDsToKSKmPipPip::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 35 of file EvtDsToKSKmPipPip.cc.

35 {
36 model_name="DsToKSKmPipPip";
37}

◆ init()

void EvtDsToKSKmPipPip::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 43 of file EvtDsToKSKmPipPip.cc.

43 {
44 // check that there are 0 arguments
45 checkNArg(0);
46 checkNDaug(4);
47
53
54 int mode = 0;
55 phi[1] = -1.5871e+00;
56 phi[2] = -6.4308e+00;
57 phi[3] = -4.4006e+00;
58 phi[4] = 4.7540e+00;
59 phi[5] = 4.2785e+00;
60 phi[6] = 6.3523e+00;
61 phi[7] = 6.3523e+00;
62 phi[8] = 5.4902e+00;
63 phi[9] = 5.2024e+00;
64 phi[10]= -3.9776e+00;
65
66 rho[1] = 3.6108e-01;
67 rho[2] = 4.5990e-01;
68 rho[3] = 1.7722e+00;
69 rho[4] = 2.1434e+00;
70 rho[5] = 1.2504e+00;
71 rho[6] = 1.0069e+00;
72 rho[7] = 1.0069e+00;
73 rho[8] = 1.7351e+00;
74 rho[9] = 4.1005e+00;
75 rho[10]= 3.7821e+00;
76
77 modetype[0] = 1;
78 modetype[1] = 2;
79 modetype[2] = 3;
80 modetype[3] = 21;
81 modetype[4] = 22;
82 modetype[5] = 8;
83 modetype[6] = 4;
84 modetype[7] = 14;
85 modetype[8] = 17;
86 modetype[9] = 5;
87 modetype[10]= 20;
88
89 phi[0] = 0;
90 rho[0] = 1;
91
92 //cout << "DsToKSKmPipPip :" << endl;
93 //for (int i=0; i<11; i++) {
94 // cout << i << " rho= " << rho[i] << " phi= " << phi[i] << endl;
95 //}
96
97 G1510 = 1.0000e+00;
98 GKst0 = 4.7300e-02;
99 GKstp = 5.0300e-02;
100 Ga0_980 = 5.0000e-02;
101 Geta1475 = 9.0000e-02;
102 Gf1285 = 2.2700e-02;
103 m1510 = 1.6200e+00;
104 mKst0 = 8.9555e-01;
105 mKstp = 8.9176e-01;
106 ma0_980 = 9.9000e-01;
107 meta1475 = 1.4750e+00;
108 mf1285 = 1.2819e+00;
109
110 mD = 1.86486;
111 metap = 0.95778;
112 mk0 = 0.497614;
113 mass_Kaon = 0.49368;
114 mass_Eta = 0.547862;
115 mass_Pion = 0.13957;
116 math_pi = 3.1415926;
117 mass_Pion2 = 0.0194797849;
118 mass_2Pion = 0.27914;
119 math_2pi = 6.2831852;
120 rD2 = 25.0; // 5*5
121 rRes2 = 9.0; // 3*3
122 g1 = 0.5468;
123 g2 = 0.23;
124 GS1 = 0.636619783;
125 GS2 = 0.01860182466;
126 GS3 = 0.1591549458; // 1/(2*math_2pi)
127 GS4 = 0.00620060822; // mass_Pion2/math_pi
128
129 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
130 int EE[4][4][4][4] =
131 { { {{0,0,0,0}, {0,0,0,0}, {0,0,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,-1}, {0,0,0,0}, {0,1,0,0} },
134 {{0,0,0,0}, {0,0,1,0}, {0,-1,0,0}, {0,0,0,0} } },
135 { {{0,0,0,0}, {0,0,0,0}, {0,0,0,-1}, {0,0,1,0} },
136 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
137 {{0,0,0,1}, {0,0,0,0}, {0,0,0,0}, {-1,0,0,0}},
138 {{0,0,-1,0}, {0,0,0,0}, {1,0,0,0}, {0,0,0,0} } },
139 { {{0,0,0,0}, {0,0,0,1}, {0,0,0,0}, {0,-1,0,0}},
140 {{0,0,0,-1}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0} },
141 {{0,0,0,0}, {0,0,0,0}, {0,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,-1,0}, {0,1,0,0}, {0,0,0,0} },
144 {{0,0,1,0}, {0,0,0,0}, {-1,0,0,0}, {0,0,0,0} },
145 {{0,-1,0,0}, {1,0,0,0}, {0,0,0,0}, {0,0,0,0} },
146 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} } } };
147 for (int i=0; i<4; i++) {
148 for (int j=0; j<4; j++) {
149 G[i][j] = GG[i][j];
150 for (int k=0; k<4; k++) {
151 for (int l=0; l<4; l++) {
152 E[i][j][k][l] = EE[i][j][k][l];
153 }
154 }
155 }
156 }
157}
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 EvtDsToKSKmPipPip::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 162 of file EvtDsToKSKmPipPip.cc.

162 {
163 //setProbMax(75000);
164 setProbMax(95050);
165 //setProbMax(1.0);
166}
void setProbMax(double prbmx)

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