77 printf(
"Invalid Dalitz plot %f %f %f %f\n",
_mA,
_mB,
_mC,
_bigM );
80 assert(
_ldel <= 0. );
81 assert(
_rdel >= 0. );
87 if ( i ==
B )
m =
_mB;
88 else if ( i ==
C )
m =
_mC;
99 return (
m( j ) +
m( k ) ) * (
m( j ) +
m( k ) );
134 if ( i == j )
return q;
150 double pk = jpair.
p();
159 return ( ek + ej ) * ( ek + ej ) - ( pk + pj ) * ( pk + pj );
167 if ( i == j )
return q;
183 double pk = jpair.
p();
191 return ( ek + ej ) * ( ek + ej ) - ( pk - pj ) * ( pk - pj );
203 for ( ii = 1; ii < N; ii++ )
206 double x =
qAbsMin( i ) + ii * dh;
207 double dy =
qMax( j, i, x ) -
qMin( j, i, x );
216 if ( i1 == i2 )
return 1.;
218 double qmax =
qMax( i1, i2, q2 );
219 double qmin =
qMin( i1, i2, q2 );
221 double cos = ( qmax + qmin - 2 * q1 ) / ( qmax - qmin );
227 if ( i ==
other( j ) )
232 return (
bigM() *
bigM() -
q -
m( i ) *
m( i ) ) / 2 / sqrt(
q );
240 if ( first( j ) == i ) k =
second( j );
243 double e = (
q +
m( i ) *
m( i ) -
m( k ) *
m( k ) ) / 2 / sqrt(
q );
249 double en =
e( i, j,
q );
250 double p2 = en * en -
m( i ) *
m( i );
254 printf(
"Bad value of p2 %f %d %d %f %f\n",
p2, i, j, en,
m( i ) );
263 if ( i1 == i2 )
return q2;
267 return m(
f ) *
m(
f ) +
m(
s ) *
m(
s ) + 2 *
e(
f, i2, q2 ) *
e(
s, i2, q2 ) -
268 2 *
p(
f, i2, q2 ) *
p(
s, i2, q2 ) *
cosTh;
272 return 2 *
p( first( i ), i,
q ) *
p(
other( i ), i,
q );
285 printf(
"Mass M %f\n",
bigM() );
286 printf(
"Mass mA %f\n",
_mA );
287 printf(
"Mass mB %f\n",
_mB );
288 printf(
"Mass mC %f\n",
_mC );
293 printf(
"Sum q %f\n",
sum() );
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
double cos(const BesAngle a)
double qHelAbsMax(EvtCyclic3::Pair i) const
double getArea(int N=1000, EvtCyclic3::Pair i=EvtCyclic3::AB, EvtCyclic3::Pair j=EvtCyclic3::BC) const
double qAbsMin(EvtCyclic3::Pair i) const
double jacobian(EvtCyclic3::Pair i, double q) const
double q(EvtCyclic3::Pair i1, double cosTh, EvtCyclic3::Pair i2, double q2) const
EvtTwoBodyVertex vD(EvtCyclic3::Pair iRes, double m0, int L) const
const EvtDalitzPlot * clone() const
EvtTwoBodyVertex vB(EvtCyclic3::Pair iRes, double m0, int L) const
double m(EvtCyclic3::Index i) const
double qHelAbsMin(EvtCyclic3::Pair i) const
double mAbsMax(EvtCyclic3::Pair i) const
double mAbsMin(EvtCyclic3::Pair i) const
double p(EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const
double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const
double qAbsMax(EvtCyclic3::Pair i) const
double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const
bool operator==(const EvtDalitzPlot &other) const
double e(EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const
double cosTh(EvtCyclic3::Pair i1, double q1, EvtCyclic3::Pair i2, double q2) const
double qResAbsMin(EvtCyclic3::Pair i) const
double qResAbsMax(EvtCyclic3::Pair i) const
const char * mother() const
const char * dau(int i) const
static double getMeanMass(EvtId i)
static EvtId getId(const std::string &name)
double p(Index i=AB) const
double e(Index i, Index j) const
Index common(Pair i, Pair j)
Index other(Index i, Index j)