BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtT2GV.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 @IHEP
10//
11// Module: EvtT2GV.cc
12//
13// Description: Routine to decay chi_c2-> gamma J/psi
14//
15// Modification history:
16//
17// Ping R.-G. December, 2006 Module created
18//
19//------------------------------------------------------------------------
20
21//
22#include "EvtT2GV.hh"
33#include <stdlib.h>
34
35#include <string>
36
38
39void EvtT2GV::getName( std::string& model_name ) { model_name = "T2GV"; }
40
42
44
45 // check that there are 0 arguments
46 checkNArg( 0 );
47}
48
50
51 // noProbMax();
52 setProbMax( 30.00001 );
53}
54
56
57loop:
59 EvtParticle *v, *s1;
60 EvtVector4R pv, ps, ppr;
61
62 v = p->getDaug( 0 ); // gamma
63 s1 = p->getDaug( 1 ); // J/psi
64 pv = v->getP4();
65 ps = s1->getP4();
66 ppr = p->getP4();
67
68 double alpha = 21. / 73.;
69 // Put phase space results into the daughters.
70 // EvtHelSys angles(ppr,pv); //using helicity sys. angles
71 EvtHelSys angles( ps, pv );
72 double theta = angles.getHelAng( 1 );
73 double phi = angles.getHelAng( 2 );
74 double gamma = 0;
75 double F0 = 1.;
76 double F1 = sqrt( 3. ) * F0; // pure M1 transition assumed,see PRD13,p1203
77 double F2 = sqrt( 6. ) * F0; // helicity amplitude is labeled with lambda_chi and photon
78
79 int j1, j2, j3;
80 for ( j1 = 0; j1 <= 4; )
81 {
82 for ( j2 = 0; j2 <= 1; )
83 {
84 for ( j3 = 0; j3 <= 2; )
85 {
86 vertex( j1, j2, j3, 0.0 );
87 j3++;
88 }
89 j2++;
90 }
91 j1++;
92 }
93
94 vertex( 0, 0, 0, Djmn( 1, 1, 1, phi, theta, gamma ) * F0 );
95 vertex( 0, 0, 1, Djmn( 1, -1, 1, phi, theta, gamma ) * F0 );
96 vertex( 0, 0, 2, Djmn( 1, 0, 1, phi, theta, gamma ) * F0 );
97 vertex( 0, 1, 0, Djmn( 1, 1, -1, phi, theta, gamma ) * F0 );
98 vertex( 0, 1, 1, Djmn( 1, -1, -1, phi, theta, gamma ) * F0 );
99 vertex( 0, 1, 2, Djmn( 1, 0, -1, phi, theta, gamma ) * F0 );
100
101 vertex( 1, 0, 0, Djmn( 1, 1, -1, phi, theta, gamma ) * F2 );
102 vertex( 1, 0, 1, Djmn( 1, -1, -1, phi, theta, gamma ) * F2 );
103 vertex( 1, 0, 2, Djmn( 1, 0, -1, phi, theta, gamma ) * F2 );
104
105 vertex( 2, 1, 0, Djmn( 1, 1, 1, phi, theta, gamma ) * F2 );
106 vertex( 2, 1, 1, Djmn( 1, -1, 1, phi, theta, gamma ) * F2 );
107 vertex( 2, 1, 2, Djmn( 1, 0, 1, phi, theta, gamma ) * F2 );
108
109 vertex( 3, 0, 0, Djmn( 1, 1, 0, phi, theta, gamma ) * F1 );
110 vertex( 3, 0, 1, Djmn( 1, -1, 0, phi, theta, gamma ) * F1 );
111 vertex( 3, 0, 2, Djmn( 1, 0, 0, phi, theta, gamma ) * F1 );
112
113 vertex( 4, 1, 0, Djmn( 1, 1, 0, phi, theta, gamma ) * F1 );
114 vertex( 4, 1, 1, Djmn( 1, -1, 0, phi, theta, gamma ) * F1 );
115 vertex( 4, 1, 2, Djmn( 1, 0, 0, phi, theta, gamma ) * F1 );
116
117 return;
118}
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
Definition EvtHelSys.cc:165
double alpha
**********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 setProbMax(double prbmx)
EvtId * getDaugs()
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
double getHelAng(int i)
Definition EvtHelSys.cc:52
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
void getName(std::string &name)
Definition EvtT2GV.cc:39
void init()
Definition EvtT2GV.cc:43
EvtT2GV()
Definition EvtT2GV.hh:33
EvtDecayBase * clone()
Definition EvtT2GV.cc:41
void decay(EvtParticle *p)
Definition EvtT2GV.cc:55
void initProbMax()
Definition EvtT2GV.cc:49
virtual ~EvtT2GV()
Definition EvtT2GV.cc:37