BOSS 6.6.4.p01
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//
23#include <stdlib.h>
26#include "EvtGenBase/EvtPDL.hh"
34
35#include <string>
36
38
39void EvtT2GV::getName(std::string& model_name){
40
41 model_name="T2GV";
42
43}
44
46
47 return new EvtT2GV;
48
49}
50
51
53
54 // check that there are 0 arguments
55 checkNArg(0);
56
57}
58
60
61 // noProbMax();
62setProbMax(30.00001);
63}
64
66
67loop:
69 EvtParticle *v,*s1;
70 EvtVector4R pv,ps,ppr;
71
72 v =p->getDaug(0); //gamma
73 s1=p->getDaug(1); //J/psi
74 pv=v->getP4();
75 ps=s1->getP4();
76 ppr=p->getP4();
77
78 double alpha=21./73.;
79// Put phase space results into the daughters.
80// EvtHelSys angles(ppr,pv); //using helicity sys. angles
81 EvtHelSys angles(ps,pv);
82 double theta =angles.getHelAng(1);
83 double phi =angles.getHelAng(2);
84 double gamma=0;
85 double F0=1.;
86 double F1=sqrt(3.)*F0; //pure M1 transition assumed,see PRD13,p1203
87 double F2=sqrt(6.)*F0; //helicity amplitude is labeled with lambda_chi and photon
88
89
90 int j1,j2,j3;
91 for(j1=0;j1<=4;){
92 for(j2=0;j2<=1;){
93 for(j3=0;j3<=2;){
94 vertex(j1,j2,j3,0.0);j3++;}
95j2++;}
96j1++;}
97
98
99 vertex(0,0,0, Djmn(1, 1, 1,phi,theta,gamma)*F0);
100 vertex(0,0,1, Djmn(1,-1, 1,phi,theta,gamma)*F0);
101 vertex(0,0,2, Djmn(1, 0, 1,phi,theta,gamma)*F0);
102 vertex(0,1,0, Djmn(1, 1,-1,phi,theta,gamma)*F0);
103 vertex(0,1,1, Djmn(1,-1,-1,phi,theta,gamma)*F0);
104 vertex(0,1,2, Djmn(1, 0,-1,phi,theta,gamma)*F0);
105
106 vertex(1,0,0, Djmn(1, 1,-1,phi,theta,gamma)*F2);
107 vertex(1,0,1, Djmn(1,-1,-1,phi,theta,gamma)*F2);
108 vertex(1,0,2, Djmn(1, 0,-1,phi,theta,gamma)*F2);
109
110 vertex(2,1,0, Djmn(1, 1, 1,phi,theta,gamma)*F2);
111 vertex(2,1,1, Djmn(1,-1, 1,phi,theta,gamma)*F2);
112 vertex(2,1,2, Djmn(1, 0, 1,phi,theta,gamma)*F2);
113
114 vertex(3,0,0, Djmn(1, 1, 0,phi,theta,gamma)*F1);
115 vertex(3,0,1, Djmn(1,-1, 0,phi,theta,gamma)*F1);
116 vertex(3,0,2, Djmn(1, 0, 0,phi,theta,gamma)*F1);
117
118 vertex(4,1,0, Djmn(1, 1, 0,phi,theta,gamma)*F1);
119 vertex(4,1,1, Djmn(1,-1, 0,phi,theta,gamma)*F1);
120 vertex(4,1,2, Djmn(1, 0, 0,phi,theta,gamma)*F1);
121
122
123 return ;
124}
125
126
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
Definition: EvtHelSys.cc:151
const 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)
Definition: EvtDecayAmp.hh:37
void setProbMax(double prbmx)
EvtId * getDaugs()
Definition: EvtDecayBase.hh:65
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
double getHelAng(int i)
Definition: EvtHelSys.cc:54
const EvtVector4R & getP4() const
Definition: EvtParticle.cc:121
EvtParticle * getDaug(int i)
Definition: EvtParticle.cc:85
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:52
EvtT2GV()
Definition: EvtT2GV.hh:34
EvtDecayBase * clone()
Definition: EvtT2GV.cc:45
void decay(EvtParticle *p)
Definition: EvtT2GV.cc:65
void initProbMax()
Definition: EvtT2GV.cc:59
virtual ~EvtT2GV()
Definition: EvtT2GV.cc:37