BOSS 8.0.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//
22#include "EvtSPL.hh"
33#include <stdlib.h>
34#include <string>
35using std::endl;
36
38
39void EvtSPL::getName( std::string& model_name ) { model_name = "SPL"; }
40
42
44 double ProbMax = 4.;
45 setProbMax( ProbMax );
46}
47
54
56
58 EvtParticle *v, *s1;
59 EvtVector4R pv, ps, ppr;
60
61 v = p->getDaug( 0 ); // photon
62 s1 = p->getDaug( 1 ); // Lambda
63 pv = v->getP4Lab();
64 ps = s1->getP4Lab();
65 ppr = p->getP4();
66
67 // Put phase space results into the daughters.
68
69 EvtHelSys angles( ppr, pv ); // using helicity sys.angles
70 double theta = angles.getHelAng( 1 );
71 double phi = angles.getHelAng( 2 );
72 double gamma = 0;
73
74 vertex( 0, 0, 0, Djmn( 0.5, 0.5, 0.5, phi, theta, gamma ) );
75 vertex( 0, 1, 1, -Djmn( 0.5, 0.5, -0.5, phi, theta, gamma ) );
76 vertex( 1, 0, 0, Djmn( 0.5, -0.5, 0.5, phi, theta, gamma ) );
77 vertex( 1, 1, 1, -Djmn( 0.5, -0.5, -0.5, phi, theta, gamma ) );
78 vertex( 0, 0, 1, 0.0 );
79 vertex( 0, 1, 0, 0.0 );
80 vertex( 1, 0, 1, 0.0 );
81 vertex( 1, 1, 0, 0.0 );
82 return;
83}
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
Definition EvtHelSys.cc:165
**********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)
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()
double getHelAng(int i)
Definition EvtHelSys.cc:52
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)
EvtDecayBase * clone()
Definition EvtSPL.cc:41
virtual ~EvtSPL()
Definition EvtSPL.cc:37
void init()
Definition EvtSPL.cc:48
EvtSPL()
Definition EvtSPL.hh:31
void initProbMax()
Definition EvtSPL.cc:43
void decay(EvtParticle *p)
Definition EvtSPL.cc:55
void getName(std::string &name)
Definition EvtSPL.cc:39