8#include <generators/evtgen/models/EvtBCLFF.h>
9#include <generators/evtgen/EvtGenInterface.h>
10#include <framework/utilities/FileSystem.h>
12#include <EvtGenBase/EvtId.hh>
13#include <EvtGenBase/EvtPDL.hh>
15#include <gtest/gtest.h>
52 EvtId B0 = EvtPDL::getId(
"B0");
53 EvtId M = EvtPDL::getId(
"pi+");
54 const auto mB = EvtPDL::getMeanMass(B0);
55 const auto mB2 = mB * mB;
56 const auto mM = EvtPDL::getMeanMass(M);
57 const auto mM2 = mM * mM;
58 const auto q2min = 0.0;
59 const auto q2max = mB2 + mM2 - 2 * mB * mM;
62 double arguments[] = {0.419, -0.495, -0.43, 0.22, 0.510, -1.700, 1.53, 4.52};
64 EvtBCLFF bclff(nArguments, arguments);
71 ASSERT_NEAR(0.253, fplus, 0.003);
72 ASSERT_NEAR(0.253, fzero, 0.003);
76 ASSERT_NEAR(7.620, fplus, 0.003);
77 ASSERT_NEAR(1.006, fzero, 0.003);
85 EvtId B0 = EvtPDL::getId(
"B0");
86 EvtId M = EvtPDL::getId(
"rho+");
87 const auto mB = EvtPDL::getMeanMass(B0);
88 const auto mB2 = mB * mB;
89 const auto mM = EvtPDL::getMeanMass(M);
90 const auto mM2 = mM * mM;
91 const auto q2min = 0.0;
92 const auto q2max = mB2 + mM2 - 2 * mB * mM;
95 double arguments[] = { -0.833, 1.331, 0.262, 0.394, 0.163, 0.297, 0.759, 0.465, 0.327, -0.86 , 1.802};
97 EvtBCLFF bclFF(nArguments, arguments);
104 bclFF.
getvectorff(B0, M, q2min, 0, &A1, &A2, &V, &A0);
106 ASSERT_NEAR(0.356, A0, 0.003);
107 ASSERT_NEAR(0.262, A1, 0.003);
108 ASSERT_NEAR(0.327, V, 0.003);
110 bclFF.
getvectorff(B0, M, q2max, 0, &A1, &A2, &V, &A0);
112 ASSERT_NEAR(2.123, A0, 0.003);
113 ASSERT_NEAR(0.497, A1, 0.003);
114 ASSERT_NEAR(2.014, V, 0.003);
The fixture for testing the EvtBCLFF.
static void SetUpTestCase()
sets up the test
static void TearDownTestCase()
cleans up after the test
static EvtGen * createEvtGen(const std::string &decayFileName, bool coherentMixing)
Create and initialize an EvtGen instance:
static std::string findFile(const std::string &path, bool silent=false)
Search for given file or directory in local or central release directory, and return absolute path if...
void getscalarff(EvtId parent, EvtId daughter, double t, double, double *fpf, double *f0f)
Scalar FF's.
static EvtGen * s_evtgen
pointer to the evtgen instance
void getvectorff(EvtId parent, EvtId daughter, double t, double, double *a1f, double *a2f, double *vf, double *a0f)
Vector FF's.
Abstract base class for different kinds of events.