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

#include <EvtD0ToKKpi0.hh>

+ Inheritance diagram for EvtD0ToKKpi0:

Public Member Functions

 EvtD0ToKKpi0 ()
 
virtual ~EvtD0ToKKpi0 ()
 
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 30 of file EvtD0ToKKpi0.hh.

Constructor & Destructor Documentation

◆ EvtD0ToKKpi0()

EvtD0ToKKpi0::EvtD0ToKKpi0 ( )
inline

Definition at line 34 of file EvtD0ToKKpi0.hh.

34{}

Referenced by clone().

◆ ~EvtD0ToKKpi0()

EvtD0ToKKpi0::~EvtD0ToKKpi0 ( )
virtual

Definition at line 43 of file EvtD0ToKKpi0.cc.

43{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0ToKKpi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 49 of file EvtD0ToKKpi0.cc.

49 {
50 return new EvtD0ToKKpi0;
51}

◆ decay()

void EvtD0ToKKpi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 163 of file EvtD0ToKKpi0.cc.

163 {
164/*
165 double maxprob = 0.0;
166 for(int ir=0;ir<=60000000;ir++){
167 p->initializePhaseSpace(getNDaug(),getDaugs());
168 for(int i=0; i<_nd; i++){
169 _p4Lab[i]=p->getDaug(i)->getP4Lab();
170 _p4CM[i]=p->getDaug(i)->getP4();
171 }
172 double Prob = AmplitudeSquare(charm, tagmode);
173 if(Prob>maxprob) {
174 maxprob=Prob;
175 std::cout << "Max PDF = " << ir << " prob= " << Prob << std::endl;
176 }
177 }
178 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
179*/
181 for(int i=0; i<_nd; i++){
182 _p4Lab[i]=p->getDaug(i)->getP4Lab();
183 _p4CM[i]=p->getDaug(i)->getP4();
184 }
185 double prob = AmplitudeSquare(charm, tagmode);
186 setProb(prob);
187 return;
188}
EvtId * getDaugs()
void setProb(double prob)
EvtVector4R getP4Lab()
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)

◆ getName()

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

Implements EvtDecayBase.

Definition at line 45 of file EvtD0ToKKpi0.cc.

45 {
46 model_name="D0ToKKpi0";
47}

◆ init()

void EvtD0ToKKpi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 53 of file EvtD0ToKKpi0.cc.

53 {
54 checkNArg(2);
55 checkNDaug(3);
56 charm = getArg(0);
57 tagmode = getArg(1);
58 //std::cout << "Initializing EvtD0ToKKpi0: charm= "<<charm<<" tagmode= "<<tagmode<<std::endl;
59
60
61 g_uv.clear();
62 for(int i=0; i<4; i++){
63 for(int j=0; j<4; j++){
64 if(i!=j){
65 g_uv.push_back(0.0);
66 }else if(i<3){
67 g_uv.push_back(-1.0);
68 }else if(i==3){
69 g_uv.push_back(1.0);
70 }
71 }
72 }
73
74 epsilon_uvmn.clear();
75 for(int i=0; i<4; i++){
76 for(int j=0; j<4; j++){
77 for(int k=0; k<4; k++){
78 for(int l=0; l<4; l++){
79 if(i==j || i==k || i==l || j==k || j==l || k==l){
80 epsilon_uvmn.push_back(0.0);
81 }else{
82 if(i==0 && j==1 && k==2 && l==3) epsilon_uvmn.push_back(1.0);
83 if(i==0 && j==1 && k==3 && l==2) epsilon_uvmn.push_back(-1.0);
84 if(i==0 && j==2 && k==1 && l==3) epsilon_uvmn.push_back(-1.0);
85 if(i==0 && j==2 && k==3 && l==1) epsilon_uvmn.push_back(1.0);
86 if(i==0 && j==3 && k==1 && l==2) epsilon_uvmn.push_back(1.0);
87 if(i==0 && j==3 && k==2 && l==1) epsilon_uvmn.push_back(-1.0);
88
89 if(i==1 && j==0 && k==2 && l==3) epsilon_uvmn.push_back(-1.0);
90 if(i==1 && j==0 && k==3 && l==2) epsilon_uvmn.push_back(1.0);
91 if(i==1 && j==2 && k==0 && l==3) epsilon_uvmn.push_back(1.0);
92 if(i==1 && j==2 && k==3 && l==0) epsilon_uvmn.push_back(-1.0);
93 if(i==1 && j==3 && k==0 && l==2) epsilon_uvmn.push_back(-1.0);
94 if(i==1 && j==3 && k==2 && l==0) epsilon_uvmn.push_back(1.0);
95
96 if(i==2 && j==0 && k==1 && l==3) epsilon_uvmn.push_back(1.0);
97 if(i==2 && j==0 && k==3 && l==1) epsilon_uvmn.push_back(-1.0);
98 if(i==2 && j==1 && k==0 && l==3) epsilon_uvmn.push_back(-1.0);
99 if(i==2 && j==1 && k==3 && l==0) epsilon_uvmn.push_back(1.0);
100 if(i==2 && j==3 && k==0 && l==1) epsilon_uvmn.push_back(1.0);
101 if(i==2 && j==3 && k==1 && l==0) epsilon_uvmn.push_back(-1.0);
102
103 if(i==3 && j==0 && k==1 && l==2) epsilon_uvmn.push_back(-1.0);
104 if(i==3 && j==0 && k==2 && l==1) epsilon_uvmn.push_back(1.0);
105 if(i==3 && j==1 && k==0 && l==2) epsilon_uvmn.push_back(1.0);
106 if(i==3 && j==1 && k==2 && l==0) epsilon_uvmn.push_back(-1.0);
107 if(i==3 && j==2 && k==0 && l==1) epsilon_uvmn.push_back(-1.0);
108 if(i==3 && j==2 && k==1 && l==0) epsilon_uvmn.push_back(1.0);
109
110 }
111 }
112 }
113 }
114 }
115
116 _nd = 3;
117 math_pi = 3.1415926;
118 mass_Pion = 0.13957;
119
120 rRes = 3.0*0.197321;
121 rD = 5.0*0.197321;
122 m_Pi = mass_Pion;
123 m2_Pi = m_Pi*m_Pi;
124 m_Pi0 = 0.134977;
125 m2_Pi0 = m_Pi0*m_Pi0;
126 m_Ka = 0.493677;
127 m2_Ka = m_Ka*m_Ka;
128
129 m0_Kst892 = 0.89167;
130 w0_Kst892 = 0.0514;
131
132 m0_Kst1410 = 1.414;
133 w0_Kst1410 = 0.232;
134
135 m0_phi1020 = 1.019461;
136 w0_phi1020 = 0.004249;
137
138 m0_f0980 = 0.965;
139 g1_f0980 = 0.165;
140 g2_f0980 = 4.210;
141
142 m0_K01430 = 1.441;
143 w0_K01430 = 0.193;
144
145 a_lass = 0.113;
146 r_lass = -33.8;
147
148 fitpara.clear();
149 fitpara.push_back(complex<double>(100,0));
150 fitpara.push_back(complex<double>(66.2031*cos(2.5703),66.2031*sin(2.5703)));
151 fitpara.push_back(complex<double>(50.1991*cos(3.34488),50.1991*sin(3.34488)));
152 fitpara.push_back(complex<double>(236.463*cos(-0.541955),236.463*sin(-0.541955)));
153 fitpara.push_back(complex<double>(9389.32*cos(2.1910213),9389.32*sin(2.1910213)));
154
155
156 return;
157}
double sin(const BesAngle a)
Definition BesAngle.h:210
double cos(const BesAngle a)
Definition BesAngle.h:213
double getArg(int j)
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)

◆ initProbMax()

void EvtD0ToKKpi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 159 of file EvtD0ToKKpi0.cc.

159 {
160 setProbMax(1432000000); // 1431906201.4
161}
void setProbMax(double prbmx)

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