Hammer  1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FFISGW2Base.cc
Go to the documentation of this file.
1 ///
2 /// @file FFISGW2Base.cc
3 /// @brief Hammer base class for ISGW2 form factors
4 ///
5 
6 //**** This file is a part of the HAMMER library
7 //**** Copyright (C) 2016 - 2020 The HAMMER Collaboration
8 //**** HAMMER is licensed under version 3 of the GPL; see COPYING for details
9 //**** Please note the MCnet academic guidelines; see GUIDELINES for details
10 
11 // -*- C++ -*-
13 #include "Hammer/Math/Constants.hh"
14 #include "Hammer/Particle.hh"
15 
16 using namespace std;
17 
18 namespace Hammer {
19 
20  FFISGW2Base::FFISGW2Base() {
21  setGroup("ISGW2");
22  }
23 
24  double FFISGW2Base::GetGammaji ( double z ) const {
25  double value;
26  value = 2+((2.0*z)/(1-z))*log(z);
27  value *= -1.0;
28  return value;
29  }
30 
31  double FFISGW2Base::Getas ( double mq1, double mq2 ) const {
32  constexpr double lambdaSq=0.04;
33  double Nf=4;
34  if ( mq1 < 1.85 ) Nf = 3.0;
35  double value= 12.0*pi;
36  value/=(33.0-2.0*Nf);
37  value/=log(mq2*mq2/lambdaSq);
38  if(mq2<=0.6) value = 0.6;
39  return value;
40  }
41 
42  double FFISGW2Base::Getas ( double m ) const {
43  return Getas(m,m);
44  }
45 
46  void FFISGW2Base::eval(const Particle& parent, const ParticleList& daughters,
47  const ParticleList&) {
48  // Momenta
49  const FourMomentum& pBmes = parent.momentum();
50  const FourMomentum& pDstarmes = daughters[0].momentum();
51  // const FourMomentum& pTau = daughters[2].momentum();
52 
53 
54  // kinematic objects
55  const double Mb = pBmes.mass();
56  const double Mc = pDstarmes.mass();
57  // const double Mt = pTau.mass();
58  const double Sqq = pow(Mb, 2.) + pow(Mc, 2.) - 2. * (pBmes * pDstarmes);
59 
60  evalAtPSPoint({Sqq}, {Mb, Mc});
61  }
62 
63  void FFISGW2Base::addRefs() const {
64  if(!getSettingsHandler()->checkReference("Isgur:1988gb")){
65  string ref1 = "@article{Isgur:1988gb,\n"
66  " author = \"Isgur, Nathan and Scora, Daryl and Grinstein, Benjamin and Wise, Mark B.\",\n"
67  " title = \"{Semileptonic B and D Decays in the Quark Model}\",\n"
68  " journal = \"Phys. Rev.\",\n"
69  " volume = \"D39\",\n"
70  " year = \"1989\",\n"
71  " pages = \"799-818\",\n"
72  " doi = \"10.1103/PhysRevD.39.799\",\n"
73  " reportNumber = \"UTPT-88-12\",\n"
74  " SLACcitation = \"%%CITATION = PHRVA,D39,799;%%\"\n"
75  "}\n";
76  getSettingsHandler()->addReference("Isgur:1988gb", ref1);
77  }
78  if(!getSettingsHandler()->checkReference("Scora:1995ty")){
79  string ref2 = "@article{Scora:1995ty,\n"
80  " author = \"Scora, Daryl and Isgur, Nathan\",\n"
81  " title = \"{Semileptonic meson decays in the quark model: An update}\",\n"
82  " journal = \"Phys. Rev.\",\n"
83  " volume = \"D52\",\n"
84  " year = \"1995\",\n"
85  " pages = \"2783-2812\",\n"
86  " doi = \"10.1103/PhysRevD.52.2783\",\n"
87  " eprint = \"hep-ph/9503486\",\n"
88  " archivePrefix = \"arXiv\",\n"
89  " primaryClass = \"hep-ph\",\n"
90  " reportNumber = \"CEBAF-TH-94-14\",\n"
91  " SLACcitation = \"%%CITATION = HEP-PH/9503486;%%\"\n"
92  "}\n";
93  getSettingsHandler()->addReference("Scora:1995ty", ref2);
94  }
95  }
96 }
double mass() const
returns the invariant mass if the invariant mass squared is negative returns
Hammer base class for ISGW2 form factors.
std::vector< Particle > ParticleList
Definition: Particle.fhh:20
Particle class.
Definition: Particle.hh:30
const FourMomentum & momentum() const
Definition: Particle.cc:56
Various numerical constants.
Hammer particle class.
4-momentum class
Definition: FourMomentum.hh:30
static constexpr double pi
Definition: Constants.hh:21