Belle II Software development
EvtbTosllNPR.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include "EvtGenBase/EvtDecayAmp.hh"
12#include "EvtGenBase/EvtComplex.hh"
13
14#include <complex>
15#include <vector>
16
17class EvtParticle;
18struct EvtLinSample;
19struct BW_t;
20typedef std::pair<double, std::complex<double>> helem_t;
21typedef std::vector<helem_t> hvec_t;
22
29class EvtbTosllNPR : public EvtDecayAmp {
30public:
34 std::string getName() override;
35
39 EvtDecayBase* clone() override;
40
44 void decay(EvtParticle* p) override;
45
49 void init() override;
50
54 void initProbMax() override;
55
60 virtual ~EvtbTosllNPR();
61
62private:
64 EvtComplex m_dc7;
65
67 EvtComplex m_dc9;
68
70 EvtComplex m_dc10;
71
73 EvtComplex m_c7p;
74
76 EvtComplex m_c9p;
77
79 EvtComplex m_c10p;
80
82 EvtComplex m_cS;
83
85 EvtComplex m_cP;
86
88 int m_flag{0};
89
91 std::vector<BW_t*> m_rs;
92
95
97 hvec_t m_reso;
98
102 double CalcMaxProb();
103
107 void CalcAmp(EvtParticle*, EvtAmp&);
108
112 void CalcSAmp(EvtParticle*, EvtAmp&);
113
117 void CalcVAmp(EvtParticle*, EvtAmp&);
118};
Description: Implementation of the B->K(*)l^+l^- decays with New Physics contributions and c\bar{c}...
std::vector< BW_t * > m_rs
vector with c\bar{c} resonance lineshapes
void CalcSAmp(EvtParticle *, EvtAmp &)
The method to evaluate the scalar kaon decay amplitude.
EvtDecayBase * clone() override
The function which makes a copy of the model.
void decay(EvtParticle *p) override
The method to calculate a decay amplitude.
EvtLinSample * m_ls
piece-wise interpolation of maximum of the matrix element depend on q^2
EvtComplex m_dc10
delta C_10eff – addition to NNLO SM value
hvec_t m_reso
tabulated resonance contribution
std::string getName() override
The function which returns the name of the model.
void CalcAmp(EvtParticle *, EvtAmp &)
The method to evaluate the decay amplitude.
EvtComplex m_cS
(C_S - C'_S) – scalar right and left polarizations
void CalcVAmp(EvtParticle *, EvtAmp &)
The method to evaluate the vector kaon decay amplitude.
EvtComplex m_cP
(C_P - C'_P) – pseudo-scalar right and left polarizations
virtual ~EvtbTosllNPR()
The destructor to clean up objects created during the initialization.
EvtComplex m_c9p
C'_9eff – right hand polarizations.
EvtComplex m_dc7
delta C_7eff – addition to NNLO SM value
void init() override
Initialization method.
int m_flag
flag is set nonzero to include resonances
EvtComplex m_dc9
delta C_9eff – addition to NNLO SM value
EvtComplex m_c7p
C'_7eff – right hand polarizations.
EvtComplex m_c10p
c'_10eff – right hand polarizations
void initProbMax() override
The method to evaluate the maximum amplitude.
double CalcMaxProb()
The method to evaluate the maximum decay amplitude.
Description: The class to treat resonances, their lineshapes, and dispersion relation integral.
Description: The simple helper class to generate arbitrary distribution based on a linear piece-wise ...