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
EvtGenModels
EvtLambdacPHH.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 EVTLAMBDACPHH_HH
22
#define EVTLAMBDACPHH_HH
23
24
#include "
EvtGenBase/EvtComplex.hh
"
25
#include "
EvtGenBase/EvtDecayAmp.hh
"
26
#include "
EvtGenBase/EvtResonance2.hh
"
27
#include "
EvtGenBase/EvtVector4R.hh
"
28
29
#include <string>
30
#include <vector>
31
32
class
EvtParticle
;
33
34
// Description: Decay model for Lambda_c -> K- pi+ p using amplitudes
35
// from the Fermilab E791 analysis: arXiv:hep-ex/9912003v1
36
37
class
EvtLambdacPHH
:
public
EvtDecayAmp
{
38
public
:
39
EvtLambdacPHH
();
40
41
std::string
getName
()
const override
;
42
EvtDecayBase
*
clone
()
const override
;
43
44
void
init
()
override
;
45
void
initProbMax
()
override
;
46
void
decay
(
EvtParticle
* p )
override
;
47
48
protected
:
49
// Resonance enumeration
50
enum class
LcResLabel
51
{
52
NonReson
= 0,
53
Kstar
,
54
Delta
,
55
Lambda
56
};
57
58
// Amplitude functions
59
std::vector<EvtComplex>
calcResAmpTerms
(
EvtLambdacPHH::LcResLabel
resIndex,
60
const
EvtResonance2
& res,
61
double
norm )
const
;
62
63
EvtComplex
DecayAmp3
(
EvtLambdacPHH::LcResLabel
resonance,
int
m,
64
int
mprime,
double
theta_res,
double
phi_res,
65
double
theta_prime_daughter_res,
66
double
phi_prime_daughter_res )
const
;
67
68
EvtComplex
fampl3
(
double
amplitude_res,
double
phi_res,
int
spinMother,
69
int
m_spinMother,
int
m_prime_spinMother,
70
double
theta_res,
float
spin_res,
float
m_spin_res,
71
float
m_prime_spin_res,
double
theta_daughter_res,
72
double
phi_prime_daughter_res )
const
;
73
74
// Find resonance normalisation factors
75
void
calcNormalisations
();
76
77
void
getFitFractions
();
78
79
// Inverse cos/sin functions that checks for valid arguments
80
double
getACos
(
double
num,
double
denom )
const
;
81
double
getASin
(
double
num,
double
denom )
const
;
82
83
private
:
84
// Daughter ordering for K-, pi+, p
85
int
m_d1
,
m_d2
,
m_d3
;
86
87
// Resonance parameters
88
double
m_Nplusplus
,
m_Nplusminus
,
m_Nminusplus
,
m_Nminusminus
;
89
double
m_phiNplusplus
,
m_phiNplusminus
,
m_phiNminusplus
,
m_phiNminusminus
;
90
double
m_E1
,
m_phiE1
,
m_E2
,
m_phiE2
,
m_E3
,
m_phiE3
,
m_E4
,
m_phiE4
;
91
double
m_F1
,
m_phiF1
,
m_F2
,
m_phiF2
,
m_H1
,
m_phiH1
,
m_H2
,
m_phiH2
;
92
93
double
m_NRNorm
,
m_KstarNorm
,
m_DeltaNorm
,
m_LambdaNorm
;
94
double
m_KstarM
,
m_KstarW
,
m_KstarR
;
95
double
m_DeltaM
,
m_DeltaW
,
m_DeltaR
;
96
double
m_LambdaM
,
m_LambdaW
,
m_LambdaR
;
97
double
m_Lambda_cR
;
98
99
EvtVector4R
m_zprime
,
m_p4_Lambda_c
;
100
double
m_zpMag
,
m_p4_Lambdac_Mag
;
101
};
102
103
#endif
EvtComplex.hh
EvtDecayAmp.hh
EvtResonance2.hh
EvtVector4R.hh
EvtComplex
Definition
EvtComplex.hh:29
EvtDecayAmp
Definition
EvtDecayAmp.hh:29
EvtDecayBase::EvtDecayBase
EvtDecayBase()=default
EvtLambdacPHH::m_d1
int m_d1
Definition
EvtLambdacPHH.hh:85
EvtLambdacPHH::m_LambdaW
double m_LambdaW
Definition
EvtLambdacPHH.hh:96
EvtLambdacPHH::m_phiNminusplus
double m_phiNminusplus
Definition
EvtLambdacPHH.hh:89
EvtLambdacPHH::m_Lambda_cR
double m_Lambda_cR
Definition
EvtLambdacPHH.hh:97
EvtLambdacPHH::calcResAmpTerms
std::vector< EvtComplex > calcResAmpTerms(EvtLambdacPHH::LcResLabel resIndex, const EvtResonance2 &res, double norm) const
Definition
EvtLambdacPHH.cpp:388
EvtLambdacPHH::m_phiF2
double m_phiF2
Definition
EvtLambdacPHH.hh:91
EvtLambdacPHH::m_DeltaW
double m_DeltaW
Definition
EvtLambdacPHH.hh:95
EvtLambdacPHH::m_KstarR
double m_KstarR
Definition
EvtLambdacPHH.hh:94
EvtLambdacPHH::m_p4_Lambda_c
EvtVector4R m_p4_Lambda_c
Definition
EvtLambdacPHH.hh:99
EvtLambdacPHH::m_LambdaNorm
double m_LambdaNorm
Definition
EvtLambdacPHH.hh:93
EvtLambdacPHH::m_Nplusplus
double m_Nplusplus
Definition
EvtLambdacPHH.hh:88
EvtLambdacPHH::m_E3
double m_E3
Definition
EvtLambdacPHH.hh:90
EvtLambdacPHH::m_d3
int m_d3
Definition
EvtLambdacPHH.hh:85
EvtLambdacPHH::m_LambdaR
double m_LambdaR
Definition
EvtLambdacPHH.hh:96
EvtLambdacPHH::decay
void decay(EvtParticle *p) override
Definition
EvtLambdacPHH.cpp:311
EvtLambdacPHH::m_E1
double m_E1
Definition
EvtLambdacPHH.hh:90
EvtLambdacPHH::m_phiNplusplus
double m_phiNplusplus
Definition
EvtLambdacPHH.hh:89
EvtLambdacPHH::m_Nplusminus
double m_Nplusminus
Definition
EvtLambdacPHH.hh:88
EvtLambdacPHH::m_H2
double m_H2
Definition
EvtLambdacPHH.hh:91
EvtLambdacPHH::m_phiNplusminus
double m_phiNplusminus
Definition
EvtLambdacPHH.hh:89
EvtLambdacPHH::m_Nminusplus
double m_Nminusplus
Definition
EvtLambdacPHH.hh:88
EvtLambdacPHH::getFitFractions
void getFitFractions()
Definition
EvtLambdacPHH.cpp:222
EvtLambdacPHH::m_F1
double m_F1
Definition
EvtLambdacPHH.hh:91
EvtLambdacPHH::m_H1
double m_H1
Definition
EvtLambdacPHH.hh:91
EvtLambdacPHH::m_phiE4
double m_phiE4
Definition
EvtLambdacPHH.hh:90
EvtLambdacPHH::m_DeltaNorm
double m_DeltaNorm
Definition
EvtLambdacPHH.hh:93
EvtLambdacPHH::LcResLabel
LcResLabel
Definition
EvtLambdacPHH.hh:51
EvtLambdacPHH::LcResLabel::Lambda
@ Lambda
Definition
EvtLambdacPHH.hh:55
EvtLambdacPHH::LcResLabel::Kstar
@ Kstar
Definition
EvtLambdacPHH.hh:53
EvtLambdacPHH::LcResLabel::NonReson
@ NonReson
Definition
EvtLambdacPHH.hh:52
EvtLambdacPHH::LcResLabel::Delta
@ Delta
Definition
EvtLambdacPHH.hh:54
EvtLambdacPHH::clone
EvtDecayBase * clone() const override
Definition
EvtLambdacPHH.cpp:91
EvtLambdacPHH::getACos
double getACos(double num, double denom) const
Definition
EvtLambdacPHH.cpp:651
EvtLambdacPHH::m_DeltaR
double m_DeltaR
Definition
EvtLambdacPHH.hh:95
EvtLambdacPHH::initProbMax
void initProbMax() override
Definition
EvtLambdacPHH.cpp:300
EvtLambdacPHH::m_phiH1
double m_phiH1
Definition
EvtLambdacPHH.hh:91
EvtLambdacPHH::m_KstarW
double m_KstarW
Definition
EvtLambdacPHH.hh:94
EvtLambdacPHH::m_KstarNorm
double m_KstarNorm
Definition
EvtLambdacPHH.hh:93
EvtLambdacPHH::getName
std::string getName() const override
Definition
EvtLambdacPHH.cpp:86
EvtLambdacPHH::m_phiNminusminus
double m_phiNminusminus
Definition
EvtLambdacPHH.hh:89
EvtLambdacPHH::m_NRNorm
double m_NRNorm
Definition
EvtLambdacPHH.hh:93
EvtLambdacPHH::m_zpMag
double m_zpMag
Definition
EvtLambdacPHH.hh:100
EvtLambdacPHH::m_LambdaM
double m_LambdaM
Definition
EvtLambdacPHH.hh:96
EvtLambdacPHH::m_d2
int m_d2
Definition
EvtLambdacPHH.hh:85
EvtLambdacPHH::m_p4_Lambdac_Mag
double m_p4_Lambdac_Mag
Definition
EvtLambdacPHH.hh:100
EvtLambdacPHH::getASin
double getASin(double num, double denom) const
Definition
EvtLambdacPHH.cpp:666
EvtLambdacPHH::calcNormalisations
void calcNormalisations()
Definition
EvtLambdacPHH.cpp:161
EvtLambdacPHH::m_KstarM
double m_KstarM
Definition
EvtLambdacPHH.hh:94
EvtLambdacPHH::fampl3
EvtComplex fampl3(double amplitude_res, double phi_res, int spinMother, int m_spinMother, int m_prime_spinMother, double theta_res, float spin_res, float m_spin_res, float m_prime_spin_res, double theta_daughter_res, double phi_prime_daughter_res) const
Definition
EvtLambdacPHH.cpp:628
EvtLambdacPHH::m_phiF1
double m_phiF1
Definition
EvtLambdacPHH.hh:91
EvtLambdacPHH::m_DeltaM
double m_DeltaM
Definition
EvtLambdacPHH.hh:95
EvtLambdacPHH::m_phiE1
double m_phiE1
Definition
EvtLambdacPHH.hh:90
EvtLambdacPHH::m_F2
double m_F2
Definition
EvtLambdacPHH.hh:91
EvtLambdacPHH::m_Nminusminus
double m_Nminusminus
Definition
EvtLambdacPHH.hh:88
EvtLambdacPHH::EvtLambdacPHH
EvtLambdacPHH()
Definition
EvtLambdacPHH.cpp:36
EvtLambdacPHH::m_E4
double m_E4
Definition
EvtLambdacPHH.hh:90
EvtLambdacPHH::m_phiH2
double m_phiH2
Definition
EvtLambdacPHH.hh:91
EvtLambdacPHH::init
void init() override
Definition
EvtLambdacPHH.cpp:112
EvtLambdacPHH::m_E2
double m_E2
Definition
EvtLambdacPHH.hh:90
EvtLambdacPHH::m_phiE2
double m_phiE2
Definition
EvtLambdacPHH.hh:90
EvtLambdacPHH::m_zprime
EvtVector4R m_zprime
Definition
EvtLambdacPHH.hh:99
EvtLambdacPHH::DecayAmp3
EvtComplex DecayAmp3(EvtLambdacPHH::LcResLabel resonance, int m, int mprime, double theta_res, double phi_res, double theta_prime_daughter_res, double phi_prime_daughter_res) const
Definition
EvtLambdacPHH.cpp:507
EvtLambdacPHH::m_phiE3
double m_phiE3
Definition
EvtLambdacPHH.hh:90
EvtParticle
Definition
EvtParticle.hh:45
EvtResonance2
Definition
EvtResonance2.hh:28
EvtVector4R
Definition
EvtVector4R.hh:29
Generated by
1.17.0