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.
EvtPsi2JpsiPiPi.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 EVTPSI2JPSIPIPI_HH
22 #define EVTPSI2JPSIPIPI_HH
23 
25 
26 #include <array>
27 #include <string>
28 
29 class EvtDecayBase;
30 class EvtParticle;
31 
32 // Description: Header file for the model "PSI2JPSIPIPI" which generates
33 // psi2S -> J/psi pi+ pi- decays based on hep-ph/1507.07985
34 
35 class EvtPsi2JpsiPiPi : public EvtDecayAmp {
36  public:
38 
39  std::string getName() override;
40  EvtDecayBase* clone() override;
41  void initProbMax() override;
42  void init() override;
43  void decay( EvtParticle* p ) override;
44 
45  private:
46  bool tree;
47  double phi; // LO vs NLO mixing angle (radians)
49  // NLO corrections
50  static const int nQ = 6; // number of terms in mPiPi interpolation
51  std::array<double, nQ> c0, c1, c2, s1, s2;
52 
53  void setNLOArrays();
54 };
55 
56 #endif
std::array< double, nQ > c2
void decay(EvtParticle *p) override
std::array< double, nQ > s1
std::array< double, nQ > s2
std::array< double, nQ > c1
std::array< double, nQ > c0
void initProbMax() override
EvtDecayBase * clone() override
std::string getName() override
static const int nQ
void init() override