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

#include <EvtDsToEta3pi.hh>

+ Inheritance diagram for EvtDsToEta3pi:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtDsToEta3pi()

EvtDsToEta3pi::EvtDsToEta3pi ( )
inline

Definition at line 12 of file EvtDsToEta3pi.hh.

12{}

Referenced by clone().

◆ ~EvtDsToEta3pi()

EvtDsToEta3pi::~EvtDsToEta3pi ( )
virtual

Definition at line 33 of file EvtDsToEta3pi.cc.

33{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDsToEta3pi::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 39 of file EvtDsToEta3pi.cc.

39 {
40 return new EvtDsToEta3pi;
41}

◆ decay()

void EvtDsToEta3pi::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 180 of file EvtDsToEta3pi.cc.

180 {
181
182// double maxprob = 0.0;
183// for(int ir=0;ir<=60000000;ir++){
184// p->initializePhaseSpace(getNDaug(),getDaugs());
185// EvtVector4R _pip1 = p->getDaug(0)->getP4();
186// EvtVector4R _pip2 = p->getDaug(1)->getP4();
187// EvtVector4R _pim = p->getDaug(2)->getP4();
188// EvtVector4R _eta = p->getDaug(3)->getP4();
189//
190// double _Pip1[4],_Pip2[4],_Pim[4],_Eta[4];
191// _Pip1[1]=_pip1.get(1);_Pip1[2]=_pip1.get(2);_Pip1[3]=_pip1.get(3);
192// _Pip2[1]=_pip2.get(1);_Pip2[2]=_pip2.get(2);_Pip2[3]=_pip2.get(3);
193// _Pim[1] = _pim.get(1);_Pim[2] = _pim.get(2);_Pim[3] = _pim.get(3);
194// _Eta[1] = _eta.get(1);_Eta[2] = _eta.get(2);_Eta[3] = _eta.get(3);
195//
196// double _prob;
197// int g0[11]={1,1,1,1,1,1,1,1,1,1,1};
198// int g1[11]={1,1,1,1,1,1,1,1,1,1,1};
199// int g2[11]={0,0,0,0,0,0,0,0,0,0,0};
200// int nstates=11;
201// calEvaMy(_Pip1, _Pip2, _Pim, _Eta, mass1, mass2, width1, width2, rho, phi, g0,g1,g2, modetype, nstates, _prob);
202// if(_prob>maxprob) {
203// maxprob=_prob;
204// printf("nrun = %d,maxprob = %.10f,prob = %.10f\n\n",ir,maxprob,_prob);
205// }
206// }
207
208
210 EvtVector4R pip1 = p->getDaug(0)->getP4();
211 EvtVector4R pip2 = p->getDaug(1)->getP4();
212 EvtVector4R pim = p->getDaug(2)->getP4();
213 EvtVector4R eta = p->getDaug(3)->getP4();
214
215 double Pip1[4],Pip2[4],Pim[4],Eta[4];
216 Pip1[1]=pip1.get(1);Pip1[2]=pip1.get(2);Pip1[3]=pip1.get(3);
217 Pip2[1]=pip2.get(1);Pip2[2]=pip2.get(2);Pip2[3]=pip2.get(3);
218 Pim[1] = pim.get(1);Pim[2] = pim.get(2);Pim[3] = pim.get(3);
219 Eta[1] = eta.get(1);Eta[2] = eta.get(2);Eta[3] = eta.get(3);
220
221 double prob;
222 int g0[11]={1,1,1,1,1,1,1,1,1,1,1};
223 int g1[11]={1,1,1,1,1,1,1,1,1,1,1};
224 int g2[11]={0,0,0,0,0,0,0,0,0,0,0};
225 int nstates=11;
226
227 calEvaMy(Pip1, Pip2, Pim, Eta, mass1, mass2, width1, width2, rho, phi, g0, g1, g2, modetype, nstates, prob);
228 setProb(prob);
229
230 return ;
231}
TF1 * g1
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 EvtDsToEta3pi::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 35 of file EvtDsToEta3pi.cc.

35 {
36 model_name="DsToEta3pi";
37}

◆ init()

void EvtDsToEta3pi::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 43 of file EvtDsToEta3pi.cc.

43 {
44
45 // check that there are 0 arguments
46 checkNArg(0);
47 checkNDaug(4);
48
54
55 int mode = 0;
56 phi[0] = 2.4600e+00; modetype[0] = 1;
57 phi[1] = 0.0000e+00; modetype[1] = 2;
58 phi[2] = -1.5394e+00; modetype[2] = 3;
59 phi[3] = -6.0185e+00; modetype[3] = 4;
60 phi[4] = -6.0185e+00; modetype[4] = 5;
61 phi[5] = -6.1365e+00; modetype[5] = 6;
62 phi[6] = -6.1365e+00; modetype[6] = 7;
63 phi[7] = 1.3514e+00; modetype[7] = 8;
64 phi[8] = 2.4527e+00; modetype[8] = 9;
65 phi[9] = -2.0956e+00; modetype[9] = 10;
66 phi[10]= -2.0956e+00; modetype[10] = 11;
67
68 rho[0] = -1.5823e+00;
69 rho[1] = 10.000e+00;
70 rho[2] = 1.3750e+01;
71 rho[3] = -3.7257e-01;
72 rho[4] = -3.7257e-01;
73 rho[5] = -3.6293e+00;
74 rho[6] = -3.6293e+00;
75 rho[7] = -8.9184e+00;
76 rho[8] = -1.4292e+01;
77 rho[9] = 1.2518e+00;
78 rho[10]= 1.2518e+00;
79
80 mass1[0] = 9.9000e-01;
81 mass1[1] = 7.7526e-01;
82 mass1[2] = 5.2600e-01;
83 mass1[3] = 9.9000e-01;
84 mass1[4] = 9.9000e-01;
85 mass1[5] = 9.9000e-01;
86 mass1[6] = 9.9000e-01;
87 mass1[7] = 9.6500e-01;
88 mass1[8] = 5.2600e-01;
89 mass1[9] = 9.9000e-01;
90 mass1[10]= 9.9000e-01;
91
92 mass2[0] = 7.7526e-01;
93 mass2[1] = 1.3462e+00;
94 mass2[2] = 1.3462e+00;
95 mass2[3] = 1.4050e+00;
96 mass2[4] = 1.4050e+00;
97 mass2[5] = 1.8000e+00;
98 mass2[6] = 1.8000e+00;
99 mass2[7] = 1.8000e+00;
100 mass2[8] = 1.8000e+00;
101 mass2[9] = 1.4502e+00;
102 mass2[10]= 1.4502e+00;
103
104 width1[0] = 7.5000e-02;
105 width1[1] = 1.4910e-01;
106 width1[2] = 5.0000e-01;
107 width1[3] = 7.5000e-02;
108 width1[4] = 7.5000e-02;
109 width1[5] = 7.5000e-02;
110 width1[6] = 7.5000e-02;
111 width1[7] = 7.5000e-02;
112 width1[8] = 5.0000e-01;
113 width1[9] = 7.5000e-02;
114 width1[10]= 7.5000e-02;
115
116 width2[0] = 1.4910e-01;
117 width2[1] = 3.6900e-01;
118 width2[2] = 3.6900e-01;
119 width2[3] = 5.1000e-02;
120 width2[4] = 5.1000e-02;
121 width2[5] = 3.8600e-01;
122 width2[6] = 3.8600e-01;
123 width2[7] = 3.8600e-01;
124 width2[8] = 3.8600e-01;
125 width2[9] = 5.4000e-02;
126 width2[10]= 5.4000e-02;
127
128 //cout << "DsToEta3pi :"<< endl;
129 //for (int i=0; i<11; i++) {
130 // cout << i << " rho= " << rho[i] << " phi= " << phi[i] << " m1= " << mass1[i] << " m2= " << mass2[i] << " w1= " << width1[i] << " w2= " << width2[i] << endl;
131 //}
132
133 rRes = 3.0;
134 rRes2 = 9.0;
135 rD = 5.0;
136 rD2 = 25.0;
137 mass_Ks = 0.497611;
138 mass_Kaon = 0.49368;
139 mass_Pion = 0.13957;
140 mass_Pi0 = 0.1349766;
141 meta = 0.547862;
142 GS1 = 0.636619783;
143 GS2 = 0.01860182466;
144 GS3 = 0.1591549458; // 1/(2*math_2pi)
145 GS4 = 0.00620060822;
146 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
147 int EE[4][4][4][4] =
148 { { {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
149 {{0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,-1,0}},
150 {{0,0,0,0}, {0,0,0,-1}, {0,0,0,0}, {0,1,0,0} },
151 {{0,0,0,0}, {0,0,1,0}, {0,-1,0,0}, {0,0,0,0} } },
152 { {{0,0,0,0}, {0,0,0,0}, {0,0,0,-1}, {0,0,1,0} },
153 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
154 {{0,0,0,1}, {0,0,0,0}, {0,0,0,0}, {-1,0,0,0}},
155 {{0,0,-1,0}, {0,0,0,0}, {1,0,0,0}, {0,0,0,0} } },
156 { {{0,0,0,0}, {0,0,0,1}, {0,0,0,0}, {0,-1,0,0}},
157 {{0,0,0,-1}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0} },
158 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },
159 {{0,1,0,0}, {-1,0,0,0}, {0,0,0,0}, {0,0,0,0} } },
160 { {{0,0,0,0}, {0,0,-1,0}, {0,1,0,0}, {0,0,0,0} },
161 {{0,0,1,0}, {0,0,0,0}, {-1,0,0,0}, {0,0,0,0} },
162 {{0,-1,0,0}, {1,0,0,0}, {0,0,0,0}, {0,0,0,0} },
163 {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} } } };
164 for (int i=0; i<4; i++) {
165 for (int j=0; j<4; j++) {
166 G[i][j] = GG[i][j];
167 for (int k=0; k<4; k++) {
168 for (int l=0; l<4; l++) {
169 E[i][j][k][l] = EE[i][j][k][l];
170 }
171 }
172 }
173 }
174}
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
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 EvtDsToEta3pi::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 176 of file EvtDsToEta3pi.cc.

176 {
177 setProbMax(108000.0);
178}
void setProbMax(double prbmx)

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