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

#include <EvtDsToKKmunu.hh>

+ Inheritance diagram for EvtDsToKKmunu:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtDsToKKmunu()

EvtDsToKKmunu::EvtDsToKKmunu ( )
inline

Definition at line 12 of file EvtDsToKKmunu.hh.

12{}

Referenced by clone().

◆ ~EvtDsToKKmunu()

EvtDsToKKmunu::~EvtDsToKKmunu ( )
virtual

Definition at line 27 of file EvtDsToKKmunu.cc.

27{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDsToKKmunu::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 33 of file EvtDsToKKmunu.cc.

33 {
34 return new EvtDsToKKmunu;
35}

◆ decay()

void EvtDsToKKmunu::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 98 of file EvtDsToKKmunu.cc.

98 {
99/*
100 double maxprob = 0.0;
101 for(int ir=0;ir<=2000000;ir++){
102 p->initializePhaseSpace(getNDaug(),getDaugs());
103 EvtVector4R _K = p->getDaug(0)->getP4();
104 EvtVector4R _pi = p->getDaug(1)->getP4();
105 EvtVector4R _e = p->getDaug(2)->getP4();
106 EvtVector4R _nu = p->getDaug(3)->getP4();
107 int pid = EvtPDL::getStdHep(p->getDaug(0)->getId());
108 int charm;
109 if(pid == -321) charm = 1;
110 else charm = -1;
111 double m2, q2, cosV, cosL, chi;
112 KinVGen(_K, _pi, _e, _nu, charm, m2, q2, cosV, cosL, chi);
113 double _prob = calPDF(m2, q2, cosV, cosL, chi);
114 if(_prob>maxprob) {
115 maxprob=_prob;
116 std::cout << "Max PDF = " << ir << " charm= " << charm << " prob= " << _prob << std::endl;
117 }
118 }
119 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
120*/
121 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
122 ///////////////////////////////////////////////////////////////////////////////////////// test test test PDF ////////////////////////////////////////////////////////////////////////////////////////////////
123
124/*
125 p->initializePhaseSpace(getNDaug(),getDaugs());
126 EvtVector4R _K = p->getDaug(0)->getP4();
127 EvtVector4R _pi = p->getDaug(1)->getP4();
128 EvtVector4R _e = p->getDaug(2)->getP4();
129 EvtVector4R _nu = p->getDaug(3)->getP4();
130 int pid = EvtPDL::getStdHep(p->getDaug(0)->getId());
131 int charm;
132 if(pid == -321) charm = 1;
133 else charm = -1;
134
135 double m2, q2, cosV, cosL, chi;
136 KinVGen(_K, _pi, _e, _nu, charm, m2, q2, cosV, cosL, chi);
137 //m2 = 0.7317376201248132;
138 //q2 = 0.7930526827833025;
139 //cosV = -0.1044604580373859;
140 //cosL = 0.0503218879658880;
141 //chi = 1.9753715152960665;
142 //double _prob = calPDF(m2, q2, cosV, cosL, chi);
143
144 double _prob = calPDF(0.7317376201248132, 0.7930526827833025, -0.1044604580373859, 0.0503218879658880, 1.9753715152960665);
145 std::cout << "PDF PDF1 !!!!!!!!!! = " << _prob << std::endl;
146 _prob = calPDF(0.8253460062251410, 0.7590531075741469, -0.5990247196671010, -0.9155344197677775, -1.3296895383709690);
147 std::cout << "PDF PDF2 !!!!!!!!!! = " << _prob << std::endl;
148 _prob = calPDF(0.8161884101984322, 0.2477364661970792, -0.2764898614626146, 0.2826827644931852, 0.9307086619444224);
149 std::cout << "PDF PDF3 !!!!!!!!!! = " << _prob << std::endl;
150 _prob = calPDF(1.0912051424949705, 0.1906228414935633, 0.8132818897807017, -0.1032400648183377, 0.9686208243587908);
151 std::cout << "PDF PDF4 !!!!!!!!!! = " << _prob << std::endl;
152 _prob = calPDF(0.8079301573422222, 0.9019596037894472, 0.7789653251154771, 0.5324409155087387, -2.4926364105516909);
153 std::cout << "PDF PDF5 !!!!!!!!!! = " << _prob << std::endl;
154 _prob = calPDF(0.6698684771433824, 0.1744218225194828, 0.7286179682544673, -0.1705130677785587, 1.8691658148034282);
155 std::cout << "PDF PDF6 !!!!!!!!!! = " << _prob << std::endl;
156
157 double _prob = calPDF(1.0754665082688288, 0.6798367607443577, -0.1726785245179900, -0.8252479196790240, 2.8955919246019519);
158 std::cout << "PDF PDF1 !!!!!!!!!! = " << _prob << std::endl;
159 _prob = calPDF(1.0386029533289431, 0.4389802155039476, -0.5990247196671010, -0.9155344197677775, -1.3296895383709690);
160 std::cout << "PDF PDF2 !!!!!!!!!! = " << _prob << std::endl;
161 _prob = calPDF(1.0307383656072204, 0.2894701649730593, -0.2764898614626146, 0.2826827644931852, 0.9307086619444224);
162 std::cout << "PDF PDF3 !!!!!!!!!! = " << _prob << std::endl;
163 _prob = calPDF(1.0501028363282328, 0.1987927934599780, 0.8132818897807017, -0.1032400648183377, 0.9686208243587908);
164 std::cout << "PDF PDF4 !!!!!!!!!! = " << _prob << std::endl;
165 _prob = calPDF(1.0433160107621029, 0.2206250677498859, 0.7789653251154771, 0.5324409155087387, -2.4926364105516909);
166 std::cout << "PDF PDF5 !!!!!!!!!! = " << _prob << std::endl;
167 _prob = calPDF(1.0493574400231911, 0.2460442691281926, 0.7286179682544673, -0.1705130677785587, 1.8691658148034282);
168
169*/
170 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
171 /////////////////////////////////////////////////////////////////////////////////////////////// the end //////////////////////////////////////////////////////////////////////////////////////////////////////
172
174 EvtVector4R K = p->getDaug(0)->getP4();
175 EvtVector4R pi = p->getDaug(1)->getP4();
176 EvtVector4R e = p->getDaug(2)->getP4();
177 EvtVector4R nu = p->getDaug(3)->getP4();
178
179 int pid = EvtPDL::getStdHep(p->getDaug(0)->getId());
180 int charm;
181 if(pid == -321) charm = 1;
182 else charm = -1;
183 double m2, q2, cosV, cosL, chi;
184 KinVGen(K, pi, e, nu, charm, m2, q2, cosV, cosL, chi);
185 double prob = calPDF(m2, q2, cosV, cosL, chi);
186 setProb(prob);
187 return;
188
189}
EvtId * getDaugs()
void setProb(double prob)
static int getStdHep(EvtId id)
Definition EvtPDL.hh:56
EvtId getId() const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
double double * m2
Definition qcdloop1.h:75
const float pi
Definition vector3.h:133

◆ getName()

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

Implements EvtDecayBase.

Definition at line 29 of file EvtDsToKKmunu.cc.

29 {
30 model_name="DsToKKmunu";
31}

◆ init()

void EvtDsToKKmunu::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 37 of file EvtDsToKKmunu.cc.

37 {
38 checkNArg(0);
39 checkNDaug(4);
43
44 // std::cout << "EvtDsToKKmunu ==> Initialization !" << std::endl;
45nAmps = 2;
46
47// rS = -11.27; // S-wave
48// rS1 = 0.08;
49// a_delta = 1.58;
50// b_delta = -0.81;
51// m0_1430_S = 1.425;
52// width0_1430_S = 0.270;
53// type[0] = 0;
54
55 mV = 2.1;
56 mA = 2.5;
57 V_0 = 1.58;
58 A1_0 = 1;
59 A2_0 = 0.71;
60
61 m0 = 1.01946; // P-wave phi
62 width0 = 0.004249;
63 rBW = 3.0;
64 rho = 1;
65 phi = 0;
66 type[1] = 1;
67
68 m0_1410 = 1.414; // P-wave K*(1410)
69 width0_1410 = 0.232;
70 rho_1410 = 0.1;
71 phi_1410 = 0.;
72 type[2] = 2;
73
74 TV_0 = 1; // D-wave K*2(1430)
75 T1_0 = 1;
76 T2_0 = 1;
77 m0_1430 = 1.4324;
78 width0_1430 = 0.109;
79 rho_1430 = 15;
80 phi_1430 = 0;
81 type[3] = 3;
82
83 mD = 1.96834; //Ds Mass
84 mPi = 0.49368; //K+ Mass
85 mK = 0.49368; //K- Mass
86
87 Pi = atan2(0.0,-1.0);
88 root2 = sqrt(2.);
89 root2d3 = sqrt(2./3);
90 root1d2 = sqrt(0.5);
91 root3d2 = sqrt(1.5);
92}
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)

◆ initProbMax()

void EvtDsToKKmunu::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 94 of file EvtDsToKKmunu.cc.

94 {
95 setProbMax(462526.1);
96}
void setProbMax(double prbmx)

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