]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenBase/EvtDalitzPoint.hh
Corrections for secondaries
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtDalitzPoint.hh
CommitLineData
da0e9ce3 1/*******************************************************************************
2 * Project: BaBar detector at the SLAC PEP-II B-factory
3 * Package: EvtGenBase
4 * File: $Id: EvtDalitzPoint.hh,v 1.10 2003/06/19 02:17:11 dvoretsk Exp $
5 * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
6 *
7 * Copyright (C) 2002 Caltech
8 *******************************************************************************/
9
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
14// permutations.
15//
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.
19
20#ifndef EVT_DALITZ_POINT_HH
21#define EVT_DALITZ_POINT_HH
22
23#include "EvtGenBase/EvtCyclic3.hh"
24#include "EvtGenBase/EvtDalitzCoord.hh"
25#include "EvtGenBase/EvtDalitzPlot.hh"
26
27class EvtDalitzPoint {
28
29public:
30
31 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);
38 ~EvtDalitzPoint();
39
40 EvtDalitzCoord getDalitzPoint(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
41 EvtDalitzPlot getDalitzPlot() const;
42
43 double q(EvtCyclic3::Pair) const;
44 double bigM() const;
45 double m(EvtCyclic3::Index) const;
46
47 // Zemach variables
48
49 double qres(EvtCyclic3::Pair i) const;
50 double qhel(EvtCyclic3::Pair i) const;
51 double qsum() const;
52
53 // Kinematic quantities
54 //
55 // pp - 4 momentum product
56 // e,p,cosTh - energy/moementum in rest-frame of j
57
58
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;
65
66 bool isValid() const;
67
68 void print() const;
69
70private:
71
72 double _mA, _mB, _mC; // masses
73 double _qAB, _qBC, _qCA; // masses squared
74};
75
76#endif