BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtSPL.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of models developed at BES collaboration
5// based on the EvtGen framework. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/BesCopyright
9// Copyright (A) 2006 Ping Rong-Gang, Pang Cai-Ying@IHEP
10//
11//
12// Module: EvtSPL.cc
13//
14// Description: Routine to decay Sigma0->photon+Lambda by helicity amplitude.
15//
16// Modification history:
17//
18// Ping R.-G. Apr., 2006 Module created
19//
20//------------------------------------------------------------------------
21//
23#include <stdlib.h>
26#include "EvtGenBase/EvtPDL.hh"
33#include "EvtSPL.hh"
34#include <string>
35using std::endl;
36
38
39void EvtSPL::getName(std::string& model_name){
40
41 model_name="SPL";
42
43}
44
45
47
48 return new EvtSPL;
49
50}
51
53 double ProbMax=4.;
54 setProbMax(ProbMax);
55}
56
58 checkNDaug(2);
62}
63
65
67 EvtParticle *v,*s1;
68 EvtVector4R pv,ps,ppr;
69
70 v =p->getDaug(0); //photon
71 s1=p->getDaug(1); //Lambda
72 pv=v->getP4Lab();
73 ps=s1->getP4Lab();
74 ppr=p->getP4();
75
76// Put phase space results into the daughters.
77
78 EvtHelSys angles(ppr,pv); //using helicity sys.angles
79 double theta=angles.getHelAng(1);
80 double phi =angles.getHelAng(2);
81 double gamma=0;
82
83
84 vertex(0,0,0, Djmn(0.5, 0.5, 0.5,phi,theta,gamma));
85 vertex(0,1,1,-Djmn(0.5, 0.5,-0.5,phi,theta,gamma));
86 vertex(1,0,0, Djmn(0.5,-0.5, 0.5,phi,theta,gamma));
87 vertex(1,1,1,-Djmn(0.5,-0.5,-0.5,phi,theta,gamma));
88 vertex(0,0,1, 0.0);
89 vertex(0,1,0, 0.0);
90 vertex(1,0,1, 0.0);
91 vertex(1,1,0, 0.0);
92 return ;
93
94}
95
96
97
98
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
Definition: EvtHelSys.cc:151
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition: KarLud.h:35
void vertex(const EvtComplex &amp)
Definition: EvtDecayAmp.hh:37
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
EvtId * getDaugs()
Definition: EvtDecayBase.hh:65
double getHelAng(int i)
Definition: EvtHelSys.cc:54
EvtVector4R getP4Lab()
Definition: EvtParticle.cc:684
const EvtVector4R & getP4() const
Definition: EvtParticle.cc:120
EvtParticle * getDaug(int i)
Definition: EvtParticle.cc:84
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
EvtDecayBase * clone()
Definition: EvtSPL.cc:46
virtual ~EvtSPL()
Definition: EvtSPL.cc:37
void init()
Definition: EvtSPL.cc:57
EvtSPL()
Definition: EvtSPL.hh:33
void initProbMax()
Definition: EvtSPL.cc:52
void decay(EvtParticle *p)
Definition: EvtSPL.cc:64
void getName(std::string &name)
Definition: EvtSPL.cc:39