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

#include <EvtD0To2pip2pim.hh>

+ Inheritance diagram for EvtD0To2pip2pim:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtD0To2pip2pim()

EvtD0To2pip2pim::EvtD0To2pip2pim ( )
inline

Definition at line 34 of file EvtD0To2pip2pim.hh.

34{}

Referenced by clone().

◆ ~EvtD0To2pip2pim()

EvtD0To2pip2pim::~EvtD0To2pip2pim ( )
virtual

Definition at line 37 of file EvtD0To2pip2pim.cc.

37{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0To2pip2pim::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 43 of file EvtD0To2pip2pim.cc.

43 {
44 return new EvtD0To2pip2pim;
45}

◆ decay()

void EvtD0To2pip2pim::decay ( EvtParticle p)
virtual

Implements EvtDecayBase.

Definition at line 193 of file EvtD0To2pip2pim.cc.

193 {
194/*
195 double maxprob = 0.0;
196 for(int ir=0;ir<=60000000;ir++){
197 p->initializePhaseSpace(getNDaug(),getDaugs());
198 for(int i=0; i<_nd; i++){
199 _p4Lab[i]=p->getDaug(i)->getP4Lab();
200 _p4CM[i]=p->getDaug(i)->getP4();
201 }
202 double Prob = AmplitudeSquare(charm, tagmode);
203 if(Prob>maxprob) {
204 maxprob=Prob;
205 std::cout << "Max PDF = " << ir << " prob= " << Prob << std::endl;
206 }
207 }
208 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
209*/
211 for(int i=0; i<_nd; i++){
212 _p4Lab[i]=p->getDaug(i)->getP4Lab();
213 _p4CM[i]=p->getDaug(i)->getP4();
214 }
215 double prob = AmplitudeSquare(charm, tagmode);
216 setProb(prob);
217 return;
218}
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 EvtD0To2pip2pim::getName ( std::string &  name)
virtual

Implements EvtDecayBase.

Definition at line 39 of file EvtD0To2pip2pim.cc.

39 {
40 model_name="D0To2pip2pim";
41}

◆ init()

void EvtD0To2pip2pim::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 47 of file EvtD0To2pip2pim.cc.

47 {
48 checkNArg(2);
49 checkNDaug(4);
50 charm = getArg(0);
51 tagmode = getArg(1);
52 //std::cout << "Initializing EvtD0To2pip2pim: charm= "<<charm<<" tagmode= "<<tagmode<<std::endl;
53
54 double mag[30], pha[30];
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]= 127.158; pha[7]= -2.47773;
63 mag[8]= 339.914; pha[8]= 2.22856;
64 mag[9]= 0.320888; pha[9]= -2.6194;
65 mag[10]=0.366283; pha[10]=-0.26867;
66 mag[11]=86.0865; pha[11]=-2.49649;
67 mag[12]=6.1541; pha[12]=-1.18299;
68 mag[13]=56.6067; pha[13]=0.142977;
69 mag[14]=92.3073; pha[14]=-2.15881;
70 mag[15]=10.5885; pha[15]=-3.03166;
71 mag[16]=8.36765; pha[16]=1.8417;
72 mag[17]=6.56437; pha[17]=-2.93087;
73 mag[18]=15.7197; pha[18]=0.96925;
74 mag[19]=21.4195; pha[19]=-1.23701;
75 mag[20]=56.8867; pha[20]=-0.385837;
76 mag[21]=231.626; pha[21]=2.14842;
77 mag[22]=2938.45; pha[22]=-0.693491;
78 mag[23]=7252.7; pha[23]=2.23659;
79 mag[24]=5165.87; pha[24]=0.913557;
80 mag[25]=11508.6; pha[25]=-1.07187;
81 mag[26]=2461.86; pha[26]=1.8709;
82 mag[27]=8757.75; pha[27]=2.40756;
83 mag[28]=19.7413; pha[28]=-1.0753;
84 mag[29]=66.3826; pha[29]=2.34666;
85
86 fitpara.clear();
87 for(int i=0; i<30; i++){
88 complex<double> ctemp(mag[i]*cos(pha[i]),mag[i]*sin(pha[i]));
89 fitpara.push_back(ctemp);
90 }
91
92 g_uv.clear();
93 for(int i=0; i<4; i++){
94 for(int j=0; j<4; j++){
95 if(i!=j){
96 g_uv.push_back(0.0);
97 }else if(i<3){
98 g_uv.push_back(-1.0);
99 }else if(i==3){
100 g_uv.push_back(1.0);
101 }
102 }
103 }
104
105 epsilon_uvmn.clear();
106 for(int i=0; i<4; i++){
107 for(int j=0; j<4; j++){
108 for(int k=0; k<4; k++){
109 for(int l=0; l<4; l++){
110 if(i==j || i==k || i==l || j==k || j==l || k==l){
111 epsilon_uvmn.push_back(0.0);
112 }else{
113 if(i==0 && j==1 && k==2 && l==3) epsilon_uvmn.push_back(1.0);
114 if(i==0 && j==1 && k==3 && l==2) epsilon_uvmn.push_back(-1.0);
115 if(i==0 && j==2 && k==1 && l==3) epsilon_uvmn.push_back(-1.0);
116 if(i==0 && j==2 && k==3 && l==1) epsilon_uvmn.push_back(1.0);
117 if(i==0 && j==3 && k==1 && l==2) epsilon_uvmn.push_back(1.0);
118 if(i==0 && j==3 && k==2 && l==1) epsilon_uvmn.push_back(-1.0);
119
120 if(i==1 && j==0 && k==2 && l==3) epsilon_uvmn.push_back(-1.0);
121 if(i==1 && j==0 && k==3 && l==2) epsilon_uvmn.push_back(1.0);
122 if(i==1 && j==2 && k==0 && l==3) epsilon_uvmn.push_back(1.0);
123 if(i==1 && j==2 && k==3 && l==0) epsilon_uvmn.push_back(-1.0);
124 if(i==1 && j==3 && k==0 && l==2) epsilon_uvmn.push_back(-1.0);
125 if(i==1 && j==3 && k==2 && l==0) epsilon_uvmn.push_back(1.0);
126
127 if(i==2 && j==0 && k==1 && l==3) epsilon_uvmn.push_back(1.0);
128 if(i==2 && j==0 && k==3 && l==1) epsilon_uvmn.push_back(-1.0);
129 if(i==2 && j==1 && k==0 && l==3) epsilon_uvmn.push_back(-1.0);
130 if(i==2 && j==1 && k==3 && l==0) epsilon_uvmn.push_back(1.0);
131 if(i==2 && j==3 && k==0 && l==1) epsilon_uvmn.push_back(1.0);
132 if(i==2 && j==3 && k==1 && l==0) epsilon_uvmn.push_back(-1.0);
133
134 if(i==3 && j==0 && k==1 && l==2) epsilon_uvmn.push_back(-1.0);
135 if(i==3 && j==0 && k==2 && l==1) epsilon_uvmn.push_back(1.0);
136 if(i==3 && j==1 && k==0 && l==2) epsilon_uvmn.push_back(1.0);
137 if(i==3 && j==1 && k==2 && l==0) epsilon_uvmn.push_back(-1.0);
138 if(i==3 && j==2 && k==0 && l==1) epsilon_uvmn.push_back(-1.0);
139 if(i==3 && j==2 && k==1 && l==0) epsilon_uvmn.push_back(1.0);
140
141 }
142 }
143 }
144 }
145 }
146
147 _nd = 4;
148 math_pi = 3.1415926f;
149 mass_Pion = 0.13957f;
150
151 rRes = 3.0*0.197321;
152 rD = 5.0*0.197321;
153 m_Pi = 0.139570;
154 m2_Pi = m_Pi*m_Pi;
155
156 m0_rho770 = 0.77526;
157 w0_rho770 = 0.1478;
158
159 m0_rho1450 = 1.465;
160 w0_rho1450 = 0.400;
161
162 m0_f21270 = 1.2755;
163 w0_f21270 = 0.1867;
164
165 m0_a11260 = 1.1337;
166 g1_a11260 = 0.00335;
167 g2_a11260 = 0.0;
168
169 m0_pi1300 = 1.498;
170 w0_pi1300 = 0.590;
171
172 m0_a11420 = 1.411;
173 w0_a11420 = 0.161;
174
175 m0_a11640 = 1.655;
176 w0_a11640 = 0.254;
177
178 m0_a21320 = 1.3186;
179 w0_a21320 = 0.105;
180
181 m0_pi11400 = 1.354;
182 w0_pi11400 = 0.330;
183
184 s0_prod = -5.0;
185
186 return;
187}
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 EvtD0To2pip2pim::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 189 of file EvtD0To2pip2pim.cc.

189 {
190 setProbMax(1999257515.2);
191}
void setProbMax(double prbmx)

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