BOSS 7.1.2
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 32 of file EvtD0ToKSpipi.hh.

32{}

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 38 of file EvtD0ToKSpipi.cc.

38 {
39 return new EvtD0ToKSpipi;
40}

◆ decay()

void EvtD0ToKSpipi::decay ( EvtParticle * p)
virtual

Implements EvtDecayBase.

Definition at line 110 of file EvtD0ToKSpipi.cc.

110 {
111/*
112 double maxprob = 0.0;
113 for(int ir=0;ir<=60000000;ir++){
114 p->initializePhaseSpace(getNDaug(),getDaugs());
115 for(int i=0; i<_nd; i++){
116 _p4Lab[i]=p->getDaug(i)->getP4Lab();
117 _p4CM[i]=p->getDaug(i)->getP4();
118 }
119 double Prob = AmplitudeSquare();
120 if(Prob>maxprob) {
121 maxprob=Prob;
122 std::cout << "Max PDF = " << ir << " prob= " << Prob << std::endl;
123 }
124 }
125 std::cout << "Max!!!!!!!!!!! " << maxprob<< std::endl;
126*/
128 for(int i=0; i<_nd; i++){
129 _p4Lab[i]=p->getDaug(i)->getP4Lab();
130 _p4CM[i]=p->getDaug(i)->getP4();
131 }
132 double prob = AmplitudeSquare();
133 setProb(prob);
134 return;
135}
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 {
35 model_name="D0ToKSpipi";
36}

◆ init()

void EvtD0ToKSpipi::init ( )
virtual

Reimplemented from EvtDecayBase.

Definition at line 42 of file EvtD0ToKSpipi.cc.

42 {
43 checkNArg(1);
44 checkNDaug(3);
45 tagmode = getArg(0); // Specify the tag mode to be used. Key: {0:no-specified, 1:Kpi, 2:Kpipi0, 3:K3pi}
47 //std::cout << "Initializing EvtD0ToKSpipi" << std::endl;
48
49 _nd = 3;
50 tan2thetaC = (0.22650*0.22650)/(1.-(0.22650*0.22650)) ; //sin(theta_C) = 0.22650 +/- 0.00048
51 pi180inv = 1.0/EvtConst::radToDegrees;
52
53 mass_R[0]= 0.77526; width_R[0]= 0.14740; spin_R[0]= 1; ar[0]= 1; phir[0]= 0;
54 mass_R[1]= 0.78266; width_R[1]= 0.00868; spin_R[1]= 1; ar[1]= 0.037606; phir[1]= 109.677;
55 mass_R[2]= 1.27550; width_R[2]= 0.18670; spin_R[2]= 2; ar[2]= 1.54909; phir[2]= -42.7425;
56 mass_R[3]= 1.46500; width_R[3]= 0.40000; spin_R[3]= 1; ar[3]= 3.70735; phir[3]= 103.644;
57 mass_R[4]= 0.89167; width_R[4]= 0.0514; spin_R[4]= 1; ar[4]= 1.86093; phir[4]= 136.529;
58 mass_R[5]= 1.42730; width_R[5]= 0.10000; spin_R[5]= 2; ar[5]= 1.74288; phir[5]= -48.0968;
59 mass_R[6]= 1.71800; width_R[6]= 0.3220; spin_R[6]= 1; ar[6]= 3.31; phir[6]= -118.2;
60 mass_R[7]= 1.41400; width_R[7]= 0.2320; spin_R[7]= 1; ar[7]= 0.171672; phir[7]= -68.41;
61 mass_R[8]= 0.89167; width_R[8]= 0.0514; spin_R[8]= 1; ar[8]= 0.164; phir[8]= -42.2;
62 mass_R[9]= 1.42730; width_R[9]= 0.1000; spin_R[9]= 2; ar[9]= 0.1; phir[9]= -89.6;
63 mass_R[10]= 1.41400; width_R[10]= 0.2320; spin_R[10]= 1; ar[10]= 0.21; phir[10]= 150.2;
64 mass_R[11]= 1.42500; width_R[11]= 0.2700; spin_R[11]= 1; ar[11]= 2.78276; phir[11]= 97.9608;
65 mass_R[12]= 1.42500; width_R[12]= 0.2700; spin_R[12]= 1; ar[12]= 0.11; phir[12]= 162.3;
66
67 beta[0] = EvtComplex( 0.255303*cos( 47.8861 *pi180inv), 0.255303*sin( 47.8861 *pi180inv));
68 beta[1] = EvtComplex(13.4446 *cos( -5.11127*pi180inv), 13.4446 *sin( -5.11127*pi180inv));
69 beta[2] = EvtComplex(38.8496 *cos(-30.06 *pi180inv), 38.8496 *sin(-30.06 *pi180inv));
70 beta[3] = EvtComplex(13.1086 *cos(-81.4148 *pi180inv), 13.1086 *sin(-81.4148 *pi180inv));
71 beta[4] = EvtComplex(0., 0.);
72
73 fprod[0] = EvtComplex(5.08049*cos(-182.312*pi180inv), 5.08049*sin(-182.312*pi180inv));
74 fprod[1] = EvtComplex(17.2388*cos(-219.209*pi180inv), 17.2388*sin(-219.209*pi180inv));
75 fprod[2] = EvtComplex(19.0145*cos(-76.9884*pi180inv), 19.0145*sin(-76.9884*pi180inv));
76 fprod[3] = EvtComplex(11.9875*cos(-190.502*pi180inv), 11.9875*sin(-190.502*pi180inv));
77 fprod[4] = EvtComplex(0., 0.);
78
79 ma[0]= 0.651; g[0][0]= 0.22889; g[0][1]= -0.55377; g[0][2]= 0; g[0][3]= -0.39899; g[0][4]= -0.34639;
80 ma[1]= 1.20360; g[1][0]= 0.94128; g[1][1]= 0.55095; g[1][2]= 0; g[1][3]= 0.39065; g[1][4]= 0.31503;
81 ma[2]= 1.55817; g[2][0]= 0.36856; g[2][1]= 0.23888; g[2][2]= 0.55639; g[2][3]= 0.18340; g[2][4]= 0.18681;
82 ma[3]= 1.21000; g[3][0]= 0.33650; g[3][1]= 0.40907; g[3][2]= 0.85679; g[3][3]= 0.19906; g[3][4]= -0.00984;
83 ma[4]= 1.82206; g[4][0]= 0.18171; g[4][1]= -0.17558; g[4][2]= -0.79658; g[4][3]= -0.00355; g[4][4]= 0.22358;
84
85 // Hadronic parameters for tag modes: 0=no-specified, 1=Kpi, 2=Kpipi0, 3=K3pi
86 rd[0] = 0.0;
87 rd[1] = 0.0586;
88 rd[2] = 0.0440;
89 rd[3] = 0.0546;
90 deltad[0] = 0.0;
91 deltad[1] = 194.7*pi180inv;
92 deltad[2] = 196.0*pi180inv;
93 deltad[3] = 167.0*pi180inv;
94 Rf[0] = 0.0;
95 Rf[1] = 1.0;
96 Rf[2] = 0.78;
97 Rf[3] = 0.52;
98
99}
double sin(const BesAngle a)
Definition BesAngle.h:210
double cos(const BesAngle a)
Definition BesAngle.h:213
static const double radToDegrees
Definition EvtConst.hh:30
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 101 of file EvtD0ToKSpipi.cc.

101 {
102 double ProbMax = 12500.0;
103 if (tagmode==1) ProbMax = 12500.0;
104 else if (tagmode==2) ProbMax = 12000.0;
105 else if (tagmode==3) ProbMax = 12100.0;
106 else ProbMax = 12000.0;
107 setProbMax(ProbMax);
108}
void setProbMax(double prbmx)

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