1 /*******************************************************************************
2 * Project: BaBar detector at the SLAC PEP-II B-factory
4 * File: $Id: EvtDalitzPoint.hh,v 1.2 2009-03-16 16:44:53 robbep Exp $
5 * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
7 * Copyright (C) 2002 Caltech
8 *******************************************************************************/
10 // This class describes the complete kinematics of the Dalitz decay.
11 // It holds all the six invariant momentum products, three daughter
12 // particle masses and three invariant masses of pairs of particles.
13 // This description is completely symmetric with respect to particle
16 // Another way to slice the six coordinate is to make a transformation
17 // to the mass of the decaying particle. The four masses make up a
18 // Dalitz plot. The other two are coordinates of a point in the plot.
20 #ifndef EVT_DALITZ_POINT_HH
21 #define EVT_DALITZ_POINT_HH
23 #include "EvtGenBase/EvtCyclic3.hh"
24 #include "EvtGenBase/EvtDalitzCoord.hh"
25 #include "EvtGenBase/EvtDalitzPlot.hh"
27 class EvtDalitzPoint {
32 EvtDalitzPoint(double mA, double mB, double mC,
33 double qAB, double qBC, double qCA);
34 EvtDalitzPoint(double mA, double mB, double mC,
35 EvtCyclic3::Pair i, double qres, double qhel, double qsum);
36 EvtDalitzPoint(const EvtDalitzPlot&, const EvtDalitzCoord&);
37 EvtDalitzPoint(const EvtDalitzPoint& other);
40 EvtDalitzCoord getDalitzPoint(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
41 EvtDalitzPlot getDalitzPlot() const;
43 double q(EvtCyclic3::Pair) const;
45 double m(EvtCyclic3::Index) const;
49 double qres(EvtCyclic3::Pair i) const;
50 double qhel(EvtCyclic3::Pair i) const;
53 // Kinematic quantities
55 // pp - 4 momentum product
56 // e,p,cosTh - energy/moementum in rest-frame of j
59 double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
60 double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
61 double pp(EvtCyclic3::Index i, EvtCyclic3::Index j) const;
62 double e(EvtCyclic3::Index i, EvtCyclic3::Pair j) const;
63 double p(EvtCyclic3::Index i, EvtCyclic3::Pair j) const;
64 double cosTh(EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes) const;
72 double _mA, _mB, _mC; // masses
73 double _qAB, _qBC, _qCA; // masses squared