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

#include <EvtD0ToKSpipi.hh>

Inheritance diagram for EvtD0ToKSpipi:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtD0ToKSpipi()

EvtD0ToKSpipi::EvtD0ToKSpipi ( )
inline

Definition at line 31 of file EvtD0ToKSpipi.hh.

31{}

Referenced by clone().

◆ ~EvtD0ToKSpipi()

EvtD0ToKSpipi::~EvtD0ToKSpipi ( )
virtual

Definition at line 32 of file EvtD0ToKSpipi.cc.

32{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtD0ToKSpipi::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 36 of file EvtD0ToKSpipi.cc.

36{ return new EvtD0ToKSpipi; }

◆ decay()

void EvtD0ToKSpipi::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 192 of file EvtD0ToKSpipi.cc.

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

Implements EvtDecayBase.

Definition at line 34 of file EvtD0ToKSpipi.cc.

34{ model_name = "D0ToKSpipi"; }

◆ init()

void EvtD0ToKSpipi::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 38 of file EvtD0ToKSpipi.cc.

38 {
39 checkNArg( 1 );
40 checkNDaug( 3 );
41 tagmode = getArg( 0 ); // Specify the tag mode to be used. Key: {0:no-specified, 1:Kpi,
42 // 2:Kpipi0, 3:K3pi}
44 // std::cout << "Initializing EvtD0ToKSpipi" << std::endl;
45
46 _nd = 3;
47 tan2thetaC = ( 0.22650 * 0.22650 ) /
48 ( 1. - ( 0.22650 * 0.22650 ) ); // sin(theta_C) = 0.22650 +/- 0.00048
49 pi180inv = 1.0 / EvtConst::radToDegrees;
50
51 mass_R[0] = 0.77526;
52 width_R[0] = 0.14740;
53 spin_R[0] = 1;
54 ar[0] = 1;
55 phir[0] = 0;
56 mass_R[1] = 0.78266;
57 width_R[1] = 0.00868;
58 spin_R[1] = 1;
59 ar[1] = 0.037606;
60 phir[1] = 109.677;
61 mass_R[2] = 1.27550;
62 width_R[2] = 0.18670;
63 spin_R[2] = 2;
64 ar[2] = 1.54909;
65 phir[2] = -42.7425;
66 mass_R[3] = 1.46500;
67 width_R[3] = 0.40000;
68 spin_R[3] = 1;
69 ar[3] = 3.70735;
70 phir[3] = 103.644;
71 mass_R[4] = 0.89167;
72 width_R[4] = 0.0514;
73 spin_R[4] = 1;
74 ar[4] = 1.86093;
75 phir[4] = 136.529;
76 mass_R[5] = 1.42730;
77 width_R[5] = 0.10000;
78 spin_R[5] = 2;
79 ar[5] = 1.74288;
80 phir[5] = -48.0968;
81 mass_R[6] = 1.71800;
82 width_R[6] = 0.3220;
83 spin_R[6] = 1;
84 ar[6] = 3.31;
85 phir[6] = -118.2;
86 mass_R[7] = 1.41400;
87 width_R[7] = 0.2320;
88 spin_R[7] = 1;
89 ar[7] = 0.171672;
90 phir[7] = -68.41;
91 mass_R[8] = 0.89167;
92 width_R[8] = 0.0514;
93 spin_R[8] = 1;
94 ar[8] = 0.164;
95 phir[8] = -42.2;
96 mass_R[9] = 1.42730;
97 width_R[9] = 0.1000;
98 spin_R[9] = 2;
99 ar[9] = 0.1;
100 phir[9] = -89.6;
101 mass_R[10] = 1.41400;
102 width_R[10] = 0.2320;
103 spin_R[10] = 1;
104 ar[10] = 0.21;
105 phir[10] = 150.2;
106 mass_R[11] = 1.42500;
107 width_R[11] = 0.2700;
108 spin_R[11] = 1;
109 ar[11] = 2.78276;
110 phir[11] = 97.9608;
111 mass_R[12] = 1.42500;
112 width_R[12] = 0.2700;
113 spin_R[12] = 1;
114 ar[12] = 0.11;
115 phir[12] = 162.3;
116
117 beta[0] =
118 EvtComplex( 0.255303 * cos( 47.8861 * pi180inv ), 0.255303 * sin( 47.8861 * pi180inv ) );
119 beta[1] =
120 EvtComplex( 13.4446 * cos( -5.11127 * pi180inv ), 13.4446 * sin( -5.11127 * pi180inv ) );
121 beta[2] =
122 EvtComplex( 38.8496 * cos( -30.06 * pi180inv ), 38.8496 * sin( -30.06 * pi180inv ) );
123 beta[3] =
124 EvtComplex( 13.1086 * cos( -81.4148 * pi180inv ), 13.1086 * sin( -81.4148 * pi180inv ) );
125 beta[4] = EvtComplex( 0., 0. );
126
127 fprod[0] =
128 EvtComplex( 5.08049 * cos( -182.312 * pi180inv ), 5.08049 * sin( -182.312 * pi180inv ) );
129 fprod[1] =
130 EvtComplex( 17.2388 * cos( -219.209 * pi180inv ), 17.2388 * sin( -219.209 * pi180inv ) );
131 fprod[2] =
132 EvtComplex( 19.0145 * cos( -76.9884 * pi180inv ), 19.0145 * sin( -76.9884 * pi180inv ) );
133 fprod[3] =
134 EvtComplex( 11.9875 * cos( -190.502 * pi180inv ), 11.9875 * sin( -190.502 * pi180inv ) );
135 fprod[4] = EvtComplex( 0., 0. );
136
137 ma[0] = 0.651;
138 g[0][0] = 0.22889;
139 g[0][1] = -0.55377;
140 g[0][2] = 0;
141 g[0][3] = -0.39899;
142 g[0][4] = -0.34639;
143 ma[1] = 1.20360;
144 g[1][0] = 0.94128;
145 g[1][1] = 0.55095;
146 g[1][2] = 0;
147 g[1][3] = 0.39065;
148 g[1][4] = 0.31503;
149 ma[2] = 1.55817;
150 g[2][0] = 0.36856;
151 g[2][1] = 0.23888;
152 g[2][2] = 0.55639;
153 g[2][3] = 0.18340;
154 g[2][4] = 0.18681;
155 ma[3] = 1.21000;
156 g[3][0] = 0.33650;
157 g[3][1] = 0.40907;
158 g[3][2] = 0.85679;
159 g[3][3] = 0.19906;
160 g[3][4] = -0.00984;
161 ma[4] = 1.82206;
162 g[4][0] = 0.18171;
163 g[4][1] = -0.17558;
164 g[4][2] = -0.79658;
165 g[4][3] = -0.00355;
166 g[4][4] = 0.22358;
167
168 // Hadronic parameters for tag modes: 0=no-specified, 1=Kpi, 2=Kpipi0, 3=K3pi
169 rd[0] = 0.0;
170 rd[1] = 0.0586;
171 rd[2] = 0.0440;
172 rd[3] = 0.0546;
173 deltad[0] = 0.0;
174 deltad[1] = 194.7 * pi180inv;
175 deltad[2] = 196.0 * pi180inv;
176 deltad[3] = 167.0 * pi180inv;
177 Rf[0] = 0.0;
178 Rf[1] = 1.0;
179 Rf[2] = 0.78;
180 Rf[3] = 0.52;
181}
static const double radToDegrees
Definition EvtConst.hh:29
void checkSpinParent(EvtSpinType::spintype sp)
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 EvtD0ToKSpipi::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 183 of file EvtD0ToKSpipi.cc.

183 {
184 double ProbMax = 12500.0;
185 if ( tagmode == 1 ) ProbMax = 12500.0;
186 else if ( tagmode == 2 ) ProbMax = 12000.0;
187 else if ( tagmode == 3 ) ProbMax = 12100.0;
188 else ProbMax = 12000.0;
189 setProbMax( ProbMax );
190}
void setProbMax(double prbmx)

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