BOSS 7.1.2
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 41 of file EvtD0ToKSpi0eta.cc.

41 {
42 return new EvtD0ToKSpi0eta;
43}

◆ decay()

void EvtD0ToKSpi0eta::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 137 of file EvtD0ToKSpi0eta.cc.

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

◆ init()

void EvtD0ToKSpi0eta::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 45 of file EvtD0ToKSpi0eta.cc.

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

132 {
133 setProbMax(625.0);//MAXprob = 621.9269871585
134}
void setProbMax(double prbmx)

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