Belle II Software development
EvtHQET3 Class Reference

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

#include <EvtHQET3.h>

Inheritance diagram for EvtHQET3:

Public Member Functions

 EvtHQET3 ()
 Default constructor.
 
virtual ~EvtHQET3 ()
 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 * hqetffmodel
 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 EvtHQET3.h.

Constructor & Destructor Documentation

◆ EvtHQET3()

EvtHQET3 ( )

Default constructor.

Definition at line 28 of file EvtHQET3.cc.

28 :
30 , calcamp(0)
31{}
EvtSemiLeptonicAmp * calcamp
Pointers needed to calculate amplitude.
Definition: EvtHQET3.h:50
EvtSemiLeptonicFF * hqetffmodel
Pointers needed for FFs.
Definition: EvtHQET3.h:47

◆ ~EvtHQET3()

~EvtHQET3 ( )
virtual

virtual destructor

Definition at line 33 of file EvtHQET3.cc.

34{
35 delete hqetffmodel;
36 hqetffmodel = 0;
37 delete calcamp;
38 calcamp = 0;
39}

Member Function Documentation

◆ clone()

EvtDecayBase * clone ( )

Clones module.

Definition at line 50 of file EvtHQET3.cc.

51{
52
53 return new EvtHQET3;
54
55}
EvtHQET3()
Default constructor.
Definition: EvtHQET3.cc:28

◆ decay()

void decay ( EvtParticle *  p)

Creates a decay.

Definition at line 58 of file EvtHQET3.cc.

59{
60
61 p->initializePhaseSpace(getNDaug(), getDaugs());
62 calcamp->CalcAmp(p, _amp2, hqetffmodel);
63
64}

◆ getName()

std::string getName ( )

Returns name of module.

Definition at line 41 of file EvtHQET3.cc.

42{
43
44 return "HQET3";
45
46}

◆ init()

void init ( )

Initializes module.

Definition at line 101 of file EvtHQET3.cc.

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

◆ initProbMax()

void initProbMax ( )

Sets maximal probab.

Definition at line 66 of file EvtHQET3.cc.

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

Member Data Documentation

◆ calcamp

EvtSemiLeptonicAmp* calcamp
private

Pointers needed to calculate amplitude.

Definition at line 50 of file EvtHQET3.h.

◆ hqetffmodel

EvtSemiLeptonicFF* hqetffmodel
private

Pointers needed for FFs.

Definition at line 47 of file EvtHQET3.h.


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