BOSS
8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtVubHybrid.hh
Go to the documentation of this file.
1
//--------------------------------------------------------------------------
2
//
3
// Environment:
4
// This software is part of the EvtGen package developed jointly
5
// for the BaBar and CLEO collaborations. If you use all or part
6
// of it, please give an appropriate acknowledgement.
7
//
8
// Copyright Information: See EvtGen/COPYRIGHT
9
// Copyright (C) 1998 Caltech, UCSB
10
//
11
// Module: EvtGen/EvtVubHybrid.hh
12
//
13
// Description:
14
// Class to generate inclusive B to X_u l nu decays.
15
// This class is based on EvtVub by Sven Menke with an update to
16
// generate the inclusive decays in such a way that the right
17
// mix of inclusive and exclusive decays is obtained:
18
// "Hybrid Model" by Dominique Fortin.
19
// NOTE:
20
// - A set of weights (for bins in the kinematic variables mX, q2, El)
21
// is read from DECAY.DEC. This set of weights must be consistent
22
// with the other parameters specified (excl. BF, non-res BF, mb, a).
23
// - If no binning/weights are specified in DECAY.DEC the hybrid
24
// reweighting is not activated
25
//
26
// Modification history:
27
//
28
// Jochen Dingfelder February 1, 2005 Created Module as update of
29
// the module EvtVub including
30
// hybrid model.
31
//------------------------------------------------------------------------
32
33
#ifndef EVTVUBHYBRID_HH
34
#define EVTVUBHYBRID_HH
35
36
#include "
../EvtGenBase/EvtDecayIncoherent.hh
"
37
38
#include <vector>
39
40
class
EvtParticle
;
41
class
EvtVubdGamma
;
42
class
RandGeneral;
43
44
class
EvtVubHybrid
:
public
EvtDecayIncoherent
{
45
46
public
:
47
EvtVubHybrid
();
48
virtual
~EvtVubHybrid
();
49
50
void
getName
( std::string& name );
51
52
EvtDecayBase
*
clone
();
53
54
void
initProbMax
();
55
56
void
init
();
57
58
void
decay
(
EvtParticle
* p );
59
60
void
readWeights
(
int
startArg = 0 );
61
62
double
getWeight
(
double
mX,
double
q2,
double
El );
63
64
private
:
65
double
findPFermi();
66
67
enum
{ nParameters = 3, nVariables = 3 };
68
69
bool
_noHybrid;
70
bool
_storeQplus;
71
72
double
_mb;
// the b-quark pole mass in GeV (try 4.65 to 4.9)
73
double
_a;
// Parameter for the Fermi Motion (1.29 is good)
74
double
_alphas;
// Strong Coupling at m_b (around 0.24)
75
double
_dGMax;
// max dGamma*p2 value;
76
int
_nbins_mX;
77
int
_nbins_q2;
78
int
_nbins_El;
79
int
_nbins;
80
double
_masscut;
81
double
* _bins_mX;
82
double
* _bins_q2;
83
double
* _bins_El;
84
double
* _weights;
85
EvtVubdGamma
* _dGamma;
// calculates the decay rate
86
std::vector<double> _pf;
87
};
88
89
#endif
EvtDecayIncoherent.hh
EvtDecayBase::EvtDecayBase
EvtDecayBase()
Definition
EvtDecayBase.cc:205
EvtDecayIncoherent
Definition
EvtDecayIncoherent.hh:27
EvtParticle
Definition
EvtParticle.hh:42
EvtVubHybrid::readWeights
void readWeights(int startArg=0)
Definition
EvtVubHybrid.cc:461
EvtVubHybrid::initProbMax
void initProbMax()
Definition
EvtVubHybrid.cc:180
EvtVubHybrid::getWeight
double getWeight(double mX, double q2, double El)
Definition
EvtVubHybrid.cc:430
EvtVubHybrid::EvtVubHybrid
EvtVubHybrid()
Definition
EvtVubHybrid.cc:49
EvtVubHybrid::init
void init()
Definition
EvtVubHybrid.cc:79
EvtVubHybrid::decay
void decay(EvtParticle *p)
Definition
EvtVubHybrid.cc:182
EvtVubHybrid::getName
void getName(std::string &name)
Definition
EvtVubHybrid.cc:75
EvtVubHybrid::~EvtVubHybrid
virtual ~EvtVubHybrid()
Definition
EvtVubHybrid.cc:67
EvtVubHybrid::clone
EvtDecayBase * clone()
Definition
EvtVubHybrid.cc:77
EvtVubdGamma
Definition
EvtVubdGamma.hh:38
8.0.0
BOSS_Gen
BesEvtGen
src
EvtGen
EvtGenModels
EvtVubHybrid.hh
Generated by
1.16.1