EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtD0mixDalitz.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 __EVTD0MIXDALITZ_HH__
22#define __EVTD0MIXDALITZ_HH__
23
29#include "EvtGenBase/EvtId.hh"
30#include "EvtGenBase/EvtPDL.hh"
32
33// Description:
34// The D0mixDalitz model, with many resonances and mixing implemented.
35
37 private:
38 int m_d1;
39 int m_d2;
40 int m_d3;
41
42 // Mixing parameters.
43 double m_x;
44 double m_y;
45
46 // q/p CP violation in the mixing.
48
49 // Checker of the decay mode.
52
53 // Useful constants.
57
60
64
65 static const EvtCyclic3::Pair& m_AB;
66 static const EvtCyclic3::Pair& m_AC;
67 static const EvtCyclic3::Pair& m_BC;
68
69 // Values to be read or computed based on values in the evt.pdl file.
70 // IDs of the relevant particles.
81
82 // Masses of the relevant particles.
83 double m_mD0;
84 double m_mKs;
85 double m_mPi;
86 double m_mK;
87
88 // Life time and decay rate.
89 double m_ctau;
90 double m_gamma;
91
92 // Some useful integrals over the Dalitz plot.
95
96 void readPDGValues();
98 EvtComplex dalitzKsKK( const EvtDalitzPoint& point );
99
100 // Time evolution functions for hamiltonian eigenstates.
101 // Negative exponential part removed.
102 EvtComplex h1( const double& ct ) const;
103 EvtComplex h2( const double& ct ) const;
104
106 {
107 EvtGenReport( EVTGEN_ERROR, "EvtD0mixDalitz" )
108 << "EvtD0mixDalitz: Invalid mode." << std::endl;
109 exit( 1 );
110 }
111
112 public:
114 m_d1( 0 ),
115 m_d2( 0 ),
116 m_d3( 0 ),
117 m_x( 0. ),
118 m_y( 0. ),
119 m_qp( 1. ),
120 m_isKsPiPi( false ),
121 m_isRBWmodel( true )
122 {
123 }
124
125 // One-line inline functions.
126 std::string getName() const override { return "D0MIXDALITZ"; }
127 EvtDecayBase* clone() const override { return new EvtD0mixDalitz; }
128 void initProbMax() override { setProbMax( 5200. ); }
129
130 void init() override;
131 void decay( EvtParticle* p ) override;
132};
133
134#endif
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=nullptr)
Definition EvtReport.cpp:32
@ EVTGEN_ERROR
Definition EvtReport.hh:49
void decay(EvtParticle *p) override
static const EvtCyclic3::Pair & m_AB
std::string getName() const override
EvtComplex h1(const double &ct) const
void init() override
static const EvtDalitzReso::CouplingType & m_PicPicKK
static const EvtDalitzReso::CouplingType & m_EtaPic
static const EvtDalitzReso::NumType & m_GS
static const EvtSpinType::spintype & m_VECTOR
EvtComplex m_iChi
static const EvtSpinType::spintype & m_SCALAR
void initProbMax() override
EvtComplex m_iChi2
EvtComplex h2(const double &ct) const
EvtComplex dalitzKsPiPi(const EvtDalitzPoint &point)
static const EvtCyclic3::Pair & m_AC
static const EvtDalitzReso::NumType & m_RBW
static const EvtSpinType::spintype & m_TENSOR
void reportInvalidAndExit() const
EvtDecayBase * clone() const override
static const EvtCyclic3::Pair & m_BC
static const EvtDalitzReso::NumType & m_KMAT
EvtComplex dalitzKsKK(const EvtDalitzPoint &point)
EvtDecayBase()=default
void setProbMax(double prbmx)
Definition EvtId.hh:27