Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
C2.cpp
Go to the documentation of this file.
1#include <iostream>
2
3// HYPERISO_MARTY_OPERATOR_NORM_ABI: ew-input-normalization-v1
4using namespace csl;
5using namespace mty;
6using namespace std;
7using namespace sm_input;
8
9void defineLibPath(Library &lib) {
10#ifdef MARTY_LIBRARY_PATH
11 lib.addLPath(MARTY_LIBRARY_PATH);
12 lib.addLPath(MARTY_LIBRARY_PATH "/..");
13 lib.addLPath(MARTY_LIBRARY_PATH "/marty");
14 lib.addLPath(MARTY_LIBRARY_PATH "/marty/lha");
15#endif
16#ifdef MARTY_INCLUDE_PATH
17 lib.addIPath(MARTY_INCLUDE_PATH);
18#endif
19}
20
21int calculate_C2(Model &model, gauge::Type gauge) {
22
23 model.getParticle("W")->setGaugeChoice(gauge);
24 model.getParticle("Z")->setGaugeChoice(gauge);
25
26 undefineNumericalValues(); // Allow for HIso to set all the parameters' values
27 mty::option::excludeExternalLegsCorrections = true;
28
29 Expr factorOperator = GetComplexConjugate(V_cs) * V_cb * pow_s(e_em, 2)
30 / (2 * pow_s(sin_s(theta_W), 2) * pow_s(M_W, 2));
31 FeynOptions opts;
32 opts.setFermionOrder({1, 3, 2, 0});
33 opts.setWilsonOperatorCoefficient(factorOperator);
34 opts.addFilter(mty::filter::disableParticle("G"));
35
36 auto wil_LO = model.computeWilsonCoefficients(
37 mty::Order::TreeLevel,
38 {Incoming("b"), Outgoing("s"),
39 Outgoing("c"), Outgoing(AntiPart("c"))},
40 opts
41 );
42
43 Expr C2_LO = getWilsonCoefficient(wil_LO, dimension6Operator(model, wil_LO, DiracCoupling::VL, DiracCoupling::VL, {1, 3, 0, 2}));
44
45 // opts.discardLowerOrders = true;
46 // auto wil_NLO = model.computeWilsonCoefficients(
47 // mty::Order::OneLoop,
48 // {Incoming("b"), Outgoing("s"),
49 // Outgoing("c"), Outgoing(AntiPart("c"))},
50 // opts
51 // );
52
53 // Expr C2_NLO = getWilsonCoefficient(
54 // wil_NLO,
55 // dimension6Operator(model, wil_NLO, DiracCoupling::VL, DiracCoupling::VL)
56 // );
57
58 // Expr C2 = C2_LO + C2_NLO;
59
60 Expr C2 = C2_LO;
61
62 [[maybe_unused]] int sysres = system("rm -rf libs/C2_SM");
63 mty::Library wilsonLib("C2_SM", "libs");
64 wilsonLib.cleanExistingSources();
65 wilsonLib.addFunction("C2", C2);
66 defineLibPath(wilsonLib);
67 wilsonLib.print();
68
69 return 0;
70}
71
72int main() {
73 SM_Model sm;
74 return calculate_C2(sm, gauge::Type::Feynman);
75}
int calculate_C2(Model &model, gauge::Type gauge)
Definition C2.cpp:21
void defineLibPath(Library &lib)
Definition C2.cpp:9
int main()
Definition C2.cpp:72
Model
Definition BWilson.h:20
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 V_cs
Definition sm.h:286
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