EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Toggle main menu visibility
Loading...
Searching...
No Matches
EvtGenBase
EvtDalitzResPdf.hh
Go to the documentation of this file.
1
2
/***********************************************************************
3
* Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4
* *
5
* This file is part of EvtGen. *
6
* *
7
* EvtGen is free software: you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation, either version 3 of the License, or *
10
* (at your option) any later version. *
11
* *
12
* EvtGen is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
16
* *
17
* You should have received a copy of the GNU General Public License *
18
* along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19
***********************************************************************/
20
21
#ifndef EVT_DALITZ_RES_PDF_HH
22
#define EVT_DALITZ_RES_PDF_HH
23
24
#include "
EvtGenBase/EvtCyclic3.hh
"
25
#include "
EvtGenBase/EvtDalitzPoint.hh
"
26
#include "
EvtGenBase/EvtPdf.hh
"
27
28
/*
29
* Pole compensating function for terms that exibit a resonant structure
30
* in one dimension only.
31
*
32
* f = 1 g*m0
33
* -- ------------------
34
* pi (q-q0)^2 + g^2m0^2
35
*
36
* m is the mass of the resonance, g is its width. The approximation works well for a narrow
37
* resonance. It is also readily integrable over the Dalitz plot coordinate to produce
38
*
39
* Int = 1/pi atan((q-q0)/(g*m0))
40
*/
41
42
class
EvtDalitzResPdf
:
public
EvtPdf
<EvtDalitzPoint> {
43
public
:
44
EvtDalitzResPdf
(
const
EvtDalitzPlot
& dp,
double
m0,
double
g0,
45
EvtCyclic3::Pair
pairRes );
46
47
EvtPdf<EvtDalitzPoint>
*
clone
()
const override
48
{
49
return
new
EvtDalitzResPdf
( *
this
);
50
}
51
52
using
EvtPdf
<
EvtDalitzPoint
>
::compute_integral
;
53
EvtValError
compute_integral
(
int
N )
const override
;
54
EvtDalitzPoint
randomPoint
()
override
;
55
double
pdfMaxValue
()
const
;
56
57
protected
:
58
double
pdf
(
const
EvtDalitzPoint
& )
const override
;
59
60
private
:
61
EvtDalitzPlot
m_dp
;
62
double
m_m0
;
// mass
63
double
m_g0
;
// width
64
EvtCyclic3::Pair
m_pair
;
// resonant pair
65
};
66
67
#endif
EvtCyclic3.hh
EvtDalitzPoint.hh
EvtPdf.hh
EvtDalitzPlot
Definition
EvtDalitzPlot.hh:30
EvtDalitzPoint
Definition
EvtDalitzPoint.hh:38
EvtDalitzResPdf::EvtDalitzResPdf
EvtDalitzResPdf(const EvtDalitzPlot &dp, double m0, double g0, EvtCyclic3::Pair pairRes)
Definition
EvtDalitzResPdf.cpp:31
EvtDalitzResPdf::m_m0
double m_m0
Definition
EvtDalitzResPdf.hh:62
EvtDalitzResPdf::m_dp
EvtDalitzPlot m_dp
Definition
EvtDalitzResPdf.hh:61
EvtDalitzResPdf::m_g0
double m_g0
Definition
EvtDalitzResPdf.hh:63
EvtDalitzResPdf::pdfMaxValue
double pdfMaxValue() const
Definition
EvtDalitzResPdf.cpp:100
EvtDalitzResPdf::randomPoint
EvtDalitzPoint randomPoint() override
Definition
EvtDalitzResPdf.cpp:62
EvtDalitzResPdf::pdf
double pdf(const EvtDalitzPoint &) const override
Definition
EvtDalitzResPdf.cpp:92
EvtDalitzResPdf::clone
EvtPdf< EvtDalitzPoint > * clone() const override
Definition
EvtDalitzResPdf.hh:47
EvtDalitzResPdf::m_pair
EvtCyclic3::Pair m_pair
Definition
EvtDalitzResPdf.hh:64
EvtPdf
Definition
EvtPdf.hh:72
EvtPdf< EvtDalitzPoint >::compute_integral
virtual EvtValError compute_integral() const
Definition
EvtPdf.hh:113
EvtPdf< EvtDalitzPoint >::EvtPdf
EvtPdf()
Definition
EvtPdf.hh:74
EvtValError
Definition
EvtValError.hh:31
EvtCyclic3::Pair
Pair
Definition
EvtCyclic3.hh:37
Generated by
1.17.0