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

#include <EvtDsTopipipipi0pi0.hh>

+ Inheritance diagram for EvtDsTopipipipi0pi0:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtDsTopipipipi0pi0()

EvtDsTopipipipi0pi0::EvtDsTopipipipi0pi0 ( )
inline

Definition at line 12 of file EvtDsTopipipipi0pi0.hh.

12{}

Referenced by clone().

◆ ~EvtDsTopipipipi0pi0()

EvtDsTopipipipi0pi0::~EvtDsTopipipipi0pi0 ( )
virtual

Definition at line 33 of file EvtDsTopipipipi0pi0.cc.

33{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDsTopipipipi0pi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 39 of file EvtDsTopipipipi0pi0.cc.

39 {
40 return new EvtDsTopipipipi0pi0;
41}

◆ decay()

void EvtDsTopipipipi0pi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 261 of file EvtDsTopipipipi0pi0.cc.

261 {
262
264 EvtVector4R D1 = p->getDaug(0)->getP4();
265 EvtVector4R D2 = p->getDaug(1)->getP4();
266 EvtVector4R D3 = p->getDaug(2)->getP4();
267 EvtVector4R D4 = p->getDaug(3)->getP4();
268 EvtVector4R D5 = p->getDaug(4)->getP4();
269
270 charge = EvtPDL::getStdHep(p->getId());
271 double P1[4], P2[4], P3[4], P4[4], P5[4];
272 if(charge>0){
273 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
274 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
275 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
276 P4[0] = D4.get(0); P4[1] = D4.get(1); P4[2] = D4.get(2); P4[3] = D4.get(3);
277 P5[0] = D5.get(0); P5[1] = D5.get(1); P5[2] = D5.get(2); P5[3] = D5.get(3);
278 }
279 else if(charge<0){
280 P1[0] = D1.get(0); P1[1] = (-1.0)*D1.get(1); P1[2] = (-1.0)*D1.get(2); P1[3] = (-1.0)*D1.get(3);
281 P2[0] = D2.get(0); P2[1] = (-1.0)*D2.get(1); P2[2] = (-1.0)*D2.get(2); P2[3] = (-1.0)*D2.get(3);
282 P3[0] = D3.get(0); P3[1] = (-1.0)*D3.get(1); P3[2] = (-1.0)*D3.get(2); P3[3] = (-1.0)*D3.get(3);
283 P4[0] = D4.get(0); P4[1] = (-1.0)*D4.get(1); P4[2] = (-1.0)*D4.get(2); P4[3] = (-1.0)*D4.get(3);
284 P5[0] = D5.get(0); P5[1] = (-1.0)*D5.get(1); P5[2] = (-1.0)*D5.get(2); P5[3] = (-1.0)*D5.get(3);
285
286 }
287
288 double value;
289 int g0[50]={1,1,1,1,1,1,1,1,1,1,1,1,1,1};
290 int g1[50]={1,1,1,1,1,1,1,1,1,1,1,1,1,1};
291 int spin[50]={0,1,2,0,1,1,1020,1120,1020,1120,1020,1120,0,0};
292 int nstates=14;
293 calEva(P1, P2, P3, P4, P5, mass1, mass2, width1, width2, rho, phi, g0, g1, spin, modetype, nstates, value);
294
295 setProb(value);
296
297 return ;
298}
EvtId * getDaugs()
void setProb(double prob)
static int getStdHep(EvtId id)
Definition EvtPDL.hh:56
EvtId getId() const
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 EvtDsTopipipipi0pi0::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 35 of file EvtDsTopipipipi0pi0.cc.

35 {
36 model_name="DsTopipipipi0pi0";
37}

◆ init()

void EvtDsTopipipipi0pi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 43 of file EvtDsTopipipipi0pi0.cc.

43 {
44 // check that there are 0 arguments
45 checkNArg(0);
46 checkNDaug(5);
53
54 string name;
55 Double_t mean_v;
56 phi[0] = 0;
57 rho[0] = 1;
58 phi[1] = 0;
59 rho[1] = 0;
60 phi[2] = 0;
61 rho[2] = 0;
62 phi[3] = 0;
63 rho[3] = 0;
64 phi[4] = 0;
65 rho[4] = 0;
66 phi[5] = 0;
67 rho[5] = 0;
68 phi[6] = 0;
69 rho[6] = 0;
70 phi[7] = 0;
71 rho[7] = 0;
72 phi[8] = 0;
73 rho[8] = 0;
74 phi[9] = 0;
75 rho[9] = 0;
76 phi[10] = 0;
77 rho[10] = 0;
78 phi[11] = 0;
79 rho[11] = 0;
80 phi[12] = 0;
81 rho[12] = 0;
82 phi[13] = 0;
83 rho[13] = 0;
84
85 phi[0] = 0.0;
86 phi[1] = -0.2221550738;
87 phi[2] = 4.908682264;
88 phi[3] = 3.808080671;
89 phi[4] = 1.403674727;
90 phi[5] = -4.73279708;
91 phi[6] = -1.674922065;
92 phi[7] = 0.04954744732;
93 phi[8] = 1.837736271;
94 phi[9] = -2.762453694;
95 phi[10] = -1.674922065;
96 phi[11] = 0.04954744732;
97 phi[12] = -2.007113109;
98 phi[13] = -5.064013727;
99
100
101 rho[0] = 1.0;
102 rho[1] = -0.6906182923;
103 rho[2] = 1.919575948;
104 rho[3] = -0.3131096951;
105 rho[4] = 0.1208536009;
106 rho[5] = 3.481521946;
107 rho[6] = 2.65694721;
108 rho[7] = 3.511231977;
109 rho[8] = 4.390468499;
110 rho[9] = 4.263839405;
111 rho[10] = 2.65694721;
112 rho[11] = 3.511231977;
113 rho[12] = 1.763183137;
114 rho[13] = 5.382286502;
115
116 modetype[0]= 1;
117 modetype[1]= 1;
118 modetype[2]= 1;
119 modetype[3]= 8;
120 modetype[4]= 8;
121 modetype[5]= 11;
122 modetype[6]= 17;
123 modetype[7]= 17;
124 modetype[8]= 18;
125 modetype[9]= 18;
126 modetype[10]= 19;
127 modetype[11]= 19;
128 modetype[12]= 4;
129 modetype[13]= 6;
130
131/*
132 for (int i=0; i<12; i++) {
133 cout << i << " rho= " << rho[i] << " phi= " << phi[i] << endl;
134 }
135*/
136 width1[0] = 0.00868;
137 width1[1] = 0.00868;
138 width1[2] = 0.00868;
139 width1[3] = 0.004249;
140 width1[4] = 0.004249;
141 width1[5] = 0.400;
142 width1[6] = 0.420;
143 width1[7] = 0.420;
144 width1[8] = 0.420;
145 width1[9] = 0.420;
146 width1[10] = 0.420;
147 width1[11] = 0.420;
148 width1[12] = 0.142;
149 width1[13] = 0.142;
150
151 width2[0] = 0.1478;
152 width2[1] = 0.1478;
153 width2[2] = 0.1478;
154 width2[3] = 0.1478;
155 width2[4] = 0.1478;
156 width2[5] = 0.00868;
157 width2[6] = 0.1478;
158 width2[7] = 0.1478;
159 width2[8] = 0.1478;
160 width2[9] = 0.1478;
161 width2[10] = 0.1478;
162 width2[11] = 0.1478;
163 width2[12] = 0.00868;
164 width2[13] = 0.00868;
165
166 mass1[0] = 0.78266;
167 mass1[1] = 0.78266;
168 mass1[2] = 0.78266;
169 mass1[3] = 1.019461;
170 mass1[4] = 1.019461;
171 mass1[5] = 1.465;
172 mass1[6] = 1.230;
173 mass1[7] = 1.230;
174 mass1[8] = 1.230;
175 mass1[9] = 1.230;
176 mass1[10] = 1.230;
177 mass1[11] = 1.230;
178 mass1[12] = 1.2295;
179 mass1[13] = 1.2295;
180
181 mass2[0] = 0.77526;
182 mass2[1] = 0.77526;
183 mass2[2] = 0.77526;
184 mass2[3] = 0.77526;
185 mass2[4] = 0.77526;
186 mass2[5] = 0.78266;
187 mass2[6] = 0.77526;
188 mass2[7] = 0.77526;
189 mass2[8] = 0.77526;
190 mass2[9] = 0.77526;
191 mass2[10] = 0.77526;
192 mass2[11] = 0.77526;
193 mass2[12] = 0.78266;
194 mass2[13] = 0.78266;
195
196 mDsM = 1.9683;
197 mD = 1.86486;
198 metap = 0.95778;
199 mkstr = 0.89594;
200 mk0 = 0.497614;
201 mass_Kaon = 0.49368;
202 mass_Pion = 0.13957;
203 // math_pi = 3.1415926;
204 mass_Pion2 = 0.0194797849;
205 mass_2Pion = 0.27914;
206 math_2pi = 6.2831852;
207 rD2 = 25.0; // 5*5
208 rDs2 = 25.0; // 5*5
209 rRes2 = 9.0; // 3*3
210 gg1 = 0.5468;
211 gg2 = 0.23; //K*0(1430)
212 GS1 = 0.636619783;
213 GS2 = 0.01860182466;
214 GS3 = 0.1591549458; // 1/(2*math_2pi)
215 GS4 = 0.00620060822;
216
217 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
218 for (int i=0; i<4; i++) {
219 for (int j=0; j<4; j++) {
220 G[i][j] = GG[i][j];
221 }
222 }
223
224 double EE[4][4][4][4] =
225 { { {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
226 {{0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,-1,0}},
227 {{0,0,0,0}, {0,0,0,-1}, {0,0,0,0}, {0,1,0,0} },
228 {{0,0,0,0}, {0,0,1,0}, {0,-1,0,0}, {0,0,0,0} } },
229 { {{0,0,0,0}, {0,0,0,0}, {0,0,0,-1}, {0,0,1,0} },
230 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
231 {{0,0,0,1}, {0,0,0,0}, {0,0,0,0}, {-1,0,0,0}},
232 {{0,0,-1,0}, {0,0,0,0}, {1,0,0,0}, {0,0,0,0} } },
233 { {{0,0,0,0}, {0,0,0,1}, {0,0,0,0}, {0,-1,0,0}},
234 {{0,0,0,-1}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0} },
235 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
236 {{0,1,0,0}, {-1,0,0,0}, {0,0,0,0}, {0,0,0,0} } },
237 { {{0,0,0,0}, {0,0,-1,0}, {0,1,0,0}, {0,0,0,0} },
238 {{0,0,1,0}, {0,0,0,0}, {-1,0,0,0}, {0,0,0,0} },
239 {{0,-1,0,0}, {1,0,0,0}, {0,0,0,0}, {0,0,0,0} },
240 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} } } };
241
242 for (int i=0; i<4; i++) {
243 for (int j=0; j<4; j++) {
244 for (int k=0; k<4; k++) {
245 for (int l=0; l<4; l++) {
246 E[i][j][k][l] = EE[i][j][k][l];
247 }
248 }
249 }
250 }
251
252
253
254
255}
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 EvtDsTopipipipi0pi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 257 of file EvtDsTopipipipi0pi0.cc.

257 {
258 setProbMax(87000000.0);
259}
void setProbMax(double prbmx)

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