Belle II Software development
EvtBGL Class Reference

The class provides the form factors for orbitally excited semileptonic decays. More...

#include <EvtBGL.h>

Inheritance diagram for EvtBGL:

Public Member Functions

 EvtBGL ()
 Default constructor.
 
virtual ~EvtBGL ()
 virtual destructor
 
std::string getName ()
 Returns name of module.
 
EvtDecayBase * clone ()
 Clones module.
 
void decay (EvtParticle *p)
 Creates a decay.
 
void initProbMax ()
 Sets maximal probab.
 
void init ()
 Initializes module.
 

Private Attributes

EvtSemiLeptonicFF * bglffmodel
 Pointers needed for FFs.
 
EvtSemiLeptonicAmp * calcamp
 Pointers needed to calculate amplitude.
 

Detailed Description

The class provides the form factors for orbitally excited semileptonic decays.

Definition at line 19 of file EvtBGL.h.

Constructor & Destructor Documentation

◆ EvtBGL()

EvtBGL ( )

Default constructor.

Definition at line 26 of file EvtBGL.cc.

26 :
27 bglffmodel(0)
28 , calcamp(0)
29{}
EvtSemiLeptonicAmp * calcamp
Pointers needed to calculate amplitude.
Definition: EvtBGL.h:50
EvtSemiLeptonicFF * bglffmodel
Pointers needed for FFs.
Definition: EvtBGL.h:47

◆ ~EvtBGL()

~EvtBGL ( )
virtual

virtual destructor

Definition at line 31 of file EvtBGL.cc.

32{
33 delete bglffmodel;
34 bglffmodel = 0;
35 delete calcamp;
36 calcamp = 0;
37}

Member Function Documentation

◆ clone()

EvtDecayBase * clone ( )

Clones module.

Definition at line 48 of file EvtBGL.cc.

49{
50
51 return new EvtBGL;
52
53}
EvtBGL()
Default constructor.
Definition: EvtBGL.cc:26

◆ decay()

void decay ( EvtParticle *  p)

Creates a decay.

Definition at line 56 of file EvtBGL.cc.

57{
58
59 p->initializePhaseSpace(getNDaug(), getDaugs());
60 calcamp->CalcAmp(p, _amp2, bglffmodel);
61
62}

◆ getName()

std::string getName ( )

Returns name of module.

Definition at line 39 of file EvtBGL.cc.

40{
41
42 return "BGL";
43
44}

◆ init()

void init ( )

Initializes module.

Definition at line 99 of file EvtBGL.cc.

100{
101
102 checkNDaug(3);
103
104 //We expect the parent to be a scalar
105 //and the daughters to be X lepton neutrino
106 checkSpinParent(EvtSpinType::SCALAR);
107
108 checkSpinDaughter(1, EvtSpinType::DIRAC);
109 checkSpinDaughter(2, EvtSpinType::NEUTRINO);
110
111 EvtSpinType::spintype d1type = EvtPDL::getSpinType(getDaug(0));
112 if (d1type == EvtSpinType::SCALAR) {
113 if (getNArg() == 8) {
114 bglffmodel = new EvtBGLFF(getArg(0), getArg(1), getArg(2), getArg(3), getArg(4), getArg(5), getArg(6), getArg(7));
115 calcamp = new EvtSemiLeptonicScalarAmp;
116 } else {
117 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "BGL (N=3) model for scalar meson daughters needs 8 arguments. Sorry." << endl;
118
119 ::abort();
120 }
121 } else if (d1type == EvtSpinType::VECTOR) {
122 if (getNArg() == 6) {
123 bglffmodel = new EvtBGLFF(getArg(0), getArg(1), getArg(2), getArg(3), getArg(4), getArg(5));
124 calcamp = new EvtSemiLeptonicVectorAmp;
125 } else {
126 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "BGL model for vector meson daughters needs 6 arguments. Sorry." << endl;
127 ::abort();
128 }
129 } else {
130 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "BGL model handles only scalar and vector meson daughters. Sorry." << endl;
131 ::abort();
132 }
133
134
135}
The class provides the form factors for semileptonic D and D* decays with full mass dependence.
Definition: EvtBGLFF.h:17

◆ initProbMax()

void initProbMax ( )

Sets maximal probab.

Definition at line 64 of file EvtBGL.cc.

65{
66
67 EvtId parnum, mesnum, lnum, nunum;
68
69 parnum = getParentId();
70 mesnum = getDaug(0);
71 lnum = getDaug(1);
72 nunum = getDaug(2);
73
74 double mymaxprob = calcamp->CalcMaxProb(parnum, mesnum,
75 lnum, nunum, bglffmodel);
76
77 // Leptons
78 static EvtId EM = EvtPDL::getId("e-");
79 static EvtId EP = EvtPDL::getId("e+");
80 static EvtId MUM = EvtPDL::getId("mu-");
81 static EvtId MUP = EvtPDL::getId("mu+");
82 static EvtId TAUM = EvtPDL::getId("tau-");
83 static EvtId TAUP = EvtPDL::getId("tau+");
84
85 if (lnum == EP || lnum == EM || lnum == MUP || lnum == MUM) {
86 setProbMax(mymaxprob);
87 return;
88 }
89 if (lnum == TAUP || lnum == TAUM) {
90 setProbMax(6500);
91 return;
92 }
93
94
95
96}

Member Data Documentation

◆ bglffmodel

EvtSemiLeptonicFF* bglffmodel
private

Pointers needed for FFs.

Definition at line 47 of file EvtBGL.h.

◆ calcamp

EvtSemiLeptonicAmp* calcamp
private

Pointers needed to calculate amplitude.

Definition at line 50 of file EvtBGL.h.


The documentation for this class was generated from the following files: