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

#include <EvtDsTof0enu.hh>

+ Inheritance diagram for EvtDsTof0enu:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtDsTof0enu()

EvtDsTof0enu::EvtDsTof0enu ( )
inline

Definition at line 11 of file EvtDsTof0enu.hh.

11{}

Referenced by clone().

◆ ~EvtDsTof0enu()

EvtDsTof0enu::~EvtDsTof0enu ( )
virtual

Definition at line 28 of file EvtDsTof0enu.cc.

28{}

Member Function Documentation

◆ clone()

EvtDecayBase * EvtDsTof0enu::clone ( )
virtual

Implements EvtDecayBase.

Definition at line 34 of file EvtDsTof0enu.cc.

34 {
35 return new EvtDsTof0enu;
36}

◆ decay()

void EvtDsTof0enu::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 131 of file EvtDsTof0enu.cc.

131 {
132/*
133 double maxprob = 0.0;
134 for(int ir=0;ir<=60000000;ir++){
135 p->initializePhaseSpace(getNDaug(),getDaugs());
136 EvtVector4R _pi1 = p->getDaug(0)->getP4();
137 EvtVector4R _pi2 = p->getDaug(1)->getP4();
138 EvtVector4R _e = p->getDaug(2)->getP4();
139 EvtVector4R _nu = p->getDaug(3)->getP4();
140
141 int pid = EvtPDL::getStdHep(p->getDaug(2)->getId());
142 int charm;
143 if(pid == 11) charm = -1;
144 else charm = 1;
145 double m2, q2, cosV, cosL, chi;
146 KinVGen(_pi1, _pi2, _e, _nu, charm, m2, q2, cosV, cosL, chi);
147 double _prob = calPDF(m2, q2, cosV, cosL, chi);
148 if(_prob>maxprob) {
149 maxprob=_prob;
150 cout << "1 = " << _pi1 << endl;
151 cout << "2 = " << _pi2 << endl;
152 cout << "3 = " << _e << endl;
153 cout << "4 = " << _nu << endl;
154 std::cout << "Max PDF = " << ir << " charm= " << charm << " prob= " << _prob << std::endl;
155 }
156 }
157 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
158*/
160 EvtVector4R pi1 = p->getDaug(0)->getP4();
161 EvtVector4R pi2 = p->getDaug(1)->getP4();
162 EvtVector4R e = p->getDaug(2)->getP4();
163 EvtVector4R nu = p->getDaug(3)->getP4();
164
165 int pid = EvtPDL::getStdHep(p->getDaug(2)->getId());
166 int charm;
167 if(pid==11||pid==13) charm =-1;
168 else charm = 1;
169 double m2, q2, cosV, cosL, chi;
170 KinVGen(pi1, pi2, e, nu, charm, m2, q2, cosV, cosL, chi);
171 double prob = calPDF(m2, q2, cosV, cosL, chi);
172 setProb(prob);
173 return;
174}
character *LEPTONflag integer iresonances real pi2
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

◆ getName()

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

Implements EvtDecayBase.

Definition at line 30 of file EvtDsTof0enu.cc.

30 {
31 model_name="DsTof0enu";
32}

◆ init()

void EvtDsTof0enu::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 38 of file EvtDsTof0enu.cc.

38 {
39 static EvtId DsP=EvtPDL::getId("D_s+");
40 static EvtId DsM=EvtPDL::getId("D_s-");
41 static EvtId PIM=EvtPDL::getId("pi-");
42 static EvtId PIP=EvtPDL::getId("pi+");
43 static EvtId PI0=EvtPDL::getId("pi0");
44 static EvtId KM=EvtPDL::getId("K-");
45 static EvtId KP=EvtPDL::getId("K+");
46 static EvtId KL=EvtPDL::getId("K_L0");
47 static EvtId KS=EvtPDL::getId("K_S0");
48 static EvtId EP=EvtPDL::getId("e+");
49 static EvtId EM=EvtPDL::getId("e-");
50 static EvtId MUP=EvtPDL::getId("mu+");
51 static EvtId MUM=EvtPDL::getId("mu-");
52
53 checkNArg(0);
54 checkNDaug(4);
58
59 //std::cout << "EvtDsTof0enu ==> Initialization !" << std::endl;
60
61 EvtId parnum=getParentId();
62 EvtId d1=getDaug(0);
63 EvtId d2=getDaug(1);
64 EvtId d3=getDaug(2);
65 if ( d3 == EP || d3 == EM ) {
66 if (parnum == DsP || parnum == DsM ) {
67 if ( d1 == PI0 ) {
68 ProbMax = 33.0;
69 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (pi0pi0) e+ nu : ProMax = " << ProbMax << std::endl;
70 } else if ( d1 == PIP || d2 == PIP ) {
71 ProbMax = 33.0;
72 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (pi-pi+) e+ nu : ProMax = " << ProbMax << std::endl;
73 } else if ( d1 == KP || d2 == KP ) {
74 ProbMax = 29.0;
75 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (K-K+) e+ nu : ProMax = " << ProbMax << std::endl;
76 } else if ( d1 == KS ) {
77 ProbMax = 18.0;
78 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (KS0KS0) e+ nu : ProMax = " << ProbMax << std::endl;
79 } else if ( d1 == KL ) {
80 ProbMax = 18.0;
81 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (KL0KL0) e+ nu : ProMax = " << ProbMax << std::endl;
82 }
83 }
84 }
85 if ( d3 == MUP || d3 == MUM ) {
86 if (parnum == DsP || parnum == DsM ) {
87 if ( d1 == PI0 ) {
88 ProbMax = 33.0;
89 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (pi0pi0) mu+ nu : ProMax = " << ProbMax << std::endl;
90 } else if ( d1 == PIP || d2 == PIP ) {
91 ProbMax = 33.0;
92 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (pi-pi+) mu+ nu : ProMax = " << ProbMax << std::endl;
93 } else if ( d1 == KP || d2 == KP ) {
94 ProbMax = 29.0;
95 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (K-K+) mu+ nu : ProMax = " << ProbMax << std::endl;
96 } else if ( d1 == KS ) {
97 ProbMax = 18.0;
98 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (KS0KS0) mu+ nu : ProMax = " << ProbMax << std::endl;
99 } else if ( d1 == KL ) {
100 ProbMax = 18.0;
101 //std::cout << "EvtDsTof0enu ==> Ds -> f0 (KL0KL0) mu+ nu : ProMax = " << ProbMax << std::endl;
102 }
103 }
104 }
105
106 ciR = EvtComplex(1.0, 0.0);
107 ciM = EvtComplex(0.0, 1.0);
108
109 mPi = 0.13957;
110 mPi0 = 0.1349766;
111 mK0 = 0.497611;
112 mKa = 0.493677;
113 mEt = 0.547853;
114
115 ///////////// for Ds to f0 e nu
116 double mADs = 2.5;
117 m2ADs = mADs*mADs;
118 mf0 = 0.9399;
119 m2f0 = mf0*mf0;
120 flatte_g1 = 0.199*mf0;
121 flatte_g2 = 3.01*0.199*mf0;
122 mDs = 1.96834;
123 m2Ds = mDs*mDs;
124}
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
EvtId getParentId()
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
EvtId getDaug(int i)
Definition EvtId.hh:27
static EvtId getId(const std::string &name)
Definition EvtPDL.cc:287

◆ initProbMax()

void EvtDsTof0enu::initProbMax ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 126 of file EvtDsTof0enu.cc.

126 {
127 //cout << "EvtDsTof0enu: setProbMax = " << ProbMax << endl;
128 setProbMax(ProbMax);
129}
void setProbMax(double prbmx)

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