BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtDToKppipi Class Reference

#include <EvtDToKppipi.hh>

+ Inheritance diagram for EvtDToKppipi:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtDToKppipi()

EvtDToKppipi::EvtDToKppipi ( )
inline

Definition at line 11 of file EvtDToKppipi.hh.

11{}

Referenced by clone().

◆ ~EvtDToKppipi()

EvtDToKppipi::~EvtDToKppipi ( )
virtual

Definition at line 37 of file EvtDToKppipi.cc.

37{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDToKppipi::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 43 of file EvtDToKppipi.cc.

43 {
44 return new EvtDToKppipi;
45}

◆ decay()

void EvtDToKppipi::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 133 of file EvtDToKppipi.cc.

133 {
134/*
135 double maxprob = 0.0;
136 for(int ir=0;ir<=60000000;ir++){
137 p->initializePhaseSpace(getNDaug(),getDaugs());
138 EvtVector4R D1 = p->getDaug(0)->getP4();
139 EvtVector4R D2 = p->getDaug(1)->getP4();
140 EvtVector4R D3 = p->getDaug(2)->getP4();
141
142 double P1[4], P2[4], P3[4];
143 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
144 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
145 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
146
147 double value;
148 int nstates=6;
149 int g0[6]={1,1,1,6,1,2};
150 int spin[6]={1,1,2,0,1,2};
151 double r0[6]={3.0,3.0,3.0,3.0,3.0,3.0};
152 double r1[6]={5.0,5.0,5.0,5.0,5.0,5.0};
153
154 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value,r0,r1);
155
156 if (value<0) continue;
157 if(value>maxprob) {
158 maxprob=value;
159 cout << "ir= " << ir << endl;
160// cout << "double P1[4] = {" << P1[0] <<","<< P1[1] <<","<< P1[2] <<","<< P1[3] <<"};"<< endl;
161// cout << "double P2[4] = {" << P2[0] <<","<< P2[1] <<","<< P2[2] <<","<< P2[3] <<"};"<< endl;
162 // cout << "double P3[4] = {" << P3[0] <<","<< P3[1] <<","<< P3[2] <<","<< P3[3] <<"};"<< endl;
163 cout << "MAX====> " << maxprob << endl;
164 }
165 }
166 printf("MAXprob = %.10f\n",maxprob);
167i*/
169 EvtVector4R D1 = p->getDaug(0)->getP4();
170 EvtVector4R D2 = p->getDaug(1)->getP4();
171 EvtVector4R D3 = p->getDaug(2)->getP4();
172
173 double P1[4], P2[4], P3[4];
174 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
175 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
176 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
177
178 double value;
179 int nstates=6;
180 int g0[6]={1,1,1,6,1,2};
181 int spin[6]={1,1,2,0,1,2};
182 double r0[6]={3.0,3.0,3.0,3.0,3.0,3.0};
183 double r1[6]={5.0,5.0,5.0,5.0,5.0,5.0};
184
185 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value,r0,r1);
186 setProb(value);
187 return ;
188
189}
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 EvtDToKppipi::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 39 of file EvtDToKppipi.cc.

39 {
40 model_name="DToKppipi";
41}

◆ init()

void EvtDToKppipi::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 47 of file EvtDToKppipi.cc.

47 {
48 // check that there are 0 arguments
49 checkNArg(0);
50 checkNDaug(3);
55
56 pi180inv = 1.0/EvtConst::radToDegrees;
57 phi[0] = 0.0;
58 phi[1] = 3.3742001040888469631795488;
59 phi[2] = 0.6532819412923407398352538;
60 phi[3] = 0.5749542998114529623876479;
61 phi[4] = 2.4585504599890253274452334;
62 phi[5] = 2.3506665801153650008359364;
63
64 rho[0] = 1.0;
65 rho[1] = 2.1413165329544412429640943;
66 rho[2] = 1.8434673937520713593585242;
67 rho[3] = 0.3901874024361937642879639;
68 rho[4] = 1.1932489389103686505677615;
69 rho[5] = 1.5014083086475853434649252;
70
71 modetype[0]= 13;
72 modetype[1]= 13;
73 modetype[2]= 13;
74 modetype[3]= 23;
75 modetype[4]= 23;
76 modetype[5]= 23;
77
78 //std::cout << "Initializing EvtDToKppipi" << std::endl;
79 //for (int i=0; i<9; i++) {
80 // cout << i << " rho= " << rho[i] << " phi= " << phi[i] << endl;
81 //}
82
83 width[0] = 0.0473000000000000017652546;
84 width[1] = 0.2320000000000000117683641;
85 width[2] = 0.1089999999999999996669331;
86 width[3] = 0.0200000000000000004163336;
87 width[4] = 0.1474000000000000032418512;
88 width[5] = 0.1867000000000000048405724;
89
90 mass[0] = 0.8955499999999999571898002;
91 mass[1] = 1.4139999999999999236166559;
92 mass[2] = 1.4323999999999998955502178;
93 mass[3] = 0.9000000000000000222044605;
94 mass[4] = 0.7752599999999999491606673;
95 mass[5] = 1.2755000000000000781597009;
96
97 mDp = 1.86966;
98 mK0 = 0.497611;
99 mKa = 0.49368;
100 mPi = 0.13957;
101 meta = 0.54775;
102 mK02 = 0.237616707;
103 mPi2 = 0.01947978;
104 mass_EtaP = 0.95778;
105 mass_Kaon = 0.49368;
106
107 math_pi = 3.1415926;
108 mass_Pion = 0.13957;
109 mass_Pion2 = 0.0194797849;
110 mass_2Pion = 0.27914;
111 math_2pi = 6.2831852;
112 rD2 = 25.0; // 5*5
113 rRes2 = 9.0; // 3*3
114 g1 = 0.5468;
115 g2 = 0.23;
116 GS1 = 0.636619783;
117 GS2 = 0.01860182466;
118 GS3 = 0.1591549458;
119 GS4 = 0.00620060822;
120
121 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
122 for (int i=0; i<4; i++) {
123 for (int j=0; j<4; j++) {
124 G[i][j] = GG[i][j];
125 }
126 }
127}
static const double radToDegrees
Definition EvtConst.hh:30
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 EvtDToKppipi::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 129 of file EvtDToKppipi.cc.

129 {
130 setProbMax(735.2);//MAXprob = 735.1033436031
131}
void setProbMax(double prbmx)

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