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.
EvtBcToNPi.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 EvtBcToNPi_HH
22 #define EvtBcToNPi_HH
23 
24 #include "EvtGenBase/EvtComplex.hh"
29 
30 #include <string>
31 
32 // Description: General decay model for Bc -> V + npi and Bc -> P + npi
33 
34 class EvtBcToNPi : public EvtDecayAmp {
35  public:
36  EvtBcToNPi( bool printAuthorInfo = false );
37 
38  std::string getName() override;
39 
40  EvtDecayBase* clone() override;
41 
42  void initProbMax() override;
43 
44  void init() override;
45 
46  void decay( EvtParticle* p ) override;
47 
48  protected:
49  int nCall;
50  double maxAmp2;
51 
52  // Bc form factors
53  double _maxProb;
54  double FA0_N, FA0_c1, FA0_c2;
55  double FAm_N, FAm_c1, FAm_c2;
56  double FAp_N, FAp_c1, FAp_c2;
57  double FV_N, FV_c1, FV_c2;
58 
59  double Fp_N, Fp_c1, Fp_c2;
60  double Fm_N, Fm_c1, Fm_c2;
61 
62  // W -> pi... form factors
63  double _beta;
64  double _mRho;
65  double _gammaRho;
66  double _mRhopr;
67  double _gammaRhopr;
68  double _mA1;
69  double _gammaA1;
70 
71  double _ee( double M, double m1, double m2 );
72  double _pp( double M, double m1, double m2 );
74  double pi3G( double m2, int dupD );
75 
76  private:
77  void printAuthorInfo();
78 };
79 
80 #endif
double _gammaRho
Definition: EvtBcToNPi.hh:65
double FAm_N
Definition: EvtBcToNPi.hh:55
double _maxProb
Definition: EvtBcToNPi.hh:53
double FAm_c1
Definition: EvtBcToNPi.hh:55
double maxAmp2
Definition: EvtBcToNPi.hh:50
double Fm_c2
Definition: EvtBcToNPi.hh:60
double FA0_N
Definition: EvtBcToNPi.hh:54
void initProbMax() override
Definition: EvtBcToNPi.cpp:135
double FAp_N
Definition: EvtBcToNPi.hh:56
double FAp_c2
Definition: EvtBcToNPi.hh:56
void printAuthorInfo()
Definition: EvtBcToNPi.cpp:373
double Fp_c1
Definition: EvtBcToNPi.hh:59
void decay(EvtParticle *p) override
Definition: EvtBcToNPi.cpp:212
double Fp_c2
Definition: EvtBcToNPi.hh:59
double Fm_N
Definition: EvtBcToNPi.hh:60
double FV_N
Definition: EvtBcToNPi.hh:57
double FA0_c2
Definition: EvtBcToNPi.hh:54
EvtBcToNPi(bool printAuthorInfo=false)
Definition: EvtBcToNPi.cpp:35
double _beta
Definition: EvtBcToNPi.hh:63
EvtComplex Fpi(EvtVector4R q1, EvtVector4R q2)
Definition: EvtBcToNPi.cpp:327
std::string getName() override
Definition: EvtBcToNPi.cpp:44
double Fp_N
Definition: EvtBcToNPi.hh:59
double FA0_c1
Definition: EvtBcToNPi.hh:54
double FAp_c1
Definition: EvtBcToNPi.hh:56
double _mRho
Definition: EvtBcToNPi.hh:64
double pi3G(double m2, int dupD)
Definition: EvtBcToNPi.cpp:361
EvtDecayBase * clone() override
Definition: EvtBcToNPi.cpp:49
double FV_c2
Definition: EvtBcToNPi.hh:57
double _ee(double M, double m1, double m2)
Definition: EvtBcToNPi.cpp:124
double FAm_c2
Definition: EvtBcToNPi.hh:55
double _gammaRhopr
Definition: EvtBcToNPi.hh:67
double _mA1
Definition: EvtBcToNPi.hh:68
double _mRhopr
Definition: EvtBcToNPi.hh:66
double FV_c1
Definition: EvtBcToNPi.hh:57
double Fm_c1
Definition: EvtBcToNPi.hh:60
void init() override
Definition: EvtBcToNPi.cpp:54
double _pp(double M, double m1, double m2)
Definition: EvtBcToNPi.cpp:129
double _gammaA1
Definition: EvtBcToNPi.hh:69