Belle II Software  release-08-01-10
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 
36 class EvtPHSPBBMix: public EvtDecayAmp {
37 
38 public:
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 
64 private:
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 
88 class EvtPHSPBMix : public EvtDecayAmp {
89 
90 public:
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 
116 private:
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