BOSS 8.0.0
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 33 of file EvtD0Topipipi0.hh.

33{}

Referenced by clone().

◆ ~EvtD0Topipipi0()

EvtD0Topipipi0::~EvtD0Topipipi0 ( )
virtual

Definition at line 42 of file EvtD0Topipipi0.cc.

42{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0Topipipi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 46 of file EvtD0Topipipi0.cc.

46{ return new EvtD0Topipipi0; }

◆ decay()

void EvtD0Topipipi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 160 of file EvtD0Topipipi0.cc.

160 {
161 /*
162 double maxprob = 0.0;
163 for(int ir=0;ir<=60000000;ir++){
164 p->initializePhaseSpace(getNDaug(),getDaugs());
165 for(int i=0; i<_nd; i++){
166 _p4Lab[i]=p->getDaug(i)->getP4Lab();
167 _p4CM[i]=p->getDaug(i)->getP4();
168 }
169 double Prob = AmplitudeSquare(charm, tagmode);
170 if(Prob>maxprob) {
171 maxprob=Prob;
172 std::cout << "Max PDF = " << ir << " prob= " << Prob << std::endl;
173 }
174 }
175 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
176 */
178 for ( int i = 0; i < _nd; i++ )
179 {
180 _p4Lab[i] = p->getDaug( i )->getP4Lab();
181 _p4CM[i] = p->getDaug( i )->getP4();
182 }
183 double prob = AmplitudeSquare( charm, tagmode );
184 setProb( prob );
185 return;
186}
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 44 of file EvtD0Topipipi0.cc.

44{ model_name = "D0Topipipi0"; }

◆ init()

void EvtD0Topipipi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 48 of file EvtD0Topipipi0.cc.

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

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