Belle II Software development
EvtPHSPBMix.h
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) 2002 INFN-Pisa
10//
11// Module: EvtPHSPBMix.cc
12//
13// Description:
14// Routine to decay vector-> particle particle with B0 mixing, coherent B0B0-like mixing if any.
15// EvtPHSPBBMix: handle states with two neutral B
16// EvtPHSPBMix : handles states with only one neutral B
17// Phase-space kinematics, CP conservation, deltaGamma=0, p/q=1
18//
19// Based on EvtVSSBMixCPT
20//
21// Modification history:
22//
23// R. Louvot, EPFL, 2010/03/09
24// C. MacQueen, 2016/10/03 Adapted to Belle II
25//
26//------------------------------------------------------------------------
27
28#pragma once
29
30#include "EvtGenBase/EvtDecayAmp.hh"
31#include "EvtGenBase/EvtParticle.hh"
32#include "EvtGenBase/EvtComplex.hh"
33
36class EvtPHSPBBMix: public EvtDecayAmp {
37
38public:
39
42
44 virtual ~EvtPHSPBBMix();
45
47 std::string getName();
48
50 EvtDecayBase* clone();
51
53 void decay(EvtParticle* p);
54
56 void init();
57
59 void initProbMax();
60
62 int nRealDaughters();
63
64private:
65
67 void prlp(int)const;
68
70 EvtComplex Amplitude(const double& t1, const double& t2, bool B1_is_B0, bool B2_is_B0) const;
71
73 double _freq{0}; //
74
76 double _C{0}; //
77
79 bool _BBpipi{0};
80
82 bool _print_info{false};
83
84};
85
88class EvtPHSPBMix : public EvtDecayAmp {
89
90public:
91
94
96 virtual ~EvtPHSPBMix();
97
99 std::string getName();
100
102 EvtDecayBase* clone();
103
105 void decay(EvtParticle* p);
106
108 void init();
109
111 void initProbMax();
112
114 int nRealDaughters();
115
116private:
117
119 double _freq{0};
120
122 bool _print_info{false};
123
124};
125
The class provides routine to decay vector-> particle particle with B0 mixing, coherent B0B0-like mix...
Definition: EvtPHSPBMix.h:36
void init()
Init function.
Definition: EvtPHSPBMix.cc:60
void prlp(int) const
Number of real daughters.
Definition: EvtPHSPBMix.cc:225
bool _print_info
Print evtgeninfo?
Definition: EvtPHSPBMix.h:82
virtual ~EvtPHSPBBMix()
Default destructor.
Definition: EvtPHSPBMix.cc:47
EvtPHSPBBMix()
Default constructor.
Definition: EvtPHSPBMix.h:41
EvtDecayBase * clone()
Clone the decay
Definition: EvtPHSPBMix.cc:55
void initProbMax()
Init maximal prob.
Definition: EvtPHSPBMix.cc:218
int nRealDaughters()
Number of real daughters.
Definition: EvtPHSPBMix.cc:203
double _C
C eigenvalue, 0= incoherent.
Definition: EvtPHSPBMix.h:76
double _freq
mixing frequency in hbar/mm
Definition: EvtPHSPBMix.h:73
EvtComplex Amplitude(const double &t1, const double &t2, bool B1_is_B0, bool B2_is_B0) const
Calculate amplitude.
Definition: EvtPHSPBMix.cc:323
std::string getName()
Get function Name
Definition: EvtPHSPBMix.cc:49
bool _BBpipi
Is BBpipi?
Definition: EvtPHSPBMix.h:79
void decay(EvtParticle *p)
Decay function.
Definition: EvtPHSPBMix.cc:230
The class provides routine to decay vector-> particle particle with B0 mixing, handles states with on...
Definition: EvtPHSPBMix.h:88
void init()
Init function.
Definition: EvtPHSPBMix.cc:378
bool _print_info
Print evtgeninfo?
Definition: EvtPHSPBMix.h:122
EvtDecayBase * clone()
Clone the decay
Definition: EvtPHSPBMix.cc:373
virtual ~EvtPHSPBMix()
Default destructor.
Definition: EvtPHSPBMix.cc:365
void initProbMax()
Init maximal prob.
Definition: EvtPHSPBMix.cc:449
int nRealDaughters()
Number of real daughters.
Definition: EvtPHSPBMix.cc:444
EvtPHSPBMix()
Default constructor.
Definition: EvtPHSPBMix.h:93
double _freq
mixing frequency in hbar/mm
Definition: EvtPHSPBMix.h:119
std::string getName()
Get function Name
Definition: EvtPHSPBMix.cc:367
void decay(EvtParticle *p)
Decay function.
Definition: EvtPHSPBMix.cc:456