Belle II Software prerelease-11-00-00a
EvtHNLBGL Class Reference

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

#include <EvtHNLBGL.h>

Inheritance diagram for EvtHNLBGL:
Collaboration diagram for EvtHNLBGL:

Public Member Functions

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

Constructor & Destructor Documentation

◆ EvtHNLBGL()

EvtHNLBGL ( )

Default constructor.

Definition at line 23 of file EvtHNLBGL.cc.

23 :
24 bglffmodel(0)
25 , calcamp(0)
26{}
EvtSemiLeptonicAmp * calcamp
Pointers needed to calculate amplitude.
Definition EvtHNLBGL.h:50
EvtSemiLeptonicFF * bglffmodel
Pointers needed for FFs.
Definition EvtHNLBGL.h:47

◆ ~EvtHNLBGL()

~EvtHNLBGL ( )
virtual

virtual destructor

Definition at line 28 of file EvtHNLBGL.cc.

29{
30 delete bglffmodel;
31 bglffmodel = 0;
32 delete calcamp;
33 calcamp = 0;
34}

Member Function Documentation

◆ clone()

EvtDecayBase * clone ( )

Clones module.

Definition at line 45 of file EvtHNLBGL.cc.

46{
47
48 return new EvtHNLBGL;
49
50}
EvtHNLBGL()
Default constructor.
Definition EvtHNLBGL.cc:23

◆ decay()

void decay ( EvtParticle * p)

Creates a decay.

Definition at line 53 of file EvtHNLBGL.cc.

54{
55
56 p->initializePhaseSpace(getNDaug(), getDaugs());
57 calcamp->CalcAmp(p, _amp2, bglffmodel);
58
59}

◆ getName()

std::string getName ( )

Returns name of module.

Definition at line 36 of file EvtHNLBGL.cc.

37{
38
39 return "HNLBGL";
40
41}

◆ init()

void init ( )

Initializes module.

Definition at line 96 of file EvtHNLBGL.cc.

97{
98
99 checkNDaug(3);
100
101 //We expect the parent to be a scalar
102 //and the daughters to be X lepton neutrino
103 checkSpinParent(EvtSpinType::SCALAR);
104
105 checkSpinDaughter(1, EvtSpinType::DIRAC);
106 checkSpinDaughter(2, EvtSpinType::DIRAC);
107
108 EvtSpinType::spintype d1type = EvtPDL::getSpinType(getDaug(0));
109 if (d1type == EvtSpinType::SCALAR) {
110 if (getNArg() == 8) {
111 bglffmodel = new EvtBGLFF(getArg(0), getArg(1), getArg(2), getArg(3), getArg(4), getArg(5), getArg(6), getArg(7));
112 calcamp = new EvtHNLSemiLeptonicScalarAmp;
113 } else {
114 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "HNLBGL (N=3) model for scalar meson daughters needs 8 arguments. Sorry." << endl;
115
116 ::abort();
117 }
118 } else if (d1type == EvtSpinType::VECTOR) {
119 if (getNArg() == 6) {
120 bglffmodel = new EvtBGLFF(getArg(0), getArg(1), getArg(2), getArg(3), getArg(4), getArg(5));
121 calcamp = new EvtHNLSemiLeptonicVectorAmp;
122 } else {
123 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "HNLBGL model for vector meson daughters needs 6 arguments. Sorry." << endl;
124 ::abort();
125 }
126 } else {
127 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "HNLBGL model handles only scalar and vector meson daughters. Sorry." << endl;
128 ::abort();
129 }
130
131
132}

◆ initProbMax()

void initProbMax ( )

Sets maximal probab.

Definition at line 61 of file EvtHNLBGL.cc.

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

Member Data Documentation

◆ bglffmodel

EvtSemiLeptonicFF* bglffmodel
private

Pointers needed for FFs.

Definition at line 47 of file EvtHNLBGL.h.

◆ calcamp

EvtSemiLeptonicAmp* calcamp
private

Pointers needed to calculate amplitude.

Definition at line 50 of file EvtHNLBGL.h.


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