BOSS 8.0.0
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 10 of file EvtDToKppipipi0.hh.

10{}

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 36 of file EvtDToKppipipi0.cc.

36{ return new EvtDToKppipipi0; }

◆ decay()

void EvtDToKppipipi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 139 of file EvtDToKppipipi0.cc.

139 {
140 //-----------for max value------------------
141 /* double maxprob = 0.0;
142 for(int ir=0;ir<=60000000;ir++){
143 p->initializePhaseSpace(getNDaug(),getDaugs());
144 EvtVector4R kp = p->getDaug(0)->getP4();
145 EvtVector4R pip = p->getDaug(1)->getP4();
146 EvtVector4R pim = p->getDaug(2)->getP4();
147 EvtVector4R pi0 = p->getDaug(3)->getP4();
148 double value;
149 double Kp[4],Pip[4],Pim[4],Pi0[4];
150 Kp[0] = kp.get(0); Pip[0] = pip.get(0); Pim[0] = pim.get(0); Pi0[0]
151 = pi0.get(0); Kp[1] = kp.get(1); Pip[1] = pip.get(1); Pim[1] = pim.get(1); Pi0[1] =
152 pi0.get(1); Kp[2] = kp.get(2); Pip[2] = pip.get(2); Pim[2] = pim.get(2); Pi0[2] =
153 pi0.get(2); Kp[3] = kp.get(3); Pip[3] = pip.get(3); Pim[3] = pim.get(3); Pi0[3] =
154 pi0.get(3);
155 //double Prob = calPDF(Kp, Pip, Pim, Pi0);
156 calPDF(Kp, Pip, Pim, Pi0, value);
157 if(value>maxprob) {
158 maxprob=value;
159 std::cout << "Max PDF = " << ir << " prob= " << value << std::endl;
160 }
161 }
162 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
163 return;*/
164 //-----------------------------------------------
166 EvtVector4R kp = p->getDaug( 0 )->getP4();
167 EvtVector4R pip = p->getDaug( 1 )->getP4();
168 EvtVector4R pim = p->getDaug( 2 )->getP4();
169 EvtVector4R pi0 = p->getDaug( 3 )->getP4();
170
171 double Kp[4], Pip[4], Pim[4], Pi0[4];
172 Kp[0] = kp.get( 0 );
173 Pip[0] = pip.get( 0 );
174 Pim[0] = pim.get( 0 );
175 Pi0[0] = pi0.get( 0 );
176 Kp[1] = kp.get( 1 );
177 Pip[1] = pip.get( 1 );
178 Pim[1] = pim.get( 1 );
179 Pi0[1] = pi0.get( 1 );
180 Kp[2] = kp.get( 2 );
181 Pip[2] = pip.get( 2 );
182 Pim[2] = pim.get( 2 );
183 Pi0[2] = pi0.get( 2 );
184 Kp[3] = kp.get( 3 );
185 Pip[3] = pip.get( 3 );
186 Pim[3] = pim.get( 3 );
187 Pi0[3] = pi0.get( 3 );
188
189 double value;
190 calPDF( Kp, Pip, Pim, Pi0, value );
191 setProb( value );
192 return;
193}
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{ model_name = "DToKppipipi0"; }

◆ init()

void EvtDToKppipipi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 38 of file EvtDToKppipipi0.cc.

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

135 {
136 setProbMax( 100000 ); // setProbMax(40000.0);
137}
void setProbMax(double prbmx)

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