BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0ToKSpi0eta Class Reference

#include <EvtD0ToKSpi0eta.hh>

Inheritance diagram for EvtD0ToKSpi0eta:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtD0ToKSpi0eta()

EvtD0ToKSpi0eta::EvtD0ToKSpi0eta ( )
inline

Definition at line 11 of file EvtD0ToKSpi0eta.hh.

11{}

Referenced by clone().

◆ ~EvtD0ToKSpi0eta()

EvtD0ToKSpi0eta::~EvtD0ToKSpi0eta ( )
virtual

Definition at line 35 of file EvtD0ToKSpi0eta.cc.

35{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0ToKSpi0eta::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 39 of file EvtD0ToKSpi0eta.cc.

39{ return new EvtD0ToKSpi0eta; }

◆ decay()

void EvtD0ToKSpi0eta::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 130 of file EvtD0ToKSpi0eta.cc.

130 {
131 //==================================================get
132 // max============================================
133 /*
134 double maxprob = 0.0;
135 for(int ir=0;ir<=60000000;ir++){
136 p->initializePhaseSpace(getNDaug(),getDaugs());
137 EvtVector4R D1 = p->getDaug(0)->getP4();
138 EvtVector4R D2 = p->getDaug(1)->getP4();
139 EvtVector4R D3 = p->getDaug(2)->getP4();
140
141 double P1[4], P2[4], P3[4];
142 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
143 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
144 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
145
146 double value;
147 int nstates=8;
148 int g0[8]={1,1,4,1,1,1,3,1};
149 double r0[8]={3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0};
150 double r1[8]={5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0};
151
152 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value,r0,r1);
153
154 if (value<0) continue;
155 if(value>maxprob) {
156 maxprob=value;
157 cout << "ir= " << ir << endl;
158 cout << "MAX====> " << maxprob << endl;
159 }
160 }
161 printf("MAXprob = %.10f\n",maxprob);
162 */
163 //==================================================get
164 // max============================================
165
167 EvtVector4R D1 = p->getDaug( 0 )->getP4();
168 EvtVector4R D2 = p->getDaug( 1 )->getP4();
169 EvtVector4R D3 = p->getDaug( 2 )->getP4();
170
171 double P1[4], P2[4], P3[4];
172 P1[0] = D1.get( 0 );
173 P1[1] = D1.get( 1 );
174 P1[2] = D1.get( 2 );
175 P1[3] = D1.get( 3 );
176 P2[0] = D2.get( 0 );
177 P2[1] = D2.get( 1 );
178 P2[2] = D2.get( 2 );
179 P2[3] = D2.get( 3 );
180 P3[0] = D3.get( 0 );
181 P3[1] = D3.get( 1 );
182 P3[2] = D3.get( 2 );
183 P3[3] = D3.get( 3 );
184
185 // Check
186 // P1[0] = 0.734098420544862; P2[0] = 0.352732515142708; P3[0] =
187 // 0.799420828049644;
188 // P1[1] = 0.409477641275596; P2[1] = 0.078790398165110; P3[1] = -0.431210425541509;
189 // P1[2] = 0.301451605847801; P2[2] = 0.308201450489482; P3[2] = -0.378552010532733;
190 // P1[3] =-0.180693640379551; P2[3] =-0.070704784074596; P3[3] = 0.09759914740263;
191
192 double value;
193 int nstates = 5;
194 int g0[5] = { 3, 1, 1, 2, 0 };
195 double r0[5] = { 3.0, 3.0, 3.0, 3.0, 3.0 };
196 double r1[5] = { 5.0, 5.0, 5.0, 5.0, 5.0 };
197
198 calEva( P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value, r0, r1 );
199 setProb( value );
200 return;
201
202 //////
203}
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 EvtD0ToKSpi0eta::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 37 of file EvtD0ToKSpi0eta.cc.

37{ model_name = "D0ToKSpi0eta"; }

◆ init()

void EvtD0ToKSpi0eta::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 41 of file EvtD0ToKSpi0eta.cc.

41 {
42 // check that there are 0 arguments
43 checkNArg( 0 );
44 checkNDaug( 3 );
49
50 mass[0] = 0.98; // a0980
51 mass[1] = 0.89255; // K892
52 mass[2] = 1.414; // K1410
53 mass[3] = 1.414; // KPISwave
54 mass[4] = 1.414; // non-Dwave
55
56 width[0] = 0.756; // a0980
57 width[1] = 0.0473; // k892
58 width[2] = 0.232; // k1410
59 width[3] = 0.232; // kpiswave
60 width[4] = 0.232; // non-Dwave
61
62 rho[0] = 1; // a0980
63 phi[0] = 0; //
64
65 rho[1] = 0.20146; // k892
66 phi[1] = 2.9328; //
67
68 rho[2] = 0.81611; // k1410
69 phi[2] = -2.0637;
70
71 rho[3] = 0.49421; // kpiswave
72 phi[3] = -4.4523;
73
74 rho[4] = 5.4953; // non-Dwave
75 phi[4] = 1.7266; //
76
77 spin[0] = 0; // a0980
78 spin[1] = 1; // k892
79 spin[2] = 1; // k1410
80 spin[3] = 0; // kpiSwave
81 spin[4] = 2; // nonD
82
83 modetype[0] = 23; // a0980
84 modetype[1] = 12; // k892
85 modetype[2] = 12; // k1410
86 modetype[3] = 12; // kpis
87 modetype[4] = 13; // non D
88
89 /*
90 std::cout << "EvtD0ToKSpi0eta ==> Initialization" << std::endl;
91 for (int i=0; i<5; i++) {
92 cout << i << " rho= " << rho[i] << " phi= " << phi[i] << endl;
93 }
94 */
95
96 mD0 = 1.864;
97 mK0 = 0.497611;
98 mKa = 0.49368;
99 mPi = 0.13957;
100 mK02 = 0.237616707;
101 mPi2 = 0.01947978;
102 mass_EtaP = 0.95778;
103 mass_Kaon = 0.49368;
104
105 math_pi = 3.1415926;
106 mass_Pion = 0.13957;
107 mass_Pion2 = 0.0194797849;
108 mass_2Pion = 0.27914;
109 math_2pi = 6.2831852;
110 rD2 = 25.0; // 5*5
111 rRes2 = 9.0; // 3*3
112 // g1 = 0.5468;
113 g2 = 0.23;
114 GS1 = 0.636619783;
115 GS2 = 0.01860182466;
116 GS3 = 0.1591549458;
117 GS4 = 0.00620060822;
118
119 int GG[4][4] = { { 1, 0, 0, 0 }, { 0, -1, 0, 0 }, { 0, 0, -1, 0 }, { 0, 0, 0, -1 } };
120 for ( int i = 0; i < 4; i++ )
121 {
122 for ( int j = 0; j < 4; j++ ) { G[i][j] = GG[i][j]; }
123 }
124}
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 EvtD0ToKSpi0eta::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 126 of file EvtD0ToKSpi0eta.cc.

126 {
127 setProbMax( 625.0 ); // MAXprob = 621.9269871585
128}
void setProbMax(double prbmx)

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