BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0ToKSKppimpi0 Class Reference

#include <EvtD0ToKSKppimpi0.hh>

Inheritance diagram for EvtD0ToKSKppimpi0:

Public Member Functions

 EvtD0ToKSKppimpi0 ()
virtual ~EvtD0ToKSKppimpi0 ()
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 EvtD0ToKSKppimpi0.hh.

Constructor & Destructor Documentation

◆ EvtD0ToKSKppimpi0()

EvtD0ToKSKppimpi0::EvtD0ToKSKppimpi0 ( )
inline

Definition at line 10 of file EvtD0ToKSKppimpi0.hh.

10{}

Referenced by clone().

◆ ~EvtD0ToKSKppimpi0()

EvtD0ToKSKppimpi0::~EvtD0ToKSKppimpi0 ( )
virtual

Definition at line 32 of file EvtD0ToKSKppimpi0.cc.

32{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0ToKSKppimpi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 36 of file EvtD0ToKSKppimpi0.cc.

36{ return new EvtD0ToKSKppimpi0; }

◆ decay()

void EvtD0ToKSKppimpi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 123 of file EvtD0ToKSKppimpi0.cc.

123 {
124 //-----------for max value------------------
125 /* double maxprob = 0.0;
126 for(int ir=0;ir<=60000000;ir++){
127 p->initializePhaseSpace(getNDaug(),getDaugs());
128 EvtVector4R ks = p->getDaug(0)->getP4();
129 EvtVector4R kp = p->getDaug(1)->getP4();
130 EvtVector4R pim = p->getDaug(2)->getP4();
131 EvtVector4R pi0 = p->getDaug(3)->getP4();
132 mother_c=EvtPDL::getStdHep(p->getId());
133 int cc;
134 if(mother_c==421){
135 cc=1;
136 } else if(mother_c==-421){
137 cc=-1;
138 }
139 double value;
140 double KS[4],Kp[4],Pim[4],Pi0[4];
141 KS[0] = ks.get(0); Kp[0] = kp.get(0); Pim[0] = pim.get(0); Pi0[0] =
142 pi0.get(0); KS[1] = cc*ks.get(1); Kp[1] = cc*kp.get(1); Pim[1] = cc*pim.get(1); Pi0[1] =
143 cc*pi0.get(1); KS[2] = cc*ks.get(2); Kp[2] = cc*kp.get(2); Pim[2] = cc*pim.get(2); Pi0[2]
144 = cc*pi0.get(2); KS[3] = cc*ks.get(3); Kp[3] = cc*kp.get(3); Pim[3] = cc*pim.get(3);
145 Pi0[3] = cc*pi0.get(3); calPDF(KS, Kp, Pim, Pi0, value); if(value>maxprob) {
146 maxprob=value;
147 std::cout << "Max PDF = " << ir << " prob= " << value << std::endl;
148 }
149 }
150 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
151 return;*/
152 //-----------------------------------------------
154 EvtVector4R ks = p->getDaug( 0 )->getP4();
155 EvtVector4R kp = p->getDaug( 1 )->getP4();
156 EvtVector4R pim = p->getDaug( 2 )->getP4();
157 EvtVector4R pi0 = p->getDaug( 3 )->getP4();
158
159 mother_c = EvtPDL::getStdHep( p->getId() );
160 int cc;
161 if ( mother_c == 421 ) { cc = 1; }
162 else if ( mother_c == -421 ) { cc = -1; }
163
164 double KS[4], Kp[4], Pim[4], Pi0[4];
165 KS[0] = ks.get( 0 );
166 Kp[0] = kp.get( 0 );
167 Pim[0] = pim.get( 0 );
168 Pi0[0] = pi0.get( 0 );
169 KS[1] = cc * ks.get( 1 );
170 Kp[1] = cc * kp.get( 1 );
171 Pim[1] = cc * pim.get( 1 );
172 Pi0[1] = cc * pi0.get( 1 );
173 KS[2] = cc * ks.get( 2 );
174 Kp[2] = cc * kp.get( 2 );
175 Pim[2] = cc * pim.get( 2 );
176 Pi0[2] = cc * pi0.get( 2 );
177 KS[3] = cc * ks.get( 3 );
178 Kp[3] = cc * kp.get( 3 );
179 Pim[3] = cc * pim.get( 3 );
180 Pi0[3] = cc * pi0.get( 3 );
181 // KS[0] = 0.581505; Kp[0] = 0.654953; Pim[0] = 0.344256; Pi0[0] = 0.297861;
182 // KS[1] = 0.302649; Kp[1] =-0.369050; Pim[1] =-0.164686; Pi0[1] = 0.027881;
183 // KS[2] = 0.038261; Kp[2] =-0.221134; Pim[2] =-0.247290; Pi0[2] = 0.203629;
184 // KS[3] =-0.032410; Kp[3] =-0.012204; Pim[3] =-0.103723; Pi0[3] = 0.168109;
185
186 double value;
187 calPDF( KS, Kp, Pim, Pi0, value );
188 setProb( value );
189 return;
190}
EvtId * getDaugs()
void setProb(double prob)
static int getStdHep(EvtId id)
Definition EvtPDL.hh:61
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 get(int i) const

◆ getName()

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

Implements EvtDecayBase.

Definition at line 34 of file EvtD0ToKSKppimpi0.cc.

34{ model_name = "D0ToKSKppimpi0"; }

◆ init()

void EvtD0ToKSKppimpi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 38 of file EvtD0ToKSKppimpi0.cc.

38 {
39 checkNArg( 0 );
40 checkNDaug( 4 );
42 // cout << "Initializing EvtD0ToKSKppimpi0" << endl;
43
44 mD = 1.86484;
45 mPi = 0.13957;
46 mKa = 0.493677;
47 math_pi = 3.1415926;
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 ma980 = 0.980;
57 Ga980 = 0.0972;
58 ma1_1260 = 1.230;
59 mK1_1270 = 1.272;
60 Ga1_1260 = 0.420;
61 GK1_1270 = 0.087;
62 meta1475 = 1.475;
63 mK1_1400 = 1.403;
64 Geta1475 = 0.09;
65 GK1_1400 = 0.174;
66
67 rho[1] = 1.0; // 2S
68 phi[1] = 0.0;
69 rho[0] = 1.1688955687; // 1S
70 phi[0] = 5.4715577597;
71 rho[2] = 1.2403434033; // 2P
72 phi[2] = -4.2080261661;
73 rho[3] = 4.9828746114; // 16S
74 phi[3] = 5.6470624082;
75 rho[4] = 2.8452580959; // 201
76 phi[4] = 0.1889705326;
77 rho[5] = 2.8452580959; // 201
78 phi[5] = 0.1889705326;
79 rho[6] = 8.7553053301; // 101
80 phi[6] = -5.9775594415;
81
82 modetype[0] = 1001;
83 modetype[1] = 1002;
84 modetype[2] = 1002;
85 modetype[3] = 2008;
86 modetype[4] = 4001;
87 modetype[5] = 4002;
88 modetype[6] = 3001;
89
90 int GG[4][4] = { { 1, 0, 0, 0 }, { 0, -1, 0, 0 }, { 0, 0, -1, 0 }, { 0, 0, 0, -1 } };
91 int EE[4][4][4][4] = {
92 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
93 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, -1, 0 } },
94 { { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 1, 0, 0 } },
95 { { 0, 0, 0, 0 }, { 0, 0, 1, 0 }, { 0, -1, 0, 0 }, { 0, 0, 0, 0 } } },
96 { { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, -1 }, { 0, 0, 1, 0 } },
97 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
98 { { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 } },
99 { { 0, 0, -1, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 } } },
100 { { { 0, 0, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, 0, 0 }, { 0, -1, 0, 0 } },
101 { { 0, 0, 0, -1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 1, 0, 0, 0 } },
102 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
103 { { 0, 1, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } },
104 { { { 0, 0, 0, 0 }, { 0, 0, -1, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 0 } },
105 { { 0, 0, 1, 0 }, { 0, 0, 0, 0 }, { -1, 0, 0, 0 }, { 0, 0, 0, 0 } },
106 { { 0, -1, 0, 0 }, { 1, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } },
107 { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } } } };
108 for ( int i = 0; i < 4; i++ )
109 {
110 for ( int j = 0; j < 4; j++ )
111 {
112 G[i][j] = GG[i][j];
113 for ( int k = 0; k < 4; k++ )
114 {
115 for ( int l = 0; l < 4; l++ ) { E[i][j][k][l] = EE[i][j][k][l]; }
116 }
117 }
118 }
119}
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 EvtD0ToKSKppimpi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 121 of file EvtD0ToKSKppimpi0.cc.

121{ setProbMax( 172500 ); }
void setProbMax(double prbmx)

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