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

#include <EvtDToKppipipi0.hh>

+ Inheritance diagram for EvtDToKppipipi0:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtDToKppipipi0()

EvtDToKppipipi0::EvtDToKppipipi0 ( )
inline

Definition at line 11 of file EvtDToKppipipi0.hh.

11{}

Referenced by clone().

◆ ~EvtDToKppipipi0()

EvtDToKppipipi0::~EvtDToKppipipi0 ( )
virtual

Definition at line 32 of file EvtDToKppipipi0.cc.

32{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDToKppipipi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 38 of file EvtDToKppipipi0.cc.

38 {
39 return new EvtDToKppipipi0;
40}

◆ decay()

void EvtDToKppipipi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 136 of file EvtDToKppipipi0.cc.

136 {
137 //-----------for max value------------------
138/* double maxprob = 0.0;
139 for(int ir=0;ir<=60000000;ir++){
140 p->initializePhaseSpace(getNDaug(),getDaugs());
141 EvtVector4R kp = p->getDaug(0)->getP4();
142 EvtVector4R pip = p->getDaug(1)->getP4();
143 EvtVector4R pim = p->getDaug(2)->getP4();
144 EvtVector4R pi0 = p->getDaug(3)->getP4();
145 double value;
146 double Kp[4],Pip[4],Pim[4],Pi0[4];
147 Kp[0] = kp.get(0); Pip[0] = pip.get(0); Pim[0] = pim.get(0); Pi0[0] = pi0.get(0);
148 Kp[1] = kp.get(1); Pip[1] = pip.get(1); Pim[1] = pim.get(1); Pi0[1] = pi0.get(1);
149 Kp[2] = kp.get(2); Pip[2] = pip.get(2); Pim[2] = pim.get(2); Pi0[2] = pi0.get(2);
150 Kp[3] = kp.get(3); Pip[3] = pip.get(3); Pim[3] = pim.get(3); Pi0[3] = pi0.get(3);
151 //double Prob = calPDF(Kp, Pip, Pim, Pi0);
152 calPDF(Kp, Pip, Pim, Pi0, value);
153 if(value>maxprob) {
154 maxprob=value;
155 std::cout << "Max PDF = " << ir << " prob= " << value << std::endl;
156 }
157 }
158 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
159 return;*/
160 //-----------------------------------------------
162 EvtVector4R kp = p->getDaug(0)->getP4();
163 EvtVector4R pip = p->getDaug(1)->getP4();
164 EvtVector4R pim = p->getDaug(2)->getP4();
165 EvtVector4R pi0 = p->getDaug(3)->getP4();
166
167 double Kp[4],Pip[4],Pim[4],Pi0[4];
168 Kp[0] = kp.get(0); Pip[0] = pip.get(0); Pim[0] = pim.get(0); Pi0[0] = pi0.get(0);
169 Kp[1] = kp.get(1); Pip[1] = pip.get(1); Pim[1] = pim.get(1); Pi0[1] = pi0.get(1);
170 Kp[2] = kp.get(2); Pip[2] = pip.get(2); Pim[2] = pim.get(2); Pi0[2] = pi0.get(2);
171 Kp[3] = kp.get(3); Pip[3] = pip.get(3); Pim[3] = pim.get(3); Pi0[3] = pi0.get(3);
172
173 double value;
174 calPDF(Kp, Pip, Pim, Pi0, value);
175 setProb(value);
176 return;
177
178}
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 EvtDToKppipipi0::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 34 of file EvtDToKppipipi0.cc.

34 {
35 model_name="DToKppipipi0";
36}

◆ init()

void EvtDToKppipipi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 42 of file EvtDToKppipipi0.cc.

42 {
43 checkNArg(0);
44 checkNDaug(4);
46 //cout << "Initializing EvtDToKppipipi0" << endl;
47
48 mK1270 = 1.272; mK1400 = 1.403;
49 GK1270 = 0.087; GK1400 = 0.174;
50 mKstr0 = 0.89555; mrhop = 0.77511;
51 GKstr0 = 0.0473; Grhop = 0.1491;
52 mKstrp = 0.89167; mrho0 = 0.77526;
53 GKstrp = 0.0514; Grho0 = 0.1474;
54 mOmega = 0.78266;
55 GOmega = 0.00868;
56 msigma = 0.526;
57 Gsigma = 0.535;
58 mK1650 = 1.65;
59 GK1650 = 0.158;
60 ma1 = 1.230;
61 Ga1 = 0.420;
62
63 rho[7] = 1.0;
64 phi[7] = 0.0; //K1400+
65 rho[0] = 0.3578145188;
66 phi[0] =-1.8624743029; //1S
67 rho[1] = 0.3468367648;
68 phi[1] = 0.1168108412; //1P
69 rho[2] = 0.4257117223;
70 phi[2] =-0.7433416190; //2S
71 rho[3] = 0.3042749891;
72 phi[3] = 4.3671838579; //2P
73 rho[4] = 1.3376376890;
74 phi[4] =-3.0855437414; //3S
75 rho[5] = 1.3376376890;
76 phi[5] =-3.0855437414; //3S
77 rho[6] = 0.5098861534;
78 phi[6] =-1.7222823562; //5S
79 rho[8] = 0.6422897385;
80 phi[8] = 2.5529952524; //Komega
81
82 modetype[0]=1;
83 modetype[1]=1;
84 modetype[2]=2;
85 modetype[3]=2;
86 modetype[4]=3;
87 modetype[5]=4;
88 modetype[6]=5;
89 modetype[7]=9;
90 modetype[8]=11;
91
92 //for (int i=0; i<9; i++) {
93 // cout << i << " rho,phi = " << rho[i] << ", "<< phi[i] << endl;
94 //}
95
96 mD = 1.86966;
97 rD = 5;
98 math_pi = 3.1415926;
99
100 pi = 3.1415926;
101
102 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
103 int EE[4][4][4][4] =
104 { { {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
105 {{0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,-1,0}},
106 {{0,0,0,0}, {0,0,0,-1}, {0,0,0,0}, {0,1,0,0} },
107 {{0,0,0,0}, {0,0,1,0}, {0,-1,0,0}, {0,0,0,0} } },
108 { {{0,0,0,0}, {0,0,0,0}, {0,0,0,-1}, {0,0,1,0} },
109 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
110 {{0,0,0,1}, {0,0,0,0}, {0,0,0,0}, {-1,0,0,0}},
111 {{0,0,-1,0}, {0,0,0,0}, {1,0,0,0}, {0,0,0,0} } },
112 { {{0,0,0,0}, {0,0,0,1}, {0,0,0,0}, {0,-1,0,0}},
113 {{0,0,0,-1}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0} },
114 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
115 {{0,1,0,0}, {-1,0,0,0}, {0,0,0,0}, {0,0,0,0} } },
116 { {{0,0,0,0}, {0,0,-1,0}, {0,1,0,0}, {0,0,0,0} },
117 {{0,0,1,0}, {0,0,0,0}, {-1,0,0,0}, {0,0,0,0} },
118 {{0,-1,0,0}, {1,0,0,0}, {0,0,0,0}, {0,0,0,0} },
119 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} } } };
120 for (int i=0; i<4; i++) {
121 for (int j=0; j<4; j++) {
122 G[i][j] = GG[i][j];
123 for (int k=0; k<4; k++) {
124 for (int l=0; l<4; l++) {
125 E[i][j][k][l] = EE[i][j][k][l];
126 }
127 }
128 }
129 }
130}
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 EvtDToKppipipi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 132 of file EvtDToKppipipi0.cc.

132 {
133 setProbMax(100000);//setProbMax(40000.0);
134}
void setProbMax(double prbmx)

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