85 {
86
88
89
90
91
92 const int KIND = 0;
93 const int D1IND = 1;
94 const int D2IND = 2;
95
96
99
100
101
104
105
108
109
112
113
116
117
118
119 std::string name1;
120 std::string name2;
123
124 if (name1 != "PTO3P") {
126 << "D daughters of EvtBtoKD3P decay must decay via the \"PTO3P\" model"
127 << endl
128 << " but found to decay via " << name1.c_str()
129 << " or " << name2.c_str()
130 << ". Will terminate execution!" << endl;
131 assert(0);
132 }
133
136
137 bool idMatch = true;
138 int d;
139 for (d = 0; d < 2; ++d) {
140 if (daugs1[d] != daugs2[d]) {
141 idMatch = false;
142 }
143 }
144 if (false == idMatch) {
146 << "D daughters of EvtBtoKD3P decay must decay to the same final state"
147 << endl
148 << " particles in the same order (not CP-conjugate order)," << endl
149 << " but they were found to decay to" << endl;
150 for (d = 0; d < model1->
getNDaug(); ++d) {
152 }
154 for (d = 0; d < model1->
getNDaug(); ++d) {
156 }
157 report(
ERROR,
"") << endl <<
". Will terminate execution!" << endl;
158 assert(0);
159 }
160
161
162
166
167 }
168
169
172 << "D daughters of EvtBtoKD3P decay should have only 1 decay modes, "
173 << endl
174 << " but a new decay mode was found after the first call" << endl
175 << " Will terminate execution!" << endl;
176 assert(0);
177 }
178
179
180
181
182
183
189
190
192
193
197
198
199
200
201 double comp = sqrt(pc.
evaluate (x));
203
204
206
207
209
212 <<
"Number of daughters " << theD->
getNDaug()
213 <<
" != " <<
"Momentum vector size " <<
v.size()
214 << endl
215 << " Terminating execution." << endl;
216 assert(0);
217 }
218
219
220 int i;
223 }
224}
ostream & report(Severity severity, const char *facility)
**********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
void vertex(const EvtComplex &)
void setProbMax(double prbmx)
double getProbMax(double prob)
bool _daugsDecayedByParentModel
static EvtDecayBase * getDecayFunc(EvtParticle *)
EvtComplex amplNonCP(const T &x)
static std::string name(EvtId i)
virtual void init(EvtId part_n, const EvtVector4R &p4)=0
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
void addTerm(double c, const EvtPdf< T > &pdf)
double evaluate(const T &p) const
void getName(std::string &model_name)
virtual std::vector< EvtVector4R > initDaughters(const EvtDalitzPoint &p) const