BOSS 8.0.0
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 38 of file EvtDToKppipi.cc.

38{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDToKppipi::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 42 of file EvtDToKppipi.cc.

42{ return new EvtDToKppipi; }

◆ decay()

void EvtDToKppipi::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 127 of file EvtDToKppipi.cc.

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

40{ model_name = "DToKppipi"; }

◆ init()

void EvtDToKppipi::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 44 of file EvtDToKppipi.cc.

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

125{ setProbMax( 717.25 ); }
void setProbMax(double prbmx)

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