BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtChi2BB2.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: EvtChi2BB2.cc
12//
13// Description: Routine to decay Chi2 to B10 B10bar.
14//
15// Modification history:
16//
17// Pang C.Y. and Ping R.-G. April, 2007 Module created
18//
19//------------------------------------------------------------------------
20//
22#include <stdlib.h>
25#include "EvtGenBase/EvtPDL.hh"
32#include "EvtChi2BB2.hh"
33#include <string>
34using std::endl;
35using std::cout;
37
38void EvtChi2BB2::getName(std::string& model_name){
39
40 model_name="Chi2BB2";
41
42}
43
44
46
47 return new EvtChi2BB2;
48
49}
50
52// check that there are 0 arguments
53 checkNArg(5);
54 checkNDaug(2);
58
59 }
60
61/*
62void EvtChi2BB2::initProbMax() {
63
64 //Hard coded... should not be hard to calculate...
65 setProbMax(100.0);
66
67}
68*/
70
72
73 EvtParticle *v,*s1;
74 EvtVector4R pv,ps,ppr;
75
76 v =p->getDaug(0);
77 s1=p->getDaug(1);
78 pv=v->getP4();
79 ps=s1->getP4();
80 ppr=p->getP4();
81
82// Put phase space results into the daughters.
83 EvtHelSys angles(ppr,pv); //using helicity sys. angles
84 double theta =angles.getHelAng(1);
85 double phi =angles.getHelAng(2);
86 double gamma=0;
87 double F00,F01,F02,F03,F10,F11,F13,F20,F22,F23,F30,F31,F32,F33;
88 F00=getArg(0);
89 F01=getArg(1);
90 F02=getArg(2);
91 F03=getArg(3);
92 F11=getArg(4);
93
94 F33=F00; F32=F01; F31=F02; F30=F03; F22=F11;
95 F10=F01; F20=F02; F23=F10; F13=F20;
96//cout<<"********F00,F01,F02,F03,F10,F11,F13,F20,F22,F23,F30,F31,F32,F33="<<F00<<F01<<F02<<F03<<F10<<F11<<F13<<F20<<F22<<F23<<F30<<F31<<F32<<F33<<endl;
97
98
99
100 vertex(0,0,0,Djmn(2, 0, 0,phi,theta,gamma)*F00);//Chi2 helicity =0 corresponding index 0;
101 vertex(0,0,1,Djmn(2, 0,-1,phi,theta,gamma)*F01);
102 vertex(0,0,2,Djmn(2, 0, 2,phi,theta,gamma)*F02);
103 vertex(0,0,3,Djmn(2, 0, 1,phi,theta,gamma)*F03);
104 vertex(0,1,0,Djmn(2, 0, 1,phi,theta,gamma)*F10);
105 vertex(0,1,1,Djmn(2, 0, 0,phi,theta,gamma)*F11);
106 vertex(0,1,2,0.0);
107 vertex(0,1,3,Djmn(2, 0, 2,phi,theta,gamma)*F13);
108 vertex(0,2,0,Djmn(2, 0,-2,phi,theta,gamma)*F20);
109 vertex(0,2,1,0.0);
110 vertex(0,2,2,Djmn(2, 0, 0,phi,theta,gamma)*F22);
111 vertex(0,2,3,Djmn(2, 0,-1,phi,theta,gamma)*F23);
112 vertex(0,3,0,Djmn(2, 0,-1,phi,theta,gamma)*F30);
113 vertex(0,3,1,Djmn(2, 0,-2,phi,theta,gamma)*F31);
114 vertex(0,3,2,Djmn(2, 0, 1,phi,theta,gamma)*F32);
115 vertex(0,3,3,Djmn(2, 0, 0,phi,theta,gamma)*F33);
116
117 vertex(1,0,0,Djmn(2, 2, 0,phi,theta,gamma)*F00);//Chi2 helicity =2 corresponding index 1;
118 vertex(1,0,1,Djmn(2, 2,-1,phi,theta,gamma)*F01);
119 vertex(1,0,2,Djmn(2, 2, 2,phi,theta,gamma)*F02);
120 vertex(1,0,3,Djmn(2, 2, 1,phi,theta,gamma)*F03);
121 vertex(1,1,0,Djmn(2, 2, 1,phi,theta,gamma)*F10);
122 vertex(1,1,1,Djmn(2, 2, 0,phi,theta,gamma)*F11);
123 vertex(1,1,2,0.0);
124 vertex(1,1,3,Djmn(2, 2, 2,phi,theta,gamma)*F13);
125 vertex(1,2,0,Djmn(2, 2,-2,phi,theta,gamma)*F20);
126 vertex(1,2,1,0.0);
127 vertex(1,2,2,Djmn(2, 2, 0,phi,theta,gamma)*F22);
128 vertex(1,2,3,Djmn(2, 2,-1,phi,theta,gamma)*F23);
129 vertex(1,3,0,Djmn(2, 2,-1,phi,theta,gamma)*F30);
130 vertex(1,3,1,Djmn(2, 2,-2,phi,theta,gamma)*F31);
131 vertex(1,3,2,Djmn(2, 2, 1,phi,theta,gamma)*F32);
132 vertex(1,3,3,Djmn(2, 2, 0,phi,theta,gamma)*F33);
133
134 vertex(2,0,0,Djmn(2,-2, 0,phi,theta,gamma)*F00);//Chi2 helicity =-2 corresponding index 2;
135 vertex(2,0,1,Djmn(2,-2,-1,phi,theta,gamma)*F01);
136 vertex(2,0,2,Djmn(2,-2, 2,phi,theta,gamma)*F02);
137 vertex(2,0,3,Djmn(2,-2, 1,phi,theta,gamma)*F03);
138 vertex(2,1,0,Djmn(2,-2, 1,phi,theta,gamma)*F10);
139 vertex(2,1,1,Djmn(2,-2, 0,phi,theta,gamma)*F11);
140 vertex(2,1,2,0.0);
141 vertex(2,1,3,Djmn(2,-2, 2,phi,theta,gamma)*F13);
142 vertex(2,2,0,Djmn(2,-2,-2,phi,theta,gamma)*F20);
143 vertex(2,2,1,0.0);
144 vertex(2,2,2,Djmn(2,-2, 0,phi,theta,gamma)*F22);
145 vertex(2,2,3,Djmn(2,-2,-1,phi,theta,gamma)*F23);
146 vertex(2,3,0,Djmn(2,-2,-1,phi,theta,gamma)*F30);
147 vertex(2,3,1,Djmn(2,-2,-2,phi,theta,gamma)*F31);
148 vertex(2,3,2,Djmn(2,-2, 1,phi,theta,gamma)*F32);
149 vertex(2,3,3,Djmn(2,-2, 0,phi,theta,gamma)*F33);
150
151 vertex(3,0,0,Djmn(2, 1, 0,phi,theta,gamma)*F00);//Chi2 helicity =1 corresponding index 3;
152 vertex(3,0,1,Djmn(2, 1,-1,phi,theta,gamma)*F01);
153 vertex(3,0,2,Djmn(2, 1, 2,phi,theta,gamma)*F02);
154 vertex(3,0,3,Djmn(2, 1, 1,phi,theta,gamma)*F03);
155 vertex(3,1,0,Djmn(2, 1, 1,phi,theta,gamma)*F10);
156 vertex(3,1,1,Djmn(2, 1, 0,phi,theta,gamma)*F11);
157 vertex(3,1,2,0.0);
158 vertex(3,1,3,Djmn(2, 1, 2,phi,theta,gamma)*F13);
159 vertex(3,2,0,Djmn(2, 1,-2,phi,theta,gamma)*F20);
160 vertex(3,2,1,0.0);
161 vertex(3,2,2,Djmn(2, 1, 0,phi,theta,gamma)*F22);
162 vertex(3,2,3,Djmn(2, 1,-1,phi,theta,gamma)*F23);
163 vertex(3,3,0,Djmn(2, 1,-1,phi,theta,gamma)*F30);
164 vertex(3,3,1,Djmn(2, 1,-2,phi,theta,gamma)*F31);
165 vertex(3,3,2,Djmn(2, 1, 1,phi,theta,gamma)*F32);
166 vertex(3,3,3,Djmn(2, 1, 0,phi,theta,gamma)*F33);
167
168 vertex(4,0,0,Djmn(2,-1, 0,phi,theta,gamma)*F00);//Chi2 helicity =-1 corresponding index 4;
169 vertex(4,0,1,Djmn(2,-1,-1,phi,theta,gamma)*F01);
170 vertex(4,0,2,Djmn(2,-1, 2,phi,theta,gamma)*F02);
171 vertex(4,0,3,Djmn(2,-1, 1,phi,theta,gamma)*F03);
172 vertex(4,1,0,Djmn(2,-1, 1,phi,theta,gamma)*F10);
173 vertex(4,1,1,Djmn(2,-1, 0,phi,theta,gamma)*F11);
174 vertex(4,1,2,0.0);
175 vertex(4,1,3,Djmn(2,-1, 2,phi,theta,gamma)*F13);
176 vertex(4,2,0,Djmn(2,-1,-2,phi,theta,gamma)*F20);
177 vertex(4,2,1,0.0);
178 vertex(4,2,2,Djmn(2,-1, 0,phi,theta,gamma)*F22);
179 vertex(4,2,3,Djmn(2,-1,-1,phi,theta,gamma)*F23);
180 vertex(4,3,0,Djmn(2,-1,-1,phi,theta,gamma)*F30);
181 vertex(4,3,1,Djmn(2,-1,-2,phi,theta,gamma)*F31);
182 vertex(4,3,2,Djmn(2,-1, 1,phi,theta,gamma)*F32);
183 vertex(4,3,3,Djmn(2,-1, 0,phi,theta,gamma)*F33);
184
185 return ;
186
187}
188
189
190
191
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 init()
Definition: EvtChi2BB2.cc:51
void decay(EvtParticle *p)
Definition: EvtChi2BB2.cc:69
virtual ~EvtChi2BB2()
Definition: EvtChi2BB2.cc:36
void getName(std::string &name)
Definition: EvtChi2BB2.cc:38
EvtDecayBase * clone()
Definition: EvtChi2BB2.cc:45
void vertex(const EvtComplex &amp)
Definition: EvtDecayAmp.hh:37
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
double getArg(int j)
void checkNDaug(int d1, int d2=-1)
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)