]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenBase/EvtDalitzResPdf.hh
Compilation of TEvtGen
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtDalitzResPdf.hh
CommitLineData
da0e9ce3 1/*******************************************************************************
2 * Project: BaBar detector at the SLAC PEP-II B-factory
3 * Package: EvtGenBase
4 * File: $Id: EvtDalitzResPdf.hh,v 1.2 2003/06/20 17:20:04 dvoretsk Exp $
5 * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
6 *
7 * Copyright (C) 2002 Caltech
8 *******************************************************************************/
9
10/*
11 * Pole compensating function for terms that exibit a resonant structure
12 * in one dimension only.
13 *
14 * f = 1 g*m0
15 * -- ------------------
16 * pi (q-q0)^2 + g^2m0^2
17 *
18 * m is the mass of the resonance, g is its width. The approximation works well for a narrow
19 * resonance. It is also readily integrable over the Dalitz plot coordinate to produce
20 *
21 * Int = 1/pi atan((q-q0)/(g*m0))
22 */
23
24#ifndef EVT_DALITZ_RES_PDF_HH
25#define EVT_DALITZ_RES_PDF_HH
26
27#include "EvtGenBase/EvtPdf.hh"
28#include "EvtGenBase/EvtDalitzPoint.hh"
29#include "EvtGenBase/EvtCyclic3.hh"
30
31class EvtDalitzResPdf : public EvtPdf<EvtDalitzPoint> {
32
33public:
34
35 EvtDalitzResPdf(const EvtDalitzPlot& dp,double m0, double g0, EvtCyclic3::Pair pairRes);
36 EvtDalitzResPdf(const EvtDalitzResPdf& other);
37 virtual ~EvtDalitzResPdf();
38
39
40 EvtPdf<EvtDalitzPoint>* clone() const { return new EvtDalitzResPdf(*this); }
41
42 virtual EvtValError compute_integral(int N) const;
43 virtual EvtDalitzPoint randomPoint();
44 double pdfMaxValue() const;
45
46protected:
47
48 virtual double pdf(const EvtDalitzPoint&) const;
49
50private:
51
52 EvtDalitzPlot _dp;
53 double _m0; // mass
54 double _g0; // width
55 EvtCyclic3::Pair _pair; // resonant pair
56};
57
58#endif
59