BOSS 8.0.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 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 33 of file EvtD0Topippim2pi0.hh.

33{}

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 41 of file EvtD0Topippim2pi0.cc.

41{ return new EvtD0Topippim2pi0; }

◆ decay()

void EvtD0Topippim2pi0::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 246 of file EvtD0Topippim2pi0.cc.

246 {
247 /*
248 double maxprob = 0.0;
249 for(int ir=0;ir<=60000000;ir++){
250 p->initializePhaseSpace(getNDaug(),getDaugs());
251 for(int i=0; i<_nd; i++){
252 _p4Lab[i]=p->getDaug(i)->getP4Lab();
253 _p4CM[i]=p->getDaug(i)->getP4();
254 }
255 double Prob = AmplitudeSquare(charm, tagmode);
256 if(Prob>maxprob) {
257 maxprob=Prob;
258 std::cout << "Max PDF = " << ir << " prob= " << Prob << std::endl;
259 }
260 }
261 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
262 */
264 for ( int i = 0; i < _nd; i++ )
265 {
266 _p4Lab[i] = p->getDaug( i )->getP4Lab();
267 _p4CM[i] = p->getDaug( i )->getP4();
268 }
269 double prob = AmplitudeSquare( charm, tagmode );
270 setProb( prob );
271 return;
272}
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 EvtD0Topippim2pi0::getName ( std::string & name)
virtual

Implements EvtDecayBase.

Definition at line 39 of file EvtD0Topippim2pi0.cc.

39{ model_name = "D0Topippim2pi0"; }

◆ init()

void EvtD0Topippim2pi0::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 43 of file EvtD0Topippim2pi0.cc.

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

244{ setProbMax( 1989484027.5 ); }
void setProbMax(double prbmx)

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