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

#include <EvtD0Topipipi0.hh>

+ Inheritance diagram for EvtD0Topipipi0:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtD0Topipipi0()

EvtD0Topipipi0::EvtD0Topipipi0 ( )
inline

Definition at line 34 of file EvtD0Topipipi0.hh.

34{}

Referenced by clone().

◆ ~EvtD0Topipipi0()

EvtD0Topipipi0::~EvtD0Topipipi0 ( )
virtual

Definition at line 43 of file EvtD0Topipipi0.cc.

43{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0Topipipi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 49 of file EvtD0Topipipi0.cc.

49 {
50 return new EvtD0Topipipi0;
51}

◆ decay()

void EvtD0Topipipi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 162 of file EvtD0Topipipi0.cc.

162 {
163/*
164 double maxprob = 0.0;
165 for(int ir=0;ir<=60000000;ir++){
166 p->initializePhaseSpace(getNDaug(),getDaugs());
167 for(int i=0; i<_nd; i++){
168 _p4Lab[i]=p->getDaug(i)->getP4Lab();
169 _p4CM[i]=p->getDaug(i)->getP4();
170 }
171 double Prob = AmplitudeSquare(charm, tagmode);
172 if(Prob>maxprob) {
173 maxprob=Prob;
174 std::cout << "Max PDF = " << ir << " prob= " << Prob << std::endl;
175 }
176 }
177 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
178*/
180 for(int i=0; i<_nd; i++){
181 _p4Lab[i]=p->getDaug(i)->getP4Lab();
182 _p4CM[i]=p->getDaug(i)->getP4();
183 }
184 double prob = AmplitudeSquare(charm, tagmode);
185 setProb(prob);
186 return;
187}
EvtId * getDaugs()
void setProb(double prob)
EvtVector4R getP4Lab()
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)

◆ getName()

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

Implements EvtDecayBase.

Definition at line 45 of file EvtD0Topipipi0.cc.

45 {
46 model_name="D0Topipipi0";
47}

◆ init()

void EvtD0Topipipi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 53 of file EvtD0Topipipi0.cc.

53 {
54 checkNArg(2);
55 checkNDaug(3);
56 charm = getArg(0);
57 tagmode = getArg(1);
58 //std::cout << "Initializing EvtD0Topipipi0: charm= "<<charm<<" tagmode= "<<tagmode<<std::endl;
59
60
61 g_uv.clear();
62 for(int i=0; i<4; i++){
63 for(int j=0; j<4; j++){
64 if(i!=j){
65 g_uv.push_back(0.0);
66 }else if(i<3){
67 g_uv.push_back(-1.0);
68 }else if(i==3){
69 g_uv.push_back(1.0);
70 }
71 }
72 }
73
74 epsilon_uvmn.clear();
75 for(int i=0; i<4; i++){
76 for(int j=0; j<4; j++){
77 for(int k=0; k<4; k++){
78 for(int l=0; l<4; l++){
79 if(i==j || i==k || i==l || j==k || j==l || k==l){
80 epsilon_uvmn.push_back(0.0);
81 }else{
82 if(i==0 && j==1 && k==2 && l==3) epsilon_uvmn.push_back(1.0);
83 if(i==0 && j==1 && k==3 && l==2) epsilon_uvmn.push_back(-1.0);
84 if(i==0 && j==2 && k==1 && l==3) epsilon_uvmn.push_back(-1.0);
85 if(i==0 && j==2 && k==3 && l==1) epsilon_uvmn.push_back(1.0);
86 if(i==0 && j==3 && k==1 && l==2) epsilon_uvmn.push_back(1.0);
87 if(i==0 && j==3 && k==2 && l==1) epsilon_uvmn.push_back(-1.0);
88
89 if(i==1 && j==0 && k==2 && l==3) epsilon_uvmn.push_back(-1.0);
90 if(i==1 && j==0 && k==3 && l==2) epsilon_uvmn.push_back(1.0);
91 if(i==1 && j==2 && k==0 && l==3) epsilon_uvmn.push_back(1.0);
92 if(i==1 && j==2 && k==3 && l==0) epsilon_uvmn.push_back(-1.0);
93 if(i==1 && j==3 && k==0 && l==2) epsilon_uvmn.push_back(-1.0);
94 if(i==1 && j==3 && k==2 && l==0) epsilon_uvmn.push_back(1.0);
95
96 if(i==2 && j==0 && k==1 && l==3) epsilon_uvmn.push_back(1.0);
97 if(i==2 && j==0 && k==3 && l==1) epsilon_uvmn.push_back(-1.0);
98 if(i==2 && j==1 && k==0 && l==3) epsilon_uvmn.push_back(-1.0);
99 if(i==2 && j==1 && k==3 && l==0) epsilon_uvmn.push_back(1.0);
100 if(i==2 && j==3 && k==0 && l==1) epsilon_uvmn.push_back(1.0);
101 if(i==2 && j==3 && k==1 && l==0) epsilon_uvmn.push_back(-1.0);
102
103 if(i==3 && j==0 && k==1 && l==2) epsilon_uvmn.push_back(-1.0);
104 if(i==3 && j==0 && k==2 && l==1) epsilon_uvmn.push_back(1.0);
105 if(i==3 && j==1 && k==0 && l==2) epsilon_uvmn.push_back(1.0);
106 if(i==3 && j==1 && k==2 && l==0) epsilon_uvmn.push_back(-1.0);
107 if(i==3 && j==2 && k==0 && l==1) epsilon_uvmn.push_back(-1.0);
108 if(i==3 && j==2 && k==1 && l==0) epsilon_uvmn.push_back(1.0);
109
110 }
111 }
112 }
113 }
114 }
115
116 _nd = 3;
117 math_pi = 3.1415926;
118 mass_Pion = 0.13957;
119
120 rRes = 3.0*0.197321;
121 rD = 5.0*0.197321;
122 m_Pi = mass_Pion;
123 m2_Pi = m_Pi*m_Pi;
124 m_Pi0 = 0.134977;
125 m2_Pi0 = m_Pi0*m_Pi0;
126
127 m0_rho7700 = 0.77526;
128 w0_rho7700 = 0.1478;
129
130 m0_rho770p = 0.77511;
131 w0_rho770p = 0.1491;
132
133 m0_f21270 = 1.2755;
134 w0_f21270 = 0.1867;
135
136 s0_prod = -5.0;
137
138 fitpara.clear();
139 fitpara.push_back(complex<double>(100,0));
140 fitpara.push_back(complex<double>(69.8939*cos(3.14983),69.8939*sin(3.14983)));
141 fitpara.push_back(complex<double>(58.521*cos(-2.90685),58.521*sin(-2.90685)));
142 fitpara.push_back(complex<double>(483.035*cos(-0.679009),483.035*sin(-0.679009)));
143 fitpara.push_back(complex<double>(441.921*cos(-0.879847),441.921*sin(-0.879847)));
144 fitpara.push_back(complex<double>(1356.95*cos(-0.206653),1356.95*sin(-0.206653)));
145 fitpara.push_back(complex<double>(559.218*cos(0.501728),559.218*sin(0.501728)));
146 fitpara.push_back(complex<double>(3165.25*cos(3.39939),3165.25*sin(3.39939)));
147 fitpara.push_back(complex<double>(1422.93*cos(3.05347),1422.93*sin(3.05347)));
148 fitpara.push_back(complex<double>(2399.8*cos(2.24983),2399.8*sin(2.24983)));
149 fitpara.push_back(complex<double>(4601.19*cos(2.74388),4601.19*sin(2.74388)));
150 fitpara.push_back(complex<double>(1684.1*cos(1.99894),1684.1*sin(1.99894)));
151 fitpara.push_back(complex<double>(678.674*cos(-2.510691),678.674*sin(-2.510691)));
152 fitpara.push_back(complex<double>(2.19068*cos(0.991805),2.19068*sin(0.991805)));
153
154
155 return;
156}
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 EvtD0Topipipi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 158 of file EvtD0Topipipi0.cc.

158 {
159 setProbMax(60000000);
160}
void setProbMax(double prbmx)

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