BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtDToKKpipi0 Class Reference

#include <EvtDToKKpipi0.hh>

+ Inheritance diagram for EvtDToKKpipi0:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtDToKKpipi0()

EvtDToKKpipi0::EvtDToKKpipi0 ( )
inline

Definition at line 13 of file EvtDToKKpipi0.hh.

13{}

Referenced by clone().

◆ ~EvtDToKKpipi0()

EvtDToKKpipi0::~EvtDToKKpipi0 ( )
virtual

Definition at line 36 of file EvtDToKKpipi0.cc.

36{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDToKKpipi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 42 of file EvtDToKKpipi0.cc.

42 {
43 return new EvtDToKKpipi0;
44}

◆ decay()

void EvtDToKKpipi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 147 of file EvtDToKKpipi0.cc.

147 {
148 //-----------for max value------------------
149 /*double maxprob = 0.0;
150 for(int ir=0;ir<=60000000;ir++){
151 p->initializePhaseSpace(getNDaug(),getDaugs());
152 EvtVector4R p1 = p->getDaug(0)->getP4();
153 EvtVector4R p2 = p->getDaug(1)->getP4();
154 EvtVector4R p3 = p->getDaug(2)->getP4();
155 EvtVector4R p4 = p->getDaug(3)->getP4();
156 double value;
157 double P1[4],P2[4],P3[4],P4[4];
158 mother_c=EvtPDL::getStdHep(p->getId());
159 if(mother_c==411){
160 P1[0] = p1.get(0); P2[0] = p2.get(0); P3[0] = p3.get(0); P4[0] = p4.get(0);
161 P1[1] = p1.get(1); P2[1] = p2.get(1); P3[1] = p3.get(1); P4[1] = p4.get(1);
162 P1[2] = p1.get(2); P2[2] = p2.get(2); P3[2] = p3.get(2); P4[2] = p4.get(2);
163 P1[3] = p1.get(3); P2[3] = p2.get(3); P3[3] = p3.get(3); P4[3] = p4.get(3);
164 }else if(mother_c==-411){
165 P1[0] = p1.get(0); P2[0] = p2.get(0); P3[0] = p3.get(0); P4[0] = p4.get(0);
166 P1[1] = -1.0*p1.get(1); P2[1] = -1.0*p2.get(1); P3[1] = -1.0*p3.get(1); P4[1] = -1.0*p4.get(1);
167 P1[2] = -1.0*p1.get(2); P2[2] = -1.0*p2.get(2); P3[2] = -1.0*p3.get(2); P4[2] = -1.0*p4.get(2);
168 P1[3] = -1.0*p1.get(3); P2[3] = -1.0*p2.get(3); P3[3] = -1.0*p3.get(3); P4[3] = -1.0*p4.get(3);
169 }
170 calPDF(P1, P2, P3, P4, value);
171 if(value>maxprob) {
172 maxprob=value;
173 std::cout << "Max PDF = " << ir << " prob= " << value << std::endl;
174 }
175 }
176 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
177 return;*/
178 //-----------------------------------------------
180 EvtVector4R p1 = p->getDaug(0)->getP4();
181 EvtVector4R p2 = p->getDaug(1)->getP4();
182 EvtVector4R p3 = p->getDaug(2)->getP4();
183 EvtVector4R p4 = p->getDaug(3)->getP4();
184 mother_c=EvtPDL::getStdHep(p->getId());
185
186 double P1[4],P2[4],P3[4],P4[4];
187 if(mother_c==411){
188 P1[0] = p1.get(0); P2[0] = p2.get(0); P3[0] = p3.get(0); P4[0] = p4.get(0);
189 P1[1] = p1.get(1); P2[1] = p2.get(1); P3[1] = p3.get(1); P4[1] = p4.get(1);
190 P1[2] = p1.get(2); P2[2] = p2.get(2); P3[2] = p3.get(2); P4[2] = p4.get(2);
191 P1[3] = p1.get(3); P2[3] = p2.get(3); P3[3] = p3.get(3); P4[3] = p4.get(3);
192 }else if(mother_c==-411){
193 P1[0] = p1.get(0); P2[0] = p2.get(0); P3[0] = p3.get(0); P4[0] = p4.get(0);
194 P1[1] = -1.0*p1.get(1); P2[1] = -1.0*p2.get(1); P3[1] = -1.0*p3.get(1); P4[1] = -1.0*p4.get(1);
195 P1[2] = -1.0*p1.get(2); P2[2] = -1.0*p2.get(2); P3[2] = -1.0*p3.get(2); P4[2] = -1.0*p4.get(2);
196 P1[3] = -1.0*p1.get(3); P2[3] = -1.0*p2.get(3); P3[3] = -1.0*p3.get(3); P4[3] = -1.0*p4.get(3);
197 }
198
199 double value;
200 calPDF(P1, P2, P3, P4, value);
201 setProb(value);
202 return;
203}
double p1[4]
double p2[4]
EvtId * getDaugs()
void setProb(double prob)
static int getStdHep(EvtId id)
Definition EvtPDL.hh:56
EvtId getId() const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
double double double * p4
Definition qcdloop1.h:77
double double * p3
Definition qcdloop1.h:76

◆ getName()

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

Implements EvtDecayBase.

Definition at line 38 of file EvtDToKKpipi0.cc.

38 {
39 model_name="DToKKpipi0";
40}

◆ init()

void EvtDToKKpipi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 46 of file EvtDToKKpipi0.cc.

46 {
47
48 checkNArg(0);
49 checkNDaug(4);
51
52 mD = 1.86966; //D+ mass
53 // mD = 1.86483; //D0 mass
54 mDs = 1.9683;
55 rRes = 3.0;
56 rD = 5.0;
57 metap = 0.95778;
58 mkstr = 0.89594;
59 mk0 = 0.497614;
60 mass_Kaon = 0.49368;
61 mass_Pion = 0.13957;
62 mass_Eta = 0.547862;
63 mass_Etap = 0.95778;
64 mass_Pi0 = 0.1349766;
65 math_pi = 3.1415926;
66 mrho = 0.77511;
67 Grho = 1.2037e-01;
68 mrho1450 = 1.465;
69 Grho1450 = 0.400;
70 ma0 = 0.990;
71 Ga0 = 0.0756;
72 ma01450 = 1.474;
73 Ga01450 = 0.265;
74 meta = 0.547862;
75 ma2 = 1.3177;
76 ma20 = 1.698;
77 Ga2 = 0.1111;
78 Ga20 = 0.265;
79 mf980 = 0.965;
80 Gf980 = 0.0756;
81 meta1405 = 1.4088;
82 Geta1405 = 0.0501;
83 //---------------------------------
84 mphi = 1.019461;
85 Gphi = 0.004249;
86 // Gphi = 6.6912e-03;
87 mnKstr = 0.89555; GnKstr = 0.0473;
88 mcKstr = 0.89167; GcKstr = 0.0514;
89 mK1270 = 1.28981;
90 mK1400 = 1.403;
91 mf1285 = 1.2819; Gf1285 = 0.0227;
92 mf1420 = 1.4263; Gf1420 = 0.0545;
93 gpieta2 = 0.341;
94 gKK2 = 0.892*0.341;
95
96 phi[0] = 0.0; rho[0] = 1.0; //D2VV 12340 phi rho S
97 phi[1] = -2.4183895412; rho[1] = 0.3660444327; //D2VV 12340 phi rho P
98 phi[2] = 3.9126761898; rho[2] = 0.9905707322; //D2VV 12340 phi rho D
99 phi[3] = -3.4581051622; rho[3] = 0.4970069076;
100 phi[4] = 0.6059414627; rho[4] = 0.4744002304;
101 phi[5] = 0.7501566868; rho[5] = 0.6407798868;
102 phi[6] = -1.3470518401; rho[6] = -2.2701523251;
103 phi[7] = -0.9948321319; rho[7] = -1.0841075539;
104 phi[8] = -0.7144319026; rho[8] = 1.3650576749;
105 phi[9] = -0.0298815830; rho[9] = -0.3101468271;
106 phi[10]= -1.0962771498; rho[10]= 0.3799755719;
107 phi[11]= 0.2459805626; rho[11]= -0.3419295418;
108 phi[12]= -1.4937738501; rho[12]= -0.4275950103;
109
110 sp1270 = new TSpline3("sp1270", s, width1270, 1206);
111 sp1400 = new TSpline3("sp1400", s, width1400, 1206);
112
113 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
114 int EE[4][4][4][4] =
115 { { {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
116 {{0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,-1,0}},
117 {{0,0,0,0}, {0,0,0,-1}, {0,0,0,0}, {0,1,0,0} },
118 {{0,0,0,0}, {0,0,1,0}, {0,-1,0,0}, {0,0,0,0} } },
119 { {{0,0,0,0}, {0,0,0,0}, {0,0,0,-1}, {0,0,1,0} },
120 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
121 {{0,0,0,1}, {0,0,0,0}, {0,0,0,0}, {-1,0,0,0}},
122 {{0,0,-1,0}, {0,0,0,0}, {1,0,0,0}, {0,0,0,0} } },
123 { {{0,0,0,0}, {0,0,0,1}, {0,0,0,0}, {0,-1,0,0}},
124 {{0,0,0,-1}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0} },
125 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
126 {{0,1,0,0}, {-1,0,0,0}, {0,0,0,0}, {0,0,0,0} } },
127 { {{0,0,0,0}, {0,0,-1,0}, {0,1,0,0}, {0,0,0,0} },
128 {{0,0,1,0}, {0,0,0,0}, {-1,0,0,0}, {0,0,0,0} },
129 {{0,-1,0,0}, {1,0,0,0}, {0,0,0,0}, {0,0,0,0} },
130 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} } } };
131 for (int i=0; i<4; i++) {
132 for (int j=0; j<4; j++) {
133 G[i][j] = GG[i][j];
134 for (int k=0; k<4; k++) {
135 for (int l=0; l<4; l++) {
136 E[i][j][k][l] = EE[i][j][k][l];
137 }
138 }
139 }
140 }
141}
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 EvtDToKKpipi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 143 of file EvtDToKKpipi0.cc.

143 {
144 setProbMax(301000);
145}
void setProbMax(double prbmx)

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