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

#include <EvtDsToKpipi.hh>

+ Inheritance diagram for EvtDsToKpipi:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtDsToKpipi()

EvtDsToKpipi::EvtDsToKpipi ( )
inline

Definition at line 12 of file EvtDsToKpipi.hh.

12{}

Referenced by clone().

◆ ~EvtDsToKpipi()

EvtDsToKpipi::~EvtDsToKpipi ( )
virtual

Definition at line 32 of file EvtDsToKpipi.cc.

32{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDsToKpipi::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 38 of file EvtDsToKpipi.cc.

38 {
39 return new EvtDsToKpipi;
40}

◆ decay()

void EvtDsToKpipi::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 155 of file EvtDsToKpipi.cc.

155 {
156/*
157 double maxprob = 0.0;
158 for(int ir=0;ir<=60000000;ir++){
159 p->initializePhaseSpace(getNDaug(),getDaugs());
160 EvtVector4R D1 = p->getDaug(0)->getP4();
161 EvtVector4R D2 = p->getDaug(1)->getP4();
162 EvtVector4R D3 = p->getDaug(2)->getP4();
163
164 double P1[4], P2[4], P3[4];
165 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
166 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
167 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
168
169 double value;
170 int g0[8]={1,1,4,2,500,1,1,2};
171 int spin[8]={1,1,0,0,0,1,1,0};
172 int nstates=8;
173 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value);
174 if (value<0) continue;
175 if(value>maxprob) {
176 maxprob=value;
177 cout << "ir= " << ir << endl;
178 cout << "double P1[4] = {" << P1[0] <<","<< P1[1] <<","<< P1[2] <<","<< P1[3] <<"};"<< endl;
179 cout << "double P2[4] = {" << P2[0] <<","<< P2[1] <<","<< P2[2] <<","<< P2[3] <<"};"<< endl;
180 cout << "double P3[4] = {" << P3[0] <<","<< P3[1] <<","<< P3[2] <<","<< P3[3] <<"};"<< endl;
181 cout << "MAX====> " << maxprob << endl;
182 }
183 }
184 printf("MAXprob = %.10f\n",maxprob);
185*/
186
188 EvtVector4R D1 = p->getDaug(0)->getP4();
189 EvtVector4R D2 = p->getDaug(1)->getP4();
190 EvtVector4R D3 = p->getDaug(2)->getP4();
191
192 double P1[4], P2[4], P3[4];
193 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
194 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
195 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
196
197 //P1[0] =0.863405 ;P1[1] =-0.239724 ;P1[2] =-0.665631 ; P1[3] =-0.0349068 ;
198 //P2[0] =0.209097 ;P2[1] =0.0992859 ;P2[2] =-0.119905 ; P2[3] =-0.00262863 ;
199 //P3[0] =0.941396 ;P3[1] =-0.270638 ;P3[2] =0.890782 ; P3[3] = -0.00293441 ;
200
201 double value;
202 int g0[8]={1,1,4,2,500,1,1,2};
203 int spin[8]={1,1,0,0,0,1,1,0};
204 int nstates=8;
205 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value);
206
207 setProb(value);
208
209 return ;
210}
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 EvtDsToKpipi::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 34 of file EvtDsToKpipi.cc.

34 {
35 model_name="DsToKpipi";
36}

◆ init()

void EvtDsToKpipi::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 42 of file EvtDsToKpipi.cc.

42 {
43 // check that there are 0 arguments
44 checkNArg(0);
45 checkNDaug(3);
50
51 phi[0] = 0;
52 rho[0] = 1;
53 phi[1] = 0;
54 rho[1] = 0;
55 phi[2] = 0;
56 rho[2] = 0;
57 phi[3] = 0;
58 rho[3] = 0;
59 phi[4] = 0;
60 rho[4] = 0;
61 phi[5] = 0;
62 rho[5] = 0;
63 phi[6] = 0;
64 rho[6] = 0;
65 phi[7] = 0;
66 rho[7] = 0;
67
68 phi[1] = -3.47995752;
69 phi[2] = -1.249864467;
70 phi[3] = -0.3067504308;
71 phi[4] = 0.9229242379;
72 phi[5] = -3.278567926;
73 phi[6] = -0.6346408622;
74 phi[7] = 1.762377475;
75
76 rho[1] = 2.463898984;
77 rho[2] = 0.7361782665;
78 rho[3] = 1.90216812;
79 rho[4] = 2.140687169;
80 rho[5] = 0.914684056;
81 rho[6] = 1.116206881;
82 rho[7] = 1.483440555;
83
84 modetype[0]= 23;
85 modetype[1]= 23;
86 modetype[2]= 23;
87 modetype[3]= 23;
88 modetype[4]= 23;
89 modetype[5]= 13;
90 modetype[6]= 13;
91 modetype[7]= 13;
92
93 //cout << "DsToKpipi :" << endl;
94 //for (int i=0; i<8; i++) {
95 // cout << i << " rho= " << rho[i] << " phi= " << phi[i] << endl;
96 //}
97
98 width[0] = 0.1478;
99 width[1] = 0.400;
100 width[2] = 0.100;
101 width[3] = 0.265;
102 width[4] = 0.270;
103 width[5] = 0.0473;
104 width[6] = 0.232;
105 width[7] = 0.270;
106
107 mass[0] = 0.77526;
108 mass[1] = 1.465;
109 mass[2] = 0.965;
110 mass[3] = 1.35;
111 mass[4] = 1.425;
112 mass[5] = 0.89555;
113 mass[6] = 1.414;
114 mass[7] = 1.432787726;
115
116 mDsM = 1.9683;
117 mD = 1.86486;
118 mDs = 1.9683;
119// rRes = 9.0;
120 rD = 25.0;
121 metap = 0.95778;
122 mkstr = 0.89594;
123 mk0 = 0.497614;
124 mass_Kaon = 0.49368;
125 mass_Pion = 0.13957;
126 mass_Pi0 = 0.1349766;
127 math_pi = 3.1415926;
128 mKa2 = 0.24371994;
129 mPi2 = 0.01947978;
130 mPi = 0.13957;
131 mKa = 0.49368;
132 //mrho = 0.77549;
133 //Grho = 0.1491;
134 ma0 = 0.99;
135 Ga0 = 0.0756;
136 meta = 0.547862;
137
138 GS1 = 0.636619783;
139 GS2 = 0.01860182466;
140 GS3 = 0.1591549458; // 1/(2*math_2pi)
141 GS4 = 0.00620060822; // mass_Pion2/math_pi
142
143 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
144 for (int i=0; i<4; i++) {
145 for (int j=0; j<4; j++) {
146 G[i][j] = GG[i][j];
147 }
148 }
149}
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 EvtDsToKpipi::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 151 of file EvtDsToKpipi.cc.

151 {
152 setProbMax(825.0);
153}
void setProbMax(double prbmx)

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