EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtSVVNONCPEIGEN.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 EVTSVVNONCPEIGEN_HH
22#define EVTSVVNONCPEIGEN_HH
23
25
26class EvtParticle;
27
28// Description: Routine to decay scalar -> vector vector
29// and has CP violation.
30//
31// This model does all the ckm-suppressed decays and mixing for you. It randomly 'overwrites'
32// any reco or tagging state as set in the Y(4S) decay model (VSS_(B)MIX) with its own generated states.
33//
34// As such, the corresponding dec file requires only one decay-mode description, for example:
35// Decay MyB0
36// 1.000 rho+ MyD*- SVV_NONCPEIGEN dm beta gamma 0.322 0.31 0.941 0 0.107 1.42 0.02 0 0.02 0 0.02 0 ;
37// EndDecay
38// and furthermore Y(4S) only needs to decay to B0's (or B0bar's).
39// The decay above should be a CKM-favored mode (eg. B0->D*-rho+ or B0bar->D*+rho-).
40// All ckm-suppressed decays and the mixing are derived from this line in the ::Decay function.
41//
42// There are 15 or 27 arguments. The first three are dm, phase1
43// and phase2. dm is the B0-B0bar mass difference. Phases 1
44// and 2 are the CKM weak phases relevant for the particular mode,
45// eg for B-->DstRho phase1 is beta and phase2 is gamma.
46//
47// The next arguments are the 2 amplitudes (= 12 input parameters)
48// in the order: A_f, Abar_f. In the example above, the 'A_f' amplitude now
49// stands for the ckm-favored decay 'B0->D*-rho+', and 'Abar_f' stands for 'B0bar->D*-rho+'
50//
51// Each amplitude has its 3 helicity states in the order +, 0, -, which are each
52// specified by a magnitude and a strong phase.
53//
54// The last 2 arguments A_fbar and Abar_fbar (=12 input parameters) are not necessary,
55// but can included if one wants to set them differently from A_f, Abar_f.
56//
57// Mind you that Hbar_+- = H_-+ (ignoring the weak phase, which flips sign).
58// It is custumary to select one set of helicity states (eg H_+-) and to adopt these for
59// the CP-conjugate decays as well (ie. depict Hbar_-+ with H_+-), which is the interpretation
60// we use for the input-parameters above.
61// However, the angular decay in EvtGen is just a formula in which helicity amplitudes are 'plugged' in,
62// making no difference between B0 or B0bar decays. In the model below we (thus) account for the +-
63// flipping between B0 and B0bar.
64
66 public:
67 std::string getName() const override;
68 EvtDecayBase* clone() const override;
69
70 void initProbMax() override;
71 void init() override;
72
73 void decay( EvtParticle* p ) override;
74
75 std::string getParamName( int i ) override;
76 std::string getParamDefault( int i ) override;
77
78 private:
80};
81
82#endif
EvtDecayBase()=default
std::string getName() const override
std::string getParamName(int i) override
EvtDecayBase * clone() const override
EvtComplex m_A_f[12]
void init() override
void initProbMax() override
void decay(EvtParticle *p) override
std::string getParamDefault(int i) override