Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
C_V1.cpp
Go to the documentation of this file.
1#include <iostream>
2
3using namespace csl;
4using namespace mty;
5using namespace std;
6using namespace sm_input;
7
8void defineLibPath(Library &lib) {
9#ifdef MARTY_LIBRARY_PATH
10 lib.addLPath(MARTY_LIBRARY_PATH);
11 lib.addLPath(MARTY_LIBRARY_PATH "/..");
12 lib.addLPath(MARTY_LIBRARY_PATH "/marty");
13 lib.addLPath(MARTY_LIBRARY_PATH "/marty/lha");
14#endif
15#ifdef MARTY_INCLUDE_PATH
16 lib.addIPath(MARTY_INCLUDE_PATH);
17#endif
18}
19
20int calculate_C_V1_tau(Model &model, gauge::Type gauge) {
21
22 model.getParticle("W")->setGaugeChoice(gauge);
23 model.getParticle("Z")->setGaugeChoice(gauge);
24
25 undefineNumericalValues(); // Allow for HIso to set all the parameters' values
26 mty::option::excludeExternalLegsCorrections = true;
27
28 Expr factorOperator = -4 * V_cb * G_F / csl::sqrt_s(2);
29 FeynOptions opts;
30 opts.setFermionOrder({1, 0, 2, 3});
31 opts.setWilsonOperatorCoefficient(factorOperator);
32
33 auto wil = model.computeWilsonCoefficients(mty::Order::TreeLevel,
34 {Incoming("b"), Outgoing("c"),
35 Outgoing("tau"), Outgoing(AntiPart("nu_tau"))},
36 opts);
37
38 auto O = dimension6Operator(model, wil, DiracCoupling::VL, DiracCoupling::VL, {0, 2, 1, 3});
39 Expr C = getWilsonCoefficient(wil, O);
40 Replace(C, e_em, sqrt_s(8 * G_F / sqrt_s(2)) * M_W * sin_s(theta_W));
41
42 [[maybe_unused]] int sysres = system("rm -rf libs/C_V1_SM");
43 mty::Library wilsonLib("C_V1_SM", "libs");
44 wilsonLib.cleanExistingSources();
45 wilsonLib.addFunction("C_V1", C);
46 defineLibPath(wilsonLib);
47 wilsonLib.print();
48
49 return 0;
50}
51
52int main() {
53 SM_Model sm;
54 return calculate_C_V1_tau(sm, gauge::Type::Feynman);
55}
void defineLibPath(Library &lib)
Definition C_V1.cpp:8
int main()
Definition C_V1.cpp:52
int calculate_C_V1_tau(Model &model, gauge::Type gauge)
Definition C_V1.cpp:20
Model
Standard Model of particle physics.
Definition sm.h:35
csl::Expr e_em
Definition sm.h:78
csl::Expr V_cb
Definition sm.h:238
csl::Expr G_F
Definition sm.h:84
csl::Expr theta_W
Definition sm.h:136
void undefineNumericalValues()
csl::Expr M_W
Definition sm.h:106
Definition sm.h:30
Hash specialization for SymbolId<Tag>.
Definition BlockName.h:353