BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0Topippim2pi0 Class Reference

#include <EvtD0Topippim2pi0.hh>

+ Inheritance diagram for EvtD0Topippim2pi0:

Public Member Functions

 EvtD0Topippim2pi0 ()
 
virtual ~EvtD0Topippim2pi0 ()
 
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 void getName (std::string &name)=0
 
virtual void decay (EvtParticle *p)=0
 
virtual void makeDecay (EvtParticle *p)=0
 
virtual EvtDecayBaseclone ()=0
 
virtual void init ()
 
virtual void initProbMax ()
 
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 30 of file EvtD0Topippim2pi0.hh.

Constructor & Destructor Documentation

◆ EvtD0Topippim2pi0()

EvtD0Topippim2pi0::EvtD0Topippim2pi0 ( )
inline

Definition at line 34 of file EvtD0Topippim2pi0.hh.

34{}

Referenced by clone().

◆ ~EvtD0Topippim2pi0()

EvtD0Topippim2pi0::~EvtD0Topippim2pi0 ( )
virtual

Definition at line 37 of file EvtD0Topippim2pi0.cc.

37{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0Topippim2pi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 43 of file EvtD0Topippim2pi0.cc.

43 {
44 return new EvtD0Topippim2pi0;
45}

◆ decay()

void EvtD0Topippim2pi0::decay ( EvtParticle p)
virtual

Implements EvtDecayBase.

Definition at line 214 of file EvtD0Topippim2pi0.cc.

214 {
215/*
216 double maxprob = 0.0;
217 for(int ir=0;ir<=60000000;ir++){
218 p->initializePhaseSpace(getNDaug(),getDaugs());
219 for(int i=0; i<_nd; i++){
220 _p4Lab[i]=p->getDaug(i)->getP4Lab();
221 _p4CM[i]=p->getDaug(i)->getP4();
222 }
223 double Prob = AmplitudeSquare(charm, tagmode);
224 if(Prob>maxprob) {
225 maxprob=Prob;
226 std::cout << "Max PDF = " << ir << " prob= " << Prob << std::endl;
227 }
228 }
229 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
230*/
232 for(int i=0; i<_nd; i++){
233 _p4Lab[i]=p->getDaug(i)->getP4Lab();
234 _p4CM[i]=p->getDaug(i)->getP4();
235 }
236 double prob = AmplitudeSquare(charm, tagmode);
237 setProb(prob);
238 return;
239}
EvtId * getDaugs()
Definition: EvtDecayBase.hh:65
void setProb(double prob)
Definition: EvtDecayProb.hh:34
EvtVector4R getP4Lab()
Definition: EvtParticle.cc:684
const EvtVector4R & getP4() const
Definition: EvtParticle.cc:120
EvtParticle * getDaug(int i)
Definition: EvtParticle.cc:84
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)

◆ getName()

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

Implements EvtDecayBase.

Definition at line 39 of file EvtD0Topippim2pi0.cc.

39 {
40 model_name="D0Topippim2pi0";
41}

◆ init()

void EvtD0Topippim2pi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 47 of file EvtD0Topippim2pi0.cc.

47 {
48 checkNArg(2);
49 checkNDaug(4);
50 charm = getArg(0);
51 tagmode = getArg(1);
52 //std::cout<<"Initializing EvtD0Topippim2pi0: charm="<<charm<<" tagmode= "<<tagmode<<std::endl;
53
54 double mag[35], pha[35];
55 mag[0]= 100.0; pha[0]= 0.0;
56 mag[1]= 7.95507; pha[1]= -0.0687407;
57 mag[2]= 37.5559; pha[2]= -1.74946;
58 mag[3]= 61.2172; pha[3]= 2.98079;
59 mag[4]= 187.79; pha[4]= 2.64471;
60 mag[5]= 385.474; pha[5]= -0.137107;
61 mag[6]= 0.330788; pha[6]= 0.268133;
62 mag[7]= 0.584175; pha[7]= -2.89693;
63 mag[8]= 127.158; pha[8]= -2.47773;
64 mag[9]= 339.914; pha[9]= 2.22856;
65 mag[10]=0.320888; pha[10]=-2.6194;
66 mag[11]=0.366283; pha[11]=-0.26867;
67 mag[12]=14.1344; pha[12]=-0.41164;
68 mag[13]=86.0865; pha[13]=-2.49649;
69 mag[14]=6.1541; pha[14]=-1.18299;
70 mag[15]=56.6067; pha[15]=0.142977;
71 mag[16]=92.3073; pha[16]=-2.15881;
72 mag[17]=80.9453; pha[17]=0.825815;
73 mag[18]=16.9555; pha[18]=-2.98994;
74 mag[19]=9.72524; pha[19]=-1.39929;
75 mag[20]=5.71448; pha[20]=0.271902;
76 mag[21]=21.4195; pha[21]=-1.23701;
77 mag[22]=56.8867; pha[22]=-0.385837;
78 mag[23]=231.626; pha[23]=2.14842;
79 mag[24]=2938.45; pha[24]=-0.693491;
80 mag[25]=7252.7; pha[25]=2.23659;
81 mag[26]=5165.87; pha[26]=0.913557;
82 mag[27]=11508.6; pha[27]=-1.07187;
83 mag[28]=2461.86; pha[28]=1.8709;
84 mag[29]=8757.75; pha[29]=2.40756;
85 mag[30]=19.7413; pha[30]=-1.0753;
86 mag[31]=66.3826; pha[31]=2.34666;
87 mag[32]=11.2904; pha[32]=-0.822345;
88 mag[33]=2.04576; pha[33]=-0.281429;
89 mag[34]=0.57927; pha[34]=2.7182;
90
91 fitpara.clear();
92 for(int i=0; i<35; i++){
93 complex<double> ctemp(mag[i]*cos(pha[i]),mag[i]*sin(pha[i]));
94 fitpara.push_back(ctemp);
95 }
96
97 g_uv.clear();
98 for(int i=0; i<4; i++){
99 for(int j=0; j<4; j++){
100 if(i!=j){
101 g_uv.push_back(0.0);
102 }else if(i<3){
103 g_uv.push_back(-1.0);
104 }else if(i==3){
105 g_uv.push_back(1.0);
106 }
107 }
108 }
109
110 epsilon_uvmn.clear();
111 for(int i=0; i<4; i++){
112 for(int j=0; j<4; j++){
113 for(int k=0; k<4; k++){
114 for(int l=0; l<4; l++){
115 if(i==j || i==k || i==l || j==k || j==l || k==l){
116 epsilon_uvmn.push_back(0.0);
117 }else{
118 if(i==0 && j==1 && k==2 && l==3) epsilon_uvmn.push_back(1.0);
119 if(i==0 && j==1 && k==3 && l==2) epsilon_uvmn.push_back(-1.0);
120 if(i==0 && j==2 && k==1 && l==3) epsilon_uvmn.push_back(-1.0);
121 if(i==0 && j==2 && k==3 && l==1) epsilon_uvmn.push_back(1.0);
122 if(i==0 && j==3 && k==1 && l==2) epsilon_uvmn.push_back(1.0);
123 if(i==0 && j==3 && k==2 && l==1) epsilon_uvmn.push_back(-1.0);
124
125 if(i==1 && j==0 && k==2 && l==3) epsilon_uvmn.push_back(-1.0);
126 if(i==1 && j==0 && k==3 && l==2) epsilon_uvmn.push_back(1.0);
127 if(i==1 && j==2 && k==0 && l==3) epsilon_uvmn.push_back(1.0);
128 if(i==1 && j==2 && k==3 && l==0) epsilon_uvmn.push_back(-1.0);
129 if(i==1 && j==3 && k==0 && l==2) epsilon_uvmn.push_back(-1.0);
130 if(i==1 && j==3 && k==2 && l==0) epsilon_uvmn.push_back(1.0);
131
132 if(i==2 && j==0 && k==1 && l==3) epsilon_uvmn.push_back(1.0);
133 if(i==2 && j==0 && k==3 && l==1) epsilon_uvmn.push_back(-1.0);
134 if(i==2 && j==1 && k==0 && l==3) epsilon_uvmn.push_back(-1.0);
135 if(i==2 && j==1 && k==3 && l==0) epsilon_uvmn.push_back(1.0);
136 if(i==2 && j==3 && k==0 && l==1) epsilon_uvmn.push_back(1.0);
137 if(i==2 && j==3 && k==1 && l==0) epsilon_uvmn.push_back(-1.0);
138
139 if(i==3 && j==0 && k==1 && l==2) epsilon_uvmn.push_back(-1.0);
140 if(i==3 && j==0 && k==2 && l==1) epsilon_uvmn.push_back(1.0);
141 if(i==3 && j==1 && k==0 && l==2) epsilon_uvmn.push_back(1.0);
142 if(i==3 && j==1 && k==2 && l==0) epsilon_uvmn.push_back(-1.0);
143 if(i==3 && j==2 && k==0 && l==1) epsilon_uvmn.push_back(-1.0);
144 if(i==3 && j==2 && k==1 && l==0) epsilon_uvmn.push_back(1.0);
145
146 }
147 }
148 }
149 }
150 }
151
152 _nd = 4;
153 math_pi = 3.1415926f;
154 mass_Pion = 0.13957f;
155
156 rRes = 3.0*0.197321;
157 rD = 5.0*0.197321;
158 m_Pi = 0.139570;
159 m_Pi0 = 0.134977;
160 m2_Pi = m_Pi*m_Pi;
161 m2_Pi0 = m_Pi0*m_Pi0;
162
163 m0_rho7700 = 0.77526;
164 w0_rho7700 = 0.1478;
165
166 m0_rho770p = 0.77511;
167 w0_rho770p = 0.1491;
168
169 m0_rho1450 = 1.465;
170 w0_rho1450 = 0.400;
171
172 m0_f21270 = 1.2755;
173 w0_f21270 = 0.1867;
174
175 m0_a11260 = 1.1337;
176 g1_a11260 = 0.00335;
177 g2_a11260 = 0.0;
178
179 m0_pi1300 = 1.498;
180 w0_pi1300 = 0.590;
181
182 m0_a11420 = 1.411;
183 w0_a11420 = 0.161;
184
185 m0_a11640 = 1.655;
186 w0_a11640 = 0.254;
187
188 m0_a21320 = 1.3186;
189 w0_a21320 = 0.105;
190
191 m0_pi21670 = 1.6706;
192 w0_pi21670 = 0.258;
193
194 m0_pi11400 = 1.354;
195 w0_pi11400 = 0.330;
196
197 m0_h11170 = 1.166;
198 w0_h11170 = 0.375;
199
200 m0_omega = 0.78265;
201 w0_omega = 0.00849;
202
203 m0_phi = 1.019461;
204 w0_phi = 0.004249;
205
206 s0_prod = -5.0;
207
208}
double sin(const BesAngle a)
Definition: BesAngle.h:210
double cos(const BesAngle a)
Definition: BesAngle.h:213
double getArg(int j)
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)

◆ initProbMax()

void EvtD0Topippim2pi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 210 of file EvtD0Topippim2pi0.cc.

210 {
211 setProbMax(1989484027.5);
212}
void setProbMax(double prbmx)

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