Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
BWilsonSUSY.h
Go to the documentation of this file.
1#ifndef BWILSON_SUSY_H
2#define BWILSON_SUSY_H
3#include "Wilson.h"
4#include "BWilsonGroup.h"
6#include "Math.h"
7#include "Utils.h"
8#include "wcoef_ids.hpp"
10
11class C1_susy : public WilsonCoefficient {
12public:
13 C1_susy();
14
15
16
17
18 static scalar_t compute_NNLO(const ParamSrc& src);
19 std::shared_ptr<WilsonCoefficient> clone() const override {
20 return std::make_shared<C1_susy>(*this);
21 }
22};
23
24class C2_susy : public WilsonCoefficient {
25public:
26 C2_susy() : WilsonCoefficient("C2_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
27
28
29
30
31
32 std::shared_ptr<WilsonCoefficient> clone() const override {
33 return std::make_shared<C2_susy>(*this);
34 }
35};
36
37class C3_susy : public WilsonCoefficient {
38public:
39 C3_susy();
40
41
42 static scalar_t compute_NNLO(const ParamSrc& src);
43
44 std::shared_ptr<WilsonCoefficient> clone() const override {
45 return std::make_shared<C3_susy>(*this);
46 }
47};
48
49class C4_susy : public WilsonCoefficient {
50public:
51 C4_susy();
52
53 static scalar_t compute_NLO(const ParamSrc& src);
54 static scalar_t compute_NNLO(const ParamSrc& src);
55
56 std::shared_ptr<WilsonCoefficient> clone() const override {
57 return std::make_shared<C4_susy>(*this);
58 }
59};
60
61class C5_susy : public WilsonCoefficient {
62public:
63 C5_susy();
64
65 static scalar_t compute_NNLO(const ParamSrc& src);
66
67 std::shared_ptr<WilsonCoefficient> clone() const override {
68 return std::make_shared<C5_susy>(*this);
69 }
70};
71
72class C6_susy : public WilsonCoefficient {
73public:
74 C6_susy();
75
76 static scalar_t compute_NNLO(const ParamSrc& src);
77
78 std::shared_ptr<WilsonCoefficient> clone() const override {
79 return std::make_shared<C6_susy>(*this);
80 }
81};
82
83class C7_susy : public WilsonCoefficient {
84public:
85 C7_susy();
86
87 static scalar_t compute_LO(const ParamSrc& src);
88 static scalar_t compute_NLO(const ParamSrc& src);
89 static scalar_t compute_NNLO(const ParamSrc& src);
90
91 std::shared_ptr<WilsonCoefficient> clone() const override {
92 return std::make_shared<C7_susy>(*this);
93 }
94};
95
96class C8_susy : public WilsonCoefficient {
97public:
98 C8_susy();
99
100 static scalar_t compute_LO(const ParamSrc& src);
101 static scalar_t compute_NLO(const ParamSrc& src);
102 static scalar_t compute_NNLO(const ParamSrc& src);
103 std::shared_ptr<WilsonCoefficient> clone() const override {
104 return std::make_shared<C8_susy>(*this);
105 }
106};
107
109public:
110 C9_susy();
111
112 static scalar_t compute_LO(const ParamSrc& src);
113 static scalar_t compute_NLO(const ParamSrc& src);
114
115 std::shared_ptr<WilsonCoefficient> clone() const override {
116 return std::make_shared<C9_susy>(*this);
117 }
118};
119
121public:
122 C10_susy();
123
124 static scalar_t compute_LO(const ParamSrc& src);
125 static scalar_t compute_NLO(const ParamSrc& src);
126
127 std::shared_ptr<WilsonCoefficient> clone() const override {
128 return std::make_shared<C10_susy>(*this);
129 }
130};
131
133public:
134 explicit CQ1_susy(WCoef coef = WCoef::CQ1_MU);
135
136 static scalar_t compute_LO(const ParamSrc& src);
137 static scalar_t compute_LO(const ParamSrc& src, int lepton_mass_slot);
138 static scalar_t compute_NLO(const ParamSrc& src);
139 static scalar_t compute_NLO(const ParamSrc& src, int lepton_mass_slot);
140
141 std::shared_ptr<WilsonCoefficient> clone() const override {
142 return std::make_shared<CQ1_susy>(*this);
143 }
144};
145
147public:
148 explicit CQ2_susy(WCoef coef = WCoef::CQ2_MU);
149
150 static scalar_t compute_LO(const ParamSrc& src);
151 static scalar_t compute_LO(const ParamSrc& src, int lepton_mass_slot);
152 static scalar_t compute_NLO(const ParamSrc& src);
153 static scalar_t compute_NLO(const ParamSrc& src, int lepton_mass_slot);
154
155 std::shared_ptr<WilsonCoefficient> clone() const override {
156 return std::make_shared<CQ2_susy>(*this);
157 }
158};
159
161public:
162 CP1_susy() : WilsonCoefficient("CP1_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
163
164
165
166 std::shared_ptr<WilsonCoefficient> clone() const override {
167 return std::make_shared<CP1_susy>(*this);
168 }
169};
170
172public:
173 CP2_susy() : WilsonCoefficient("CP2_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
174
175
176
177 std::shared_ptr<WilsonCoefficient> clone() const override {
178 return std::make_shared<CP2_susy>(*this);
179 }
180};
181
183public:
184 CP3_susy() : WilsonCoefficient("CP3_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
185
186
187
188 std::shared_ptr<WilsonCoefficient> clone() const override {
189 return std::make_shared<CP3_susy>(*this);
190 }
191
192};
193
195public:
196 CP4_susy() : WilsonCoefficient("CP4_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
197
198
199
200 std::shared_ptr<WilsonCoefficient> clone() const override {
201 return std::make_shared<CP4_susy>(*this);
202 }
203};
204
206public:
207 CP5_susy() : WilsonCoefficient("CP5_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
208
209
210
211 std::shared_ptr<WilsonCoefficient> clone() const override {
212 return std::make_shared<CP5_susy>(*this);
213 }
214};
215
217public:
218 CP6_susy() : WilsonCoefficient("CP6_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
219
220
221
222 std::shared_ptr<WilsonCoefficient> clone() const override {
223 return std::make_shared<CP6_susy>(*this);
224 }
225};
226
228public:
229 CP7_susy();
230
231 static scalar_t compute_LO(const ParamSrc& src);
232
233 std::shared_ptr<WilsonCoefficient> clone() const override {
234 return std::make_shared<CP7_susy>(*this);
235 }
236};
237
239public:
240 CP8_susy();
241
242 static scalar_t compute_LO(const ParamSrc& src);
243
244 std::shared_ptr<WilsonCoefficient> clone() const override {
245 return std::make_shared<CP8_susy>(*this);
246 }
247};
248
250public:
251 CP9_susy();
252
253 static scalar_t compute_LO(const ParamSrc& src);
254
255 std::shared_ptr<WilsonCoefficient> clone() const override {
256 return std::make_shared<CP9_susy>(*this);
257 }
258};
259
261public:
262 CP10_susy();
263
264 static scalar_t compute_LO(const ParamSrc& src);
265
266 std::shared_ptr<WilsonCoefficient> clone() const override {
267 return std::make_shared<CP10_susy>(*this);
268 }
269};
270
272public:
273 explicit CPQ1_susy(WCoef coef = WCoef::CPQ1_MU);
274
275
276 static scalar_t compute_LO(const ParamSrc& src);
277 static scalar_t compute_LO(const ParamSrc& src, int lepton_mass_slot);
278
279 std::shared_ptr<WilsonCoefficient> clone() const override {
280 return std::make_shared<CPQ1_susy>(*this);
281 }
282};
283
285public:
286 explicit CPQ2_susy(WCoef coef = WCoef::CPQ2_MU);
287
288 static scalar_t compute_LO(const ParamSrc& src);
289 static scalar_t compute_LO(const ParamSrc& src, int lepton_mass_slot);
290
291 std::shared_ptr<WilsonCoefficient> clone() const override {
292 return std::make_shared<CPQ2_susy>(*this);
293 }
294};
295
296// class C_Blnu_A_SUSY : public WilsonCoefficient {
297// public:
298// C_Blnu_A_SUSY() : WilsonCoefficient("C_Blnu_A_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
299
300
301
302// std::shared_ptr<WilsonCoefficient> clone() const override {
303// return std::make_shared<C_Blnu_A_SUSY>(*this);
304// }
305// };
306
307// class C_Blnu_P_SUSY : public WilsonCoefficient {
308// public:
309// C_Blnu_P_SUSY();
310
311// static scalar_t compute_LO(const ParamSrc& src);
312
313// std::shared_ptr<WilsonCoefficient> clone() const override {
314// return std::make_shared<C_Blnu_P_SUSY>(*this);
315// }
316// };
317
318// class C_V1_SUSY : public WilsonCoefficient {
319// public:
320// C_V1_SUSY() : WilsonCoefficient("C_V1_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
321
322
323
324// std::shared_ptr<WilsonCoefficient> clone() const override {
325// return std::make_shared<C_V1_SUSY>(*this);
326// }
327// };
328
329// class C_V2_SUSY : public WilsonCoefficient {
330// public:
331// C_V2_SUSY() : WilsonCoefficient("C_V2_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
332
333
334
335// std::shared_ptr<WilsonCoefficient> clone() const override {
336// return std::make_shared<C_V2_SUSY>(*this);
337// }
338// };
339
340// class C_S1_SUSY : public WilsonCoefficient {
341// public:
342// C_S1_SUSY();
343
344// static scalar_t compute_LO(const ParamSrc& src);
345
346// std::shared_ptr<WilsonCoefficient> clone() const override {
347// return std::make_shared<C_S1_SUSY>(*this);
348// }
349// };
350
351// class C_S2_SUSY : public WilsonCoefficient {
352// public:
353// C_S2_SUSY();
354
355// static scalar_t compute_LO(const ParamSrc& src);
356
357// std::shared_ptr<WilsonCoefficient> clone() const override {
358// return std::make_shared<C_S2_SUSY>(*this);
359// }
360// };
361
362// class C_T_SUSY : public WilsonCoefficient {
363// public:
364// C_T_SUSY() : WilsonCoefficient("C_T_SUSY", GroupMapper::str(WGroup::B) + "_MATCH") { }
365
366
367
368// std::shared_ptr<WilsonCoefficient> clone() const override {
369// return std::make_shared<C_T_SUSY>(*this);
370// }
371// };
372
373// class BCoefficientGroup_susy : public BCoefficientGroup {
374
375// public:
376// BCoefficientGroup_susy(WilsonGroupAdapterConfig adapters) : BCoefficientGroup(adapters) {
377
378// // if (!susy_parameters::is_initialized()) {
379// // susy_parameters::init();
380// // }
381
382// // this->insert(std::make_pair("C1", std::make_shared<C1_susy>())); this->insert(std::make_pair("C2", std::make_shared<C2_susy>())); this->insert(std::make_pair("C3", std::make_shared<C3_susy>()));
383// // this->insert(std::make_pair("C4", std::make_shared<C4_susy>())); this->insert(std::make_pair("C5", std::make_shared<C5_susy>())); this->insert(std::make_pair("C6", std::make_shared<C6_susy>()));
384// // this->insert(std::make_pair("C7", std::make_shared<C7_susy>())); this->insert(std::make_pair("C8", std::make_shared<C8_susy>())); this->insert(std::make_pair("C9", std::make_shared<C9_susy>()));
385// // this->insert(std::make_pair("C10", std::make_shared<C10_susy>()));
386
387// this->id = GroupMapper::to_id(WGroup::B);
388// this->wilson_type = ContributionType::BSM;
389// }
390// };
391
392// class BPrimeCoefficientGroup_susy : public BPrimeCoefficientGroup {
393// public:
394// BPrimeCoefficientGroup_susy(WilsonGroupAdapterConfig adapters) : BPrimeCoefficientGroup(adapters) {
395// // this->clear();
396
397// // this->insert(std::make_pair("CP1", std::make_shared<CP1_susy>())); this->insert(std::make_pair("CP2", std::make_shared<CP2_susy>())); this->insert(std::make_pair("CP3", std::make_shared<CP3_susy>()));
398// // this->insert(std::make_pair("CP4", std::make_shared<CP4_susy>())); this->insert(std::make_pair("CP5", std::make_shared<CP5_susy>())); this->insert(std::make_pair("CP6", std::make_shared<CP6_susy>()));
399// // this->insert(std::make_pair("CP7", std::make_shared<CP7_susy>())); this->insert(std::make_pair("CP8", std::make_shared<CP8_susy>())); this->insert(std::make_pair("CP9", std::make_shared<CP9_susy>()));
400// // this->insert(std::make_pair("CP10", std::make_shared<CP10_susy>())); this->insert(std::make_pair("CPQ1", std::make_shared<CPQ1_susy>())); this->insert(std::make_pair("CPQ2", std::make_shared<CPQ2_susy>()));
401
402// this->id = GroupMapper::to_id(WGroup::BPrime);
403// this->wilson_type = ContributionType::BSM;
404// }
405// };
406
407// class BScalarCoefficientGroup_susy : public BScalarCoefficientGroup {
408// public:
409// BScalarCoefficientGroup_susy(WilsonGroupAdapterConfig adapters) : BScalarCoefficientGroup(adapters) {
410
411
412// // this->insert(std::make_pair("CQ1", std::make_shared<CQ1_susy>())); this->insert(std::make_pair("CQ2", std::make_shared<CQ2_susy>()));
413
414// this->id = GroupMapper::to_id(WGroup::BScalar);
415// this->wilson_type = ContributionType::BSM;
416// }
417
418// void set_base_1_LO();
419
420// private:
421// };
422
423// class BlnuCoefficientGroup_SUSY : public BlnuCoefficientGroup {
424// public:
425// BlnuCoefficientGroup_SUSY() { this->clear();
426
427// if (!susy_parameters::is_initialized()) {
428// susy_parameters::init();
429// }
430// this->insert(std::make_pair("C_Blnu_A", std::make_shared<C_Blnu_A_SUSY>()));
431// this->insert(std::make_pair("C_Blnu_P", std::make_shared<C_Blnu_P_SUSY>()));
432
433// this->id = WGroup::Blnu;
434// this->wilson_type = ContributionType::BSM;
435// }
436// };
437
438// class BclnuCoefficientGroup_SUSY : public BclnuCoefficientGroup {
439// public:
440// BclnuCoefficientGroup_SUSY(WilsonGroupAdapterConfig adapters) : BclnuCoefficientGroup(adapters) { this->clear();
441
442// // this->insert(std::make_pair("C_V1", std::make_shared<C_V1_SUSY>()));
443// // this->insert(std::make_pair("C_V2", std::make_shared<C_V2_SUSY>()));
444// // this->insert(std::make_pair("C_S1", std::make_shared<C_S1_SUSY>()));
445// // this->insert(std::make_pair("C_S2", std::make_shared<C_S2_SUSY>()));
446// // this->insert(std::make_pair("C_T", std::make_shared<C_T_SUSY>()));
447
448// this->id = GroupMapper::to_id(WGroup::CC_bc);
449// this->wilson_type = ContributionType::BSM;
450// }
451
452// void set_base_1() {}
453// void set_base_2() {}
454// };
455
456#endif
WCoef
WGroup
SUSY-specific implementation of IWilsonParameterHelper.
Domain objects representing Wilson coefficients and their matching metadata.
static scalar_t compute_NLO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
static scalar_t compute_LO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
Definition BWilsonSUSY.h:19
static scalar_t compute_NNLO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
Definition BWilsonSUSY.h:32
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
Definition BWilsonSUSY.h:44
static scalar_t compute_NNLO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
Definition BWilsonSUSY.h:56
static scalar_t compute_NNLO(const ParamSrc &src)
static scalar_t compute_NLO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
Definition BWilsonSUSY.h:67
static scalar_t compute_NNLO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
Definition BWilsonSUSY.h:78
static scalar_t compute_NNLO(const ParamSrc &src)
static scalar_t compute_LO(const ParamSrc &src)
static scalar_t compute_NNLO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
Definition BWilsonSUSY.h:91
static scalar_t compute_NLO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
static scalar_t compute_NNLO(const ParamSrc &src)
static scalar_t compute_LO(const ParamSrc &src)
static scalar_t compute_NLO(const ParamSrc &src)
static scalar_t compute_LO(const ParamSrc &src)
static scalar_t compute_NLO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
static scalar_t compute_LO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
static scalar_t compute_LO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
static scalar_t compute_LO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
static scalar_t compute_LO(const ParamSrc &src)
static scalar_t compute_LO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
static scalar_t compute_LO(const ParamSrc &src)
static scalar_t compute_NLO(const ParamSrc &src)
static scalar_t compute_LO(const ParamSrc &src)
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
std::shared_ptr< WilsonCoefficient > clone() const override
Virtual clone for polymorphic copy.
static scalar_t compute_LO(const ParamSrc &src)
static scalar_t compute_NLO(const ParamSrc &src)
Mapper for WGroup <-> WGroupId <-> optional external string.
Lightweight view over a set of source parameters keyed by ParamId.
Abstract base class representing a Wilson coefficient and its matching information.
Definition Wilson.h:153