20 AmplBToQLepNuBase::AmplBToQLepNuBase() {
21 _perms = {6,9,5,4,7,3,2};
22 _flips = {1.,-1.,-1.,-1.,-1.,1.,1.,1.,1.,-1.,-1.};
25 void AmplBToQLepNuBase::updateWilsonCeffLabelPrefix() {
29 for(
auto elem: getTensor().labels()) {
30 #pragma clang diagnostic push
31 #pragma clang diagnostic ignored "-Wswitch-enum"
35 _WCPrefix =
"BtoCTauNu";
40 _WCPrefix =
"BtoCMuNu";
45 _WCPrefix =
"BtoCENu";
51 #pragma clang diagnostic pop
57 void AmplBToQLepNuBase::defineSettings() {
59 _WCNames = {
"SM",
"S_qLlL",
"S_qRlL",
"V_qLlL",
"V_qRlL",
"T_qLlL",
"S_qLlR",
"S_qRlR",
"V_qLlR",
"V_qRlR",
"T_qRlR"};
61 addSetting<complex<double>>(
"SM", 1.0);
62 for (
auto elem : _WCNames) {
64 addSetting<complex<double>>(elem, 0.);
69 void AmplBToQLepNuBase::preProcessWCValues(vector<complex<double>>& data)
const {
72 auto it = _perms.begin();
76 for (; it != _perms.end(); ++it) {
77 data[previous] = data[*it];
81 for(
IndexType i=0; i < _flips.size(); ++i) {
82 data[i] = _flips[i]*conj(data[i]);
Tensor indices label definitions.
std::complex< double > ElementType
Interface class for tensor container data structure.