BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0ToKKpi0 Class Reference

#include <EvtD0ToKKpi0.hh>

Inheritance diagram for EvtD0ToKKpi0:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtD0ToKKpi0()

EvtD0ToKKpi0::EvtD0ToKKpi0 ( )
inline

Definition at line 34 of file EvtD0ToKKpi0.hh.

34{}

Referenced by clone().

◆ ~EvtD0ToKKpi0()

EvtD0ToKKpi0::~EvtD0ToKKpi0 ( )
virtual

Definition at line 42 of file EvtD0ToKKpi0.cc.

42{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0ToKKpi0::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 46 of file EvtD0ToKKpi0.cc.

46{ return new EvtD0ToKKpi0; }

◆ decay()

void EvtD0ToKKpi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 161 of file EvtD0ToKKpi0.cc.

161 {
162 /*
163 double maxprob = 0.0;
164 for(int ir=0;ir<=60000000;ir++){
165 p->initializePhaseSpace(getNDaug(),getDaugs());
166 for(int i=0; i<_nd; i++){
167 _p4Lab[i]=p->getDaug(i)->getP4Lab();
168 _p4CM[i]=p->getDaug(i)->getP4();
169 }
170 double Prob = AmplitudeSquare(charm, tagmode);
171 if(Prob>maxprob) {
172 maxprob=Prob;
173 std::cout << "Max PDF = " << ir << " prob= " << Prob << std::endl;
174 }
175 }
176 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
177 */
179 for ( int i = 0; i < _nd; i++ )
180 {
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 EvtD0ToKKpi0::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 44 of file EvtD0ToKKpi0.cc.

44{ model_name = "D0ToKKpi0"; }

◆ init()

void EvtD0ToKKpi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 48 of file EvtD0ToKKpi0.cc.

48 {
49 checkNArg( 2 );
50 checkNDaug( 3 );
51 charm = getArg( 0 );
52 tagmode = getArg( 1 );
53 // std::cout << "Initializing EvtD0ToKKpi0: 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 m_Ka = 0.493677;
124 m2_Ka = m_Ka * m_Ka;
125
126 m0_Kst892 = 0.89167;
127 w0_Kst892 = 0.0514;
128
129 m0_Kst1410 = 1.414;
130 w0_Kst1410 = 0.232;
131
132 m0_phi1020 = 1.019461;
133 w0_phi1020 = 0.004249;
134
135 m0_f0980 = 0.965;
136 g1_f0980 = 0.165;
137 g2_f0980 = 4.210;
138
139 m0_K01430 = 1.441;
140 w0_K01430 = 0.193;
141
142 a_lass = 0.113;
143 r_lass = -33.8;
144
145 fitpara.clear();
146 fitpara.push_back( complex<double>( 100, 0 ) );
147 fitpara.push_back( complex<double>( 66.2031 * cos( 2.5703 ), 66.2031 * sin( 2.5703 ) ) );
148 fitpara.push_back( complex<double>( 50.1991 * cos( 3.34488 ), 50.1991 * sin( 3.34488 ) ) );
149 fitpara.push_back(
150 complex<double>( 236.463 * cos( -0.541955 ), 236.463 * sin( -0.541955 ) ) );
151 fitpara.push_back(
152 complex<double>( 9389.32 * cos( 2.1910213 ), 9389.32 * sin( 2.1910213 ) ) );
153
154 return;
155}
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 EvtD0ToKKpi0::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 157 of file EvtD0ToKKpi0.cc.

157 {
158 setProbMax( 1432000000 ); // 1431906201.4
159}
void setProbMax(double prbmx)

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