Skip to content

Commit 3a61229

Browse files
committed
Merge pull request #1088 in B2/basf2 from feature/B2Xsnunubar_evtgen_model-r06-01 to release/06-01
* commit 'e1d7eb1529c97836390e73448bea834431a5cc1d': Merge pull request #594 in B2/basf2 from feature/Bugfix-B2Xsnunubar-evtgen-model to main Merge pull request #560 in B2/basf2 from feature/B2Xsnunubar_evtgen_model to main
2 parents c584dcb + e1d7eb1 commit 3a61229

File tree

6 files changed

+896
-0
lines changed

6 files changed

+896
-0
lines changed
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
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/EvtDecayIncoherent.hh"
12+
#include "EvtGenBase/EvtParticle.hh"
13+
#include <string>
14+
15+
namespace Belle2 {
16+
class EvtBtoXsnunu_FERMI : public EvtDecayIncoherent {
17+
18+
/** The evtgen model to produce non-resonant B-> Xs nu nubar decay sample.
19+
*
20+
* In this model, kinematics of two neutrinos is not carefully considered. Di-neutrino just decay by EvtGenKine::PhaseSpace
21+
*
22+
* This model adopts the Fermi motion model which is used for EvtBtoXsll model.
23+
*
24+
* The momentums of b-quark and spectator quark are determined by the Fermi motion model.
25+
* The decay of b-quark is determined by dGdsb probability density function from [arXiv:1509.06248v2].
26+
*
27+
* This model requires 6 parameters: m_ms, m_mq, m_pf, m_mxmin, m_mb_prob, m_ms_prob.
28+
* m_mb_prob and m_ms_prob are used to calculate dGdsb. m_mb_prob=4.68 and m_ms_prob=0.1 are used in [arXiv:0902.0160].
29+
* In [arXiv:hep-ph/9603237], m_mb_prob=4.8 and m_ms_prob=0.2 are used for B->Xs l l decay.
30+
* m_ms and m_mq are masses of s-quark and the spectator quark for the Fermi motion model. They are related with the kinematics of Xs.
31+
* m_pf is the Fermi motion momentum used in the Fermi motion model.
32+
* m_mxmin is the minimum mass of Xs.
33+
*
34+
* You can use the model as follows:
35+
*
36+
* Decay MyB-
37+
* 1.0 anti-Xsu anti-nu_e nu_e BTOXSNUNU_FERMI 0.2 0.0 0.461 1.1 4.8 0.2;
38+
* Enddecay
39+
*/
40+
41+
public:
42+
43+
/**
44+
* Constructor.
45+
*/
46+
EvtBtoXsnunu_FERMI() {}
47+
48+
/**
49+
* Destructor.
50+
*/
51+
virtual ~EvtBtoXsnunu_FERMI();
52+
53+
/**
54+
* The function which returns the name of the model.
55+
*/
56+
std::string getName();
57+
58+
/**
59+
* The function which makes a copy of the model.
60+
*/
61+
EvtDecayBase* clone();
62+
63+
/**
64+
* The function to sets a maximum probability.
65+
* In this model, noProbMax() is called because maximum probability is determined by m_dGdsbProbMax
66+
*/
67+
void initProbMax();
68+
69+
/**
70+
* The function for an initialization.
71+
*/
72+
void init();
73+
74+
/**
75+
* The function to determine kinematics of daughter particles based on dGdsb distribution.
76+
*/
77+
void decay(EvtParticle* p);
78+
79+
/**
80+
* The function returns the probability density value depending on sb.
81+
*/
82+
double dGdsbProb(double _sb);
83+
84+
/**
85+
* The function returns a momentum of b quark.
86+
* The distribution of the momentum is based on the Fermi motion model.
87+
*/
88+
double FermiMomentum(double pf);
89+
90+
/**
91+
* The function returns a probability based on the Fermi motion model.
92+
* @pf Fermi motion momentum for the Fermi motion model
93+
*/
94+
double FermiMomentumProb(double pb, double pf);
95+
96+
private:
97+
/** The maximum value of dGdsb. */
98+
double m_dGdsbProbMax{0.0};
99+
100+
/** mass of s-quark for the Fermi motion model and EvtGenKine::PhaseSpace. */
101+
double m_ms{0.2};
102+
103+
/** mass of spectator quark for the Fermi motion model. */
104+
double m_mq{0.0};
105+
106+
/** Parameter for the Fermi motioin model. */
107+
double m_pf{0.461};
108+
109+
/** Minimum mass of Xs. */
110+
double m_mxmin{1.1};
111+
112+
/** b-quark mass to calculate dGdsb. */
113+
double m_mb_prob{4.8};
114+
115+
/** s-quark mass to calculate dGdsb. */
116+
double m_ms_prob{0.2};
117+
118+
};
119+
120+
} // Belle 2 Namespace
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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/EvtParticle.hh"
12+
#include "EvtGenBase/EvtDecayAmp.hh"
13+
#include <string>
14+
15+
class EvtParticle;
16+
17+
namespace Belle2 {
18+
class EvtKnunu : public EvtDecayAmp {
19+
20+
/** The evtgen model to produce B-> K nu nubar decay sample.
21+
* From factors are based on [arXiv:1409.4557v2].
22+
*/
23+
24+
public:
25+
26+
/**
27+
* Constructor.
28+
*/
29+
EvtKnunu() {}
30+
31+
/**
32+
* Destructor.
33+
*/
34+
virtual ~EvtKnunu();
35+
36+
/**
37+
* The function which returns the name of the model.
38+
*/
39+
std::string getName();
40+
41+
/**
42+
* The function which makes a copy of the model.
43+
*/
44+
EvtDecayBase* clone();
45+
46+
/**
47+
* The function for an initialization.
48+
*/
49+
void init();
50+
51+
/**
52+
* The function to calculate a quark decay amplitude.
53+
*/
54+
void decay(EvtParticle* p);
55+
56+
/**
57+
* The function to sets a maximum probability.
58+
*/
59+
void initProbMax();
60+
61+
};
62+
63+
} // Belle 2 Namespace
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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/EvtParticle.hh"
12+
#include "EvtGenBase/EvtDecayAmp.hh"
13+
#include <string>
14+
15+
class EvtParticle;
16+
17+
namespace Belle2 {
18+
class EvtKstarnunu_REV : public EvtDecayAmp {
19+
20+
/** The evtgen model to produce B-> Kstar nu nubar decay sample.
21+
* From factors are based on [arXiv:1503.05534v3].
22+
*/
23+
24+
public:
25+
26+
/**
27+
* Constructor.
28+
*/
29+
EvtKstarnunu_REV() {}
30+
31+
/**
32+
* Destructor.
33+
*/
34+
virtual ~EvtKstarnunu_REV();
35+
36+
/**
37+
* The function which returns the name of the model.
38+
*/
39+
std::string getName();
40+
41+
/**
42+
* The function which makes a copy of the model.
43+
*/
44+
EvtDecayBase* clone();
45+
46+
/**
47+
* The function for an initialization.
48+
*/
49+
void init();
50+
51+
/**
52+
* The function to calculate a quark decay amplitude.
53+
*/
54+
void decay(EvtParticle* p);
55+
56+
/**
57+
* The function to sets a maximum probability.
58+
*/
59+
void initProbMax();
60+
61+
};
62+
63+
} // Belle 2 Namespace

0 commit comments

Comments
 (0)