BOSS 7.1.1
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 11 of file EvtD0ToKSKppimpi0.hh.

11{}

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 38 of file EvtD0ToKSKppimpi0.cc.

38 {
39 return new EvtD0ToKSKppimpi0;
40}

◆ decay()

void EvtD0ToKSKppimpi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 118 of file EvtD0ToKSKppimpi0.cc.

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

◆ getName()

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

Implements EvtDecayBase.

Definition at line 34 of file EvtD0ToKSKppimpi0.cc.

34 {
35 model_name="D0ToKSKppimpi0";
36}

◆ init()

void EvtD0ToKSKppimpi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 42 of file EvtD0ToKSKppimpi0.cc.

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

114 {
115 setProbMax(172500);
116}
void setProbMax(double prbmx)

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