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
EvtRareLbToLll.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 EVTRARELBTOLLL_HH
22#define EVTRARELBTOLLL_HH 1
23
24#include "EvtGenBase/EvtAmp.hh"
27
30
31#include <memory>
32
33// Description:
34// Implements the rare Lb --> Lambda^(*) ell ell models described in
35// http://arxiv.org/pdf/1108.6129.pdf
36
38 public:
39 std::string getName() const override;
40
41 EvtDecayBase* clone() const override;
42
43 void init() override;
44
45 void initProbMax() override;
46
47 void decay( EvtParticle* parent ) override;
48
49 protected:
50 void calcAmp( EvtAmp& amp, const EvtParticle& parent );
51
52 void HadronicAmp( const EvtParticle& parent, const EvtParticle& lambda,
53 EvtVector4C* T, const int i, const int j );
54
55 void HadronicAmpRS( const EvtParticle& parent, const EvtParticle& lambda,
56 EvtVector4C* T, const int i, const int j );
57
58 bool isParticle( const EvtParticle& parent ) const;
59
60 private:
62 double m_poleSize{ 0.00005 };
63 bool m_electronMode{ false };
64
65 std::unique_ptr<EvtRareLbToLllFFBase> m_ffmodel;
66 std::unique_ptr<EvtRareLbToLllWC> m_wcmodel;
67};
68#endif //
double lambda(double q, double m1, double m2)
Definition EvtFlatQ2.cpp:30
EvtDecayBase()=default
bool isParticle(const EvtParticle &parent) const
std::unique_ptr< EvtRareLbToLllFFBase > m_ffmodel
void init() override
void calcAmp(EvtAmp &amp, const EvtParticle &parent)
void HadronicAmpRS(const EvtParticle &parent, const EvtParticle &lambda, EvtVector4C *T, const int i, const int j)
void HadronicAmp(const EvtParticle &parent, const EvtParticle &lambda, EvtVector4C *T, const int i, const int j)
std::unique_ptr< EvtRareLbToLllWC > m_wcmodel
std::string getName() const override
void decay(EvtParticle *parent) override
void initProbMax() override
EvtDecayBase * clone() const override