|
|
|||
File indexing completed on 2026-08-06 09:20:07
0001 0002 /*********************************************************************** 0003 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors * 0004 * * 0005 * This file is part of EvtGen. * 0006 * * 0007 * EvtGen is free software: you can redistribute it and/or modify * 0008 * it under the terms of the GNU General Public License as published by * 0009 * the Free Software Foundation, either version 3 of the License, or * 0010 * (at your option) any later version. * 0011 * * 0012 * EvtGen is distributed in the hope that it will be useful, * 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 0015 * GNU General Public License for more details. * 0016 * * 0017 * You should have received a copy of the GNU General Public License * 0018 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. * 0019 ***********************************************************************/ 0020 0021 #ifndef EVTSVVNONCPEIGEN_HH 0022 #define EVTSVVNONCPEIGEN_HH 0023 0024 #include "EvtGenBase/EvtDecayAmp.hh" 0025 0026 class EvtParticle; 0027 0028 // Description: Routine to decay scalar -> vector vector 0029 // and has CP violation. 0030 // 0031 // This model does all the ckm-suppressed decays and mixing for you. It randomly 'overwrites' 0032 // any reco or tagging state as set in the Y(4S) decay model (VSS_(B)MIX) with its own generated states. 0033 // 0034 // As such, the corresponding dec file requires only one decay-mode description, for example: 0035 // Decay MyB0 0036 // 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 ; 0037 // EndDecay 0038 // and furthermore Y(4S) only needs to decay to B0's (or B0bar's). 0039 // The decay above should be a CKM-favored mode (eg. B0->D*-rho+ or B0bar->D*+rho-). 0040 // All ckm-suppressed decays and the mixing are derived from this line in the ::Decay function. 0041 // 0042 // There are 15 or 27 arguments. The first three are dm, phase1 0043 // and phase2. dm is the B0-B0bar mass difference. Phases 1 0044 // and 2 are the CKM weak phases relevant for the particular mode, 0045 // eg for B-->DstRho phase1 is beta and phase2 is gamma. 0046 // 0047 // The next arguments are the 2 amplitudes (= 12 input parameters) 0048 // in the order: A_f, Abar_f. In the example above, the 'A_f' amplitude now 0049 // stands for the ckm-favored decay 'B0->D*-rho+', and 'Abar_f' stands for 'B0bar->D*-rho+' 0050 // 0051 // Each amplitude has its 3 helicity states in the order +, 0, -, which are each 0052 // specified by a magnitude and a strong phase. 0053 // 0054 // The last 2 arguments A_fbar and Abar_fbar (=12 input parameters) are not necessary, 0055 // but can included if one wants to set them differently from A_f, Abar_f. 0056 // 0057 // Mind you that Hbar_+- = H_-+ (ignoring the weak phase, which flips sign). 0058 // It is custumary to select one set of helicity states (eg H_+-) and to adopt these for 0059 // the CP-conjugate decays as well (ie. depict Hbar_-+ with H_+-), which is the interpretation 0060 // we use for the input-parameters above. 0061 // However, the angular decay in EvtGen is just a formula in which helicity amplitudes are 'plugged' in, 0062 // making no difference between B0 or B0bar decays. In the model below we (thus) account for the +- 0063 // flipping between B0 and B0bar. 0064 0065 class EvtSVVNONCPEIGEN : public EvtDecayAmp { 0066 public: 0067 std::string getName() override; 0068 EvtDecayBase* clone() override; 0069 0070 void initProbMax() override; 0071 void init() override; 0072 0073 void decay( EvtParticle* p ) override; 0074 0075 std::string getParamName( int i ) override; 0076 std::string getParamDefault( int i ) override; 0077 0078 private: 0079 EvtComplex _A_f[12]; 0080 }; 0081 0082 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|