]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenBase/EvtDalitzResPdf.hh
Updates EvtGen Code
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtDalitzResPdf.hh
1 /*******************************************************************************
2  * Project: BaBar detector at the SLAC PEP-II B-factory
3  * Package: EvtGenBase
4  *    File: $Id: EvtDalitzResPdf.hh,v 1.2 2009-03-16 16:42:46 robbep 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
31 class EvtDalitzResPdf : public EvtPdf<EvtDalitzPoint> {
32
33 public:
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
46 protected:
47
48   virtual double pdf(const EvtDalitzPoint&) const; 
49
50 private:
51
52   EvtDalitzPlot _dp;
53   double _m0;                  // mass
54   double _g0;                  // width
55   EvtCyclic3::Pair _pair;      // resonant pair
56 };
57
58 #endif
59