evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtSVVHelCPMix.hh
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
21 #ifndef EVTSVVHELCPMIX_HH
22 #define EVTSVVHELCPMIX_HH
23 
25 
26 //Class to handle decays of the form SCALAR -> VECTOR VECTOR
27 //according the the helicity amplitudes specified by the
28 //user. There are 6 arguements, orders as amplitude then
29 //phase for H+, H0, and H-, in that order.
30 //
31 // Description: Routine to decay scalar -> 2 vectors
32 // by specifying the helicity amplitudes, taking appropriate
33 // weak phases into account to get mixing and CP violation through
34 // interference. Based on EvtSVVHelAmp. Particularly appropriate for
35 // Bs->J/Psi+Phi
36 //
37 // Model takes the following as user-specified arguments:
38 // deltaM, averageM - mass diference and average of light and heavy mass eigenstates (real scalars)
39 // gamma, deltagamma - average width and width difference of the l and h eigenstates (real scalars)
40 // delta1, delta2 - strong phases (real scalars)
41 // direct weak phase (real scalar) (for Bs->JPsiPhi this will be zero)
42 // weak mixing phase (real scalar) (this is equal to 2*arg(Vts Vtb) for Bs->JPsiPhi)
43 // Magnitudes of helicity amplitudes as in SVV_HELAMP
44 // See Phys Rev D 34 p1404 - p1417 and chapters 5 and 7 of Physics Reports 370 p537-680 for more details
45 
46 class EvtAmp;
47 class EvtParticle;
48 class EvtId;
49 
50 class EvtSVVHelCPMix : public EvtDecayAmp {
51  public:
52  std::string getName() override;
53  EvtDecayBase* clone() override;
54 
55  void init() override;
56 
60  double averageM;
61  double deltaM;
62  double gamma;
63  double deltagamma;
68 
69  void initProbMax() override;
70 
71  void decay( EvtParticle* p ) override;
72 
73  std::string getParamName( int i ) override;
74  std::string getParamDefault( int i ) override;
75 };
76 
77 #endif
EvtComplex weakdirectphase
std::string getName() override
void initProbMax() override
std::string getParamDefault(int i) override
EvtComplex strongphase2
void init() override
EvtComplex weakmixingphase
EvtDecayBase * clone() override
Definition: EvtId.hh:27
Definition: EvtAmp.hh:30
void decay(EvtParticle *p) override
EvtComplex strongphase1
std::string getParamName(int i) override