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.
EvtRareLbToLllFFBase.cpp
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 
22 
24 {
25  areZero();
26 }
27 
29 {
30  for ( unsigned int i = 0; i < 4; ++i ) {
31  F_[i] = 0;
32  G_[i] = 0;
33  FT_[i] = 0;
34  GT_[i] = 0;
35  }
36 }
37 
39  natural_( "Lambda0", "anti-Lambda0", "Lambda(1520)0", "anti-Lambda(1520)0",
40  "Lambda(1600)0", "anti-Lambda(1600)0" )
41 {
42 }
43 
45 {
46  return natural_.contains( lambda->getId() );
47 }
48 
50  EvtParticle* lambda ) const
51 {
52  EvtVector4R p4parent;
53  p4parent.set( parent->mass(), 0, 0, 0 );
54 
55  EvtVector4R p4lambda = lambda->getP4();
56 
57  double M = lambda->mass();
58  double MB = parent->mass();
59 
60  return p4parent.cont( p4lambda ) / ( MB * M );
61 
62  // return E_Lambda/M_Lambda
63 }
64 
67  const double qsq ) const
68 {
69  double M = lambda->mass();
70  double MB = parent->mass();
71 
72  double E = ( MB * MB - M * M - qsq ) / ( 2. * MB );
73 
74  return E / M;
75 }
double cont(const EvtVector4R &v4) const
Definition: EvtVector4R.hh:147
double calculateVdotV(EvtParticle *parent, EvtParticle *lambda) const
void set(int i, double d)
Definition: EvtVector4R.hh:167
double lambda(double q, double m1, double m2)
Definition: EvtFlatQ2.cpp:31
double mass() const
int contains(const EvtId id)
Definition: EvtIdSet.cpp:422
bool isNatural(EvtParticle *lambda)