BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0ToKSpi0pi0 Class Reference

#include <EvtD0ToKSpi0pi0.hh>

+ Inheritance diagram for EvtD0ToKSpi0pi0:

Public Member Functions

 EvtD0ToKSpi0pi0 ()
 
virtual ~EvtD0ToKSpi0pi0 ()
 
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 void getName (std::string &name)=0
 
virtual void decay (EvtParticle *p)=0
 
virtual void makeDecay (EvtParticle *p)=0
 
virtual EvtDecayBaseclone ()=0
 
virtual void init ()
 
virtual void initProbMax ()
 
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 EvtD0ToKSpi0pi0.hh.

Constructor & Destructor Documentation

◆ EvtD0ToKSpi0pi0()

EvtD0ToKSpi0pi0::EvtD0ToKSpi0pi0 ( )
inline

Definition at line 11 of file EvtD0ToKSpi0pi0.hh.

11{}

Referenced by clone().

◆ ~EvtD0ToKSpi0pi0()

EvtD0ToKSpi0pi0::~EvtD0ToKSpi0pi0 ( )
virtual

Definition at line 34 of file EvtD0ToKSpi0pi0.cc.

34{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0ToKSpi0pi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 40 of file EvtD0ToKSpi0pi0.cc.

40 {
41 return new EvtD0ToKSpi0pi0;
42}

◆ decay()

void EvtD0ToKSpi0pi0::decay ( EvtParticle p)
virtual

Implements EvtDecayBase.

Definition at line 143 of file EvtD0ToKSpi0pi0.cc.

143 {
144/*
145 double maxprob = 0.0;
146 for(int ir=0;ir<=60000000;ir++){
147 p->initializePhaseSpace(getNDaug(),getDaugs());
148 EvtVector4R D1 = p->getDaug(0)->getP4();
149 EvtVector4R D2 = p->getDaug(1)->getP4();
150 EvtVector4R D3 = p->getDaug(2)->getP4();
151
152 double P1[4], P2[4], P3[4];
153 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
154 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
155 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
156
157 double value;
158 int nstates=6;
159 int g0[6]={1,1,500,4,2,2};
160 int spin[6]={1,1,0,0,0,2};
161 double r0[6]={3.0,3.0,3.0,3.0,3.0,3.0};
162 double r1[6]={5.0,5.0,5.0,5.0,5.0,5.0};
163
164 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value,r0,r1);
165
166 if (value<0) continue;
167 if(value>maxprob) {
168 maxprob=value;
169 cout << "ir= " << ir << endl;
170// cout << "double P1[4] = {" << P1[0] <<","<< P1[1] <<","<< P1[2] <<","<< P1[3] <<"};"<< endl;
171// cout << "double P2[4] = {" << P2[0] <<","<< P2[1] <<","<< P2[2] <<","<< P2[3] <<"};"<< endl;
172// cout << "double P3[4] = {" << P3[0] <<","<< P3[1] <<","<< P3[2] <<","<< P3[3] <<"};"<< endl;
173 cout << "MAX====> " << maxprob << endl;
174 }
175 }
176 printf("MAXprob = %.10f\n",maxprob);
177*/
179 EvtVector4R D1 = p->getDaug(0)->getP4();
180 EvtVector4R D2 = p->getDaug(1)->getP4();
181 EvtVector4R D3 = p->getDaug(2)->getP4();
182
183 double P1[4], P2[4], P3[4];
184 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
185 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
186 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
187
188 double value;
189 int nstates=9;
190 int g0[9]={1,1,1,4,1,500,4,2,2};
191 int spin[9]={1,1,2,0,1,0,0,0,2};
192 double r0[9]={3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0};
193 double r1[9]={5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0};
194
195 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value,r0,r1);
196 setProb(value);
197 return ;
198
199}
EvtId * getDaugs()
Definition: EvtDecayBase.hh:65
void setProb(double prob)
Definition: EvtDecayProb.hh:34
const EvtVector4R & getP4() const
Definition: EvtParticle.cc:120
EvtParticle * getDaug(int i)
Definition: EvtParticle.cc:84
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
double get(int i) const
Definition: EvtVector4R.hh:179

◆ getName()

void EvtD0ToKSpi0pi0::getName ( std::string &  name)
virtual

Implements EvtDecayBase.

Definition at line 36 of file EvtD0ToKSpi0pi0.cc.

36 {
37 model_name="D0ToKSpi0pi0";
38}

◆ init()

void EvtD0ToKSpi0pi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 44 of file EvtD0ToKSpi0pi0.cc.

44 {
45 // check that there are 0 arguments
46 checkNArg(0);
47 checkNDaug(3);
52
53 phi[0] = 0.0;
54 phi[1] = 1.909216566958711;
55 phi[2] = -0.8081590353388339;
56 phi[3] = 2.126592957692503;
57 phi[4] = 0.7470081100599959;
58 phi[5] = -1.273770267344803;
59 phi[6] = 3.876999878268513;
60 phi[7] = 1.712738611706015;
61 phi[8] = 3.535638541429866;
62
63 rho[0] = 1.0;
64 rho[1] = -0.7991234523501731;
65 rho[2] = 1.610923317098042;
66 rho[3] = 2.517733001548718;
67 rho[4] = 1.872650170591211;
68 rho[5] = 3.852313089825635;
69 rho[6] = 1.604840470437296;
70 rho[7] = 3.12863961830903;
71 rho[8] = 2.195243023813692;
72
73 modetype[0]= 12;
74 modetype[1]= 12;
75 modetype[2]= 12;
76 modetype[3]= 12;
77 modetype[4]= 12;
78 modetype[5]= 23;
79 modetype[6]= 23;
80 modetype[7]= 23;
81 modetype[8]= 23;
82
83 //std::cout << "Initializing EvtD0ToKSpi0pi0" << std::endl;
84 //for (int i=0; i<9; i++) {
85 // cout << i << " rho= " << rho[i] << " phi= " << phi[i] << endl;
86 //}
87
88 width[0] = 0.0473;
89 width[1] = 0.2320;
90 width[2] = 0.1090;
91 width[3] = 0.0085;
92 width[4] = 0.3220;
93 width[5] = 0.4000;
94 width[6] = 0.0400;
95 width[7] = 0.2650;
96 width[8] = 0.1867;
97
98 mass[0] = 0.89555;
99 mass[1] = 1.4140;
100 mass[2] = 1.4324;
101 mass[3] = 1.4000;
102 mass[4] = 1.7180;
103 mass[5] = 0.5000;
104 mass[6] = 0.9650;
105 mass[7] = 1.3500;
106 mass[8] = 1.2755;
107
108 mD0 = 1.86483;
109 mK0 = 0.497611;
110 mKa = 0.49368;
111 mPi = 0.13957;
112 mK02 = 0.237616707;
113 mPi2 = 0.01947978;
114 mass_EtaP = 0.95778;
115 mass_Kaon = 0.49368;
116
117 math_pi = 3.1415926;
118 mass_Pion = 0.13957;
119 mass_Pion2 = 0.0194797849;
120 mass_2Pion = 0.27914;
121 math_2pi = 6.2831852;
122 rD2 = 25.0; // 5*5
123 rRes2 = 9.0; // 3*3
124 g1 = 0.5468;
125 g2 = 0.23;
126 GS1 = 0.636619783;
127 GS2 = 0.01860182466;
128 GS3 = 0.1591549458;
129 GS4 = 0.00620060822;
130
131 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
132 for (int i=0; i<4; i++) {
133 for (int j=0; j<4; j++) {
134 G[i][j] = GG[i][j];
135 }
136 }
137}
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 EvtD0ToKSpi0pi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 139 of file EvtD0ToKSpi0pi0.cc.

139 {
140 setProbMax(1295.52);//MAXprob = 1295.5082086648
141}
void setProbMax(double prbmx)

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