49 {
50
51
53
55 report(
ERROR,
"EvtGen") <<
"EvtVSSBMix generator expected "
56 <<
" at least 1 argument (deltam) but found:"<<
getNArg()<<endl;
57 report(
ERROR,
"EvtGen") <<
"Will terminate execution!"<<endl;
58 ::abort();
59 }
60
61
63
66 report(
ERROR,
"EvtGen") <<
"EvtVSSBMixCPT generator allows "
67 << " 4 daughters only if 1=3 and 2=4"
68 << " (but 3 and 4 are aliased "<<endl;
69 report(
ERROR,
"EvtGen") <<
"Will terminate execution!"<<endl;
70 ::abort();
71 }
72 }
73
74
75
77
80
81
83 report(
ERROR,
"EvtGen") <<
"EvtVSSBMixCPT generator expected daughters "
84 << "to be charge conjugate." << endl
87 report(
ERROR,
"EvtGen") <<
"Will terminate execution!"<<endl;
88 ::abort();
89 }
90
92 report(
ERROR,
"EvtGen") <<
"EvtVSSBMixCPT generator expected daughters "
93 << "to have the same lifetime." << endl
94 << " Found ctau = "
97 report(
ERROR,
"EvtGen") <<
"Will terminate execution!"<<endl;
98 ::abort();
99 }
100
101
102
103
105
106
108 _dGamma=0.0;
109 double dgog=0.0;
112 _dGamma=dgog*gamma;
113 }
114
118 }
121 }
122 _poverq=1.0/_qoverp;
123
124
127 _A_fbar=_Abar_f;
128 _Abar_fbar=_A_f;
133
136 } else {
137
138 _A_fbar=_Abar_f;
139 _Abar_fbar=_A_f;
140 }
141 }
142
143
147 }
148
149
150
152 double dm= 1e-12*
getArg(0);
154 double y= dgog*0.5;
155 double qop2 =
abs(_qoverp*_qoverp);
156 _chib0_b0bar=qop2*(
x*
x+y*y)/(qop2*(x*x+y*y)+2+
x*
x-y*y);
157 _chib0bar_b0=(1/qop2)*(x*x+y*y)/((1/qop2)*(x*x+y*y)+2+
x*
x-y*y);
158
159 report(
INFO,
"EvtGen") <<
"VSS_BMIXCPT will generate mixing and CPT/CP effects in mixing:"
160 << endl << endl
164 << "using parameters:" << endl << endl
165 << " delta(m) = " << dm << " hbar/ps" << endl
166 << " _freq = " << _freq << " hbar/mm" << endl
167 << " dgog = " << dgog <<endl
168 << " dGamma = " << _dGamma <<" hbar/mm" <<endl
169 << " q/p = " << _qoverp << endl
170 << " z = " << _z << endl
171 << " tau = " << tau << " ps" << endl
172 <<
" x = " <<
x << endl
173 << " chi(B0->B0bar) = " << _chib0_b0bar << endl
174 << " chi(B0bar->B0) = " << _chib0bar_b0 << endl
175 << " Af = " << _A_f << endl
176 << " Abarf = " << _Abar_f << endl
177 << " Afbar = " << _A_fbar << endl
178 << " Abarfbar = " << _Abar_fbar << endl
179 << endl;
180}
double sin(const BesAngle a)
double cos(const BesAngle a)
ostream & report(Severity severity, const char *facility)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
static std::string name(EvtId i)
static EvtId chargeConj(EvtId id)
static double getctau(EvtId i)