a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
ThObsFactory_LEP2.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#include "ThObsFactory.h"
10#include "EWObservables.h"
11#include "NP_couplings.h"
12#include <boost/lexical_cast.hpp>
13using namespace ThObsConst;
14
16{
17 //----- LEP-II two-fermion processes -----
18
19 for (int i = 0; i < 12; i++) {
20 std::string sqrt_s_str = boost::lexical_cast<std::string, double>(sqrt_s[i]);
21 obsThFactory["sigmaqLEP2_" + sqrt_s_str] = [=](const StandardModel& SM) { return new LEP2sigmaHadron(SM, sqrt_s_LEP2eeff[i]); };
22 obsThFactory["sigmamuLEP2_" + sqrt_s_str] = [=](const StandardModel& SM) { return new LEP2sigmaMu(SM, sqrt_s_LEP2eeff[i]); };
23 obsThFactory["sigmatauLEP2_" + sqrt_s_str] = [=](const StandardModel& SM) { return new LEP2sigmaTau(SM, sqrt_s_LEP2eeff[i]); };
24 obsThFactory["AFBmuLEP2_" + sqrt_s_str] = [=](const StandardModel& SM) { return new LEP2AFBmu(SM, sqrt_s_LEP2eeff[i]); };
25 obsThFactory["AFBtauLEP2_" + sqrt_s_str] = [=](const StandardModel& SM) { return new LEP2AFBtau(SM, sqrt_s_LEP2eeff[i]); };
26 }
27
28 for (int i = 0; i < 8; i++) {
29 std::string sqrt_s_str = boost::lexical_cast<std::string, double>(sqrt_sDiffll[i]);
30
31 for (int j = 0; j < 5; j++) {
32 std::string cos_str = boost::lexical_cast<std::string, double>(fabs(10.*cos_Diffll[j]));
33 std::string cosee_str = boost::lexical_cast<std::string, double>(fabs(10.*cos_DiffeeInp[j]));
34
35 obsThFactory["dsigmadcosmuLEP2_" + sqrt_s_str + "_m0" + cos_str] = [=](const StandardModel& SM) { return new LEP2dsigmadcosMu(SM, sqrt_sDiffll[i], cos_Diffll[j], cosmin_Diffll[j], cosmax_Diffll[j]); };
36 obsThFactory["dsigmadcostauLEP2_" + sqrt_s_str + "_m0" + cos_str] = [=](const StandardModel& SM) { return new LEP2dsigmadcosTau(SM, sqrt_sDiffll[i], cos_Diffll[j], cosmin_Diffll[j], cosmax_Diffll[j]); };
37
38 if (i>0) {obsThFactory["dsigmadcoseLEP2_" + sqrt_s_str + "_m0" + cosee_str] = [=](const StandardModel& SM) { return new LEP2dsigmadcosElectron(SM, sqrt_sDiffll[i], cos_Diffee[j], cosmin_Diffee[j], cosmax_Diffee[j]); };}
39 }
40
41 for (int j = 5; j < 10; j++) {
42 std::string cos_str = boost::lexical_cast<std::string, double>(10.*cos_Diffll[j]);
43 std::string cosee_str = boost::lexical_cast<std::string, double>(fabs(10.*cos_DiffeeInp[j]));
44
45 obsThFactory["dsigmadcosmuLEP2_" + sqrt_s_str + "_0" + cos_str] = [=](const StandardModel& SM) { return new LEP2dsigmadcosMu(SM, sqrt_sDiffll[i], cos_Diffll[j], cosmin_Diffll[j], cosmax_Diffll[j]); };
46 obsThFactory["dsigmadcostauLEP2_" + sqrt_s_str + "_0" + cos_str] = [=](const StandardModel& SM) { return new LEP2dsigmadcosTau(SM, sqrt_sDiffll[i], cos_Diffll[j], cosmin_Diffll[j], cosmax_Diffll[j]); };
47
48 if (i>0) {obsThFactory["dsigmadcoseLEP2_" + sqrt_s_str + "_0" + cosee_str] = [=](const StandardModel& SM) { return new LEP2dsigmadcosElectron(SM, sqrt_sDiffll[i], cos_Diffee[j], cosmin_Diffee[j], cosmax_Diffee[j]); };}
49 }
50
51 if (i>0) {
52 for (int j = 10; j < 15; j++) {
53 std::string cosee_str = boost::lexical_cast<std::string, double>(fabs(10.*cos_DiffeeInp[j]));
54 obsThFactory["dsigmadcoseLEP2_" + sqrt_s_str + "_0" + cosee_str] = [=](const StandardModel& SM) { return new LEP2dsigmadcosElectron(SM, sqrt_sDiffll[i], cos_Diffee[j], cosmin_Diffee[j], cosmax_Diffee[j]); };
55 }
56 }
57
58 }
59
60 //----- e+ e- two-fermion processes -----
61
62 for (int i = 0; i < 16; i++) {
63 std::string sqrt_s_str = boost::lexical_cast<std::string, double>(sqrt_see[i]);
64
65 // Unpolarized
66 // Total cross sections
67 obsThFactory["sigmaeeee_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, 0., 0., sqrt_s_eeff[i]); };
68 obsThFactory["sigmaeeee_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, 0., 0., sqrt_s_eeff[i]); };
69 obsThFactory["sigmaeemumu_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, 0., 0., sqrt_s_eeff[i]); };
70 obsThFactory["sigmaeetautau_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, 0., 0., sqrt_s_eeff[i]); };
71
72 obsThFactory["sigmaeeqq_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, 0., 0., sqrt_s_eeff[i]); };
73 obsThFactory["sigmaeess_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, 0., 0., sqrt_s_eeff[i]); };
74 obsThFactory["sigmaeecc_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, 0., 0., sqrt_s_eeff[i]); };
75 obsThFactory["sigmaeebb_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, 0., 0., sqrt_s_eeff[i]); };
76
77 //Ratios
78 obsThFactory["Reeee_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, 0., 0., sqrt_s_eeff[i]); };
79 obsThFactory["Reeee_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, 0., 0., sqrt_s_eeff[i]); };
80 obsThFactory["Reemumu_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, 0., 0., sqrt_s_eeff[i]); };
81 obsThFactory["Reetautau_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, 0., 0., sqrt_s_eeff[i]); };
82
83 obsThFactory["Reess_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, 0., 0., sqrt_s_eeff[i]); };
84 obsThFactory["Reecc_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, 0., 0., sqrt_s_eeff[i]); };
85 obsThFactory["Reebb_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, 0., 0., sqrt_s_eeff[i]); };
86
87 //Asymmetries
88 obsThFactory["AFBeeee_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, 0., 0., sqrt_s_eeff[i]); };
89 obsThFactory["AFBeeee_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, 0., 0., sqrt_s_eeff[i]); };
90 obsThFactory["AFBeemumu_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, 0., 0., sqrt_s_eeff[i]); };
91 obsThFactory["AFBeetautau_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, 0., 0., sqrt_s_eeff[i]); };
92
93 obsThFactory["AFBeess_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, 0., 0., sqrt_s_eeff[i]); };
94 obsThFactory["AFBeecc_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, 0., 0., sqrt_s_eeff[i]); };
95 obsThFactory["AFBeebb_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, 0., 0., sqrt_s_eeff[i]); };
96
97 // Polarized: Pe-: -80% Pe+: 0%
98 // Total cross sections
99 obsThFactory["sigmaeeee_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, -0.8, 0., sqrt_s_eeff[i]); };
100 obsThFactory["sigmaeeee_m80_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, -0.8, 0., sqrt_s_eeff[i]); };
101 obsThFactory["sigmaeemumu_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, -0.8, 0., sqrt_s_eeff[i]); };
102 obsThFactory["sigmaeetautau_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, -0.8, 0., sqrt_s_eeff[i]); };
103
104 obsThFactory["sigmaeeqq_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, -0.8, 0., sqrt_s_eeff[i]); };
105 obsThFactory["sigmaeess_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, -0.8, 0., sqrt_s_eeff[i]); };
106 obsThFactory["sigmaeecc_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, -0.8, 0., sqrt_s_eeff[i]); };
107 obsThFactory["sigmaeebb_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, -0.8, 0., sqrt_s_eeff[i]); };
108
109 //Ratios
110 obsThFactory["Reeee_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, -0.8, 0., sqrt_s_eeff[i]); };
111 obsThFactory["Reeee_m80_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, -0.8, 0., sqrt_s_eeff[i]); };
112 obsThFactory["Reemumu_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, -0.8, 0., sqrt_s_eeff[i]); };
113 obsThFactory["Reetautau_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, -0.8, 0., sqrt_s_eeff[i]); };
114
115 obsThFactory["Reess_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, -0.8, 0., sqrt_s_eeff[i]); };
116 obsThFactory["Reecc_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, -0.8, 0., sqrt_s_eeff[i]); };
117 obsThFactory["Reebb_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, -0.8, 0., sqrt_s_eeff[i]); };
118
119 //Asymmetries
120 obsThFactory["AFBeeee_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, -0.8, 0., sqrt_s_eeff[i]); };
121 obsThFactory["AFBeeee_m80_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, -0.8, 0., sqrt_s_eeff[i]); };
122 obsThFactory["AFBeemumu_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, -0.8, 0., sqrt_s_eeff[i]); };
123 obsThFactory["AFBeetautau_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, -0.8, 0., sqrt_s_eeff[i]); };
124
125 obsThFactory["AFBeess_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, -0.8, 0., sqrt_s_eeff[i]); };
126 obsThFactory["AFBeecc_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, -0.8, 0., sqrt_s_eeff[i]); };
127 obsThFactory["AFBeebb_m80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, -0.8, 0., sqrt_s_eeff[i]); };
128
129 // Polarized: Pe-: 80% Pe+: 0%
130 // Total cross sections
131 obsThFactory["sigmaeeee_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, 0.8, 0., sqrt_s_eeff[i]); };
132 obsThFactory["sigmaeeee_p80_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, 0.8, 0., sqrt_s_eeff[i]); };
133 obsThFactory["sigmaeemumu_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, 0.8, 0., sqrt_s_eeff[i]); };
134 obsThFactory["sigmaeetautau_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, 0.8, 0., sqrt_s_eeff[i]); };
135
136 obsThFactory["sigmaeeqq_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, 0.8, 0., sqrt_s_eeff[i]); };
137 obsThFactory["sigmaeess_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, 0.8, 0., sqrt_s_eeff[i]); };
138 obsThFactory["sigmaeecc_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, 0.8, 0., sqrt_s_eeff[i]); };
139 obsThFactory["sigmaeebb_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, 0.8, 0., sqrt_s_eeff[i]); };
140
141 //Ratios
142 obsThFactory["Reeee_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, 0.8, 0., sqrt_s_eeff[i]); };
143 obsThFactory["Reeee_p80_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, 0.8, 0., sqrt_s_eeff[i]); };
144 obsThFactory["Reemumu_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, 0.8, 0., sqrt_s_eeff[i]); };
145 obsThFactory["Reetautau_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, 0.8, 0., sqrt_s_eeff[i]); };
146
147 obsThFactory["Reess_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, 0.8, 0., sqrt_s_eeff[i]); };
148 obsThFactory["Reecc_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, 0.8, 0., sqrt_s_eeff[i]); };
149 obsThFactory["Reebb_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, 0.8, 0., sqrt_s_eeff[i]); };
150
151 //Asymmetries
152 obsThFactory["AFBeeee_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, 0.8, 0., sqrt_s_eeff[i]); };
153 obsThFactory["AFBeeee_p80_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, 0.8, 0., sqrt_s_eeff[i]); };
154 obsThFactory["AFBeemumu_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, 0.8, 0., sqrt_s_eeff[i]); };
155 obsThFactory["AFBeetautau_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, 0.8, 0., sqrt_s_eeff[i]); };
156
157 obsThFactory["AFBeess_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, 0.8, 0., sqrt_s_eeff[i]); };
158 obsThFactory["AFBeecc_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, 0.8, 0., sqrt_s_eeff[i]); };
159 obsThFactory["AFBeebb_p80_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, 0.8, 0., sqrt_s_eeff[i]); };
160
161 // Polarized: Pe-: -80% Pe+: +20%
162 // Total cross sections
163 obsThFactory["sigmaeeee_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
164 obsThFactory["sigmaeeee_m80_p20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
165 obsThFactory["sigmaeemumu_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
166 obsThFactory["sigmaeetautau_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
167
168 obsThFactory["sigmaeeqq_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
169 obsThFactory["sigmaeess_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
170 obsThFactory["sigmaeecc_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
171 obsThFactory["sigmaeebb_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
172
173 //Ratios
174 obsThFactory["Reeee_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
175 obsThFactory["Reeee_m80_p20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
176 obsThFactory["Reemumu_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
177 obsThFactory["Reetautau_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
178
179 obsThFactory["Reess_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
180 obsThFactory["Reecc_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
181 obsThFactory["Reebb_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
182
183 //Asymmetries
184 obsThFactory["AFBeeee_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
185 obsThFactory["AFBeeee_m80_p20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
186 obsThFactory["AFBeemumu_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
187 obsThFactory["AFBeetautau_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
188
189 obsThFactory["AFBeess_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
190 obsThFactory["AFBeecc_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
191 obsThFactory["AFBeebb_m80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, -0.8, 0.2, sqrt_s_eeff[i]); };
192
193 // Polarized: Pe-: 80% Pe+: -20%
194 // Total cross sections
195 obsThFactory["sigmaeeee_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
196 obsThFactory["sigmaeeee_p80_m20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
197 obsThFactory["sigmaeemumu_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
198 obsThFactory["sigmaeetautau_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
199
200 obsThFactory["sigmaeeqq_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
201 obsThFactory["sigmaeess_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
202 obsThFactory["sigmaeecc_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
203 obsThFactory["sigmaeebb_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
204
205 //Ratios
206 obsThFactory["Reeee_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
207 obsThFactory["Reeee_p80_m20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
208 obsThFactory["Reemumu_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
209 obsThFactory["Reetautau_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
210
211 obsThFactory["Reess_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
212 obsThFactory["Reecc_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
213 obsThFactory["Reebb_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
214
215 //Asymmetries
216 obsThFactory["AFBeeee_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
217 obsThFactory["AFBeeee_p80_m20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
218 obsThFactory["AFBeemumu_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
219 obsThFactory["AFBeetautau_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
220
221 obsThFactory["AFBeess_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
222 obsThFactory["AFBeecc_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
223 obsThFactory["AFBeebb_p80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, 0.8, -0.2, sqrt_s_eeff[i]); };
224
225 // Polarized: Pe-: -80% Pe+: -20%
226 // Total cross sections
227 obsThFactory["sigmaeeee_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
228 obsThFactory["sigmaeeee_m80_m20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
229 obsThFactory["sigmaeemumu_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
230 obsThFactory["sigmaeetautau_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
231
232 obsThFactory["sigmaeeqq_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
233 obsThFactory["sigmaeess_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
234 obsThFactory["sigmaeecc_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
235 obsThFactory["sigmaeebb_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
236
237 //Ratios
238 obsThFactory["Reeee_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
239 obsThFactory["Reeee_m80_m20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
240 obsThFactory["Reemumu_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
241 obsThFactory["Reetautau_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
242
243 obsThFactory["Reess_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
244 obsThFactory["Reecc_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
245 obsThFactory["Reebb_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
246
247 //Asymmetries
248 obsThFactory["AFBeeee_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
249 obsThFactory["AFBeeee_m80_m20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
250 obsThFactory["AFBeemumu_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
251 obsThFactory["AFBeetautau_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
252
253 obsThFactory["AFBeess_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
254 obsThFactory["AFBeecc_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
255 obsThFactory["AFBeebb_m80_m20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, -0.8, -0.2, sqrt_s_eeff[i]); };
256
257 // Polarized: Pe-: 80% Pe+: 20%
258 // Total cross sections
259 obsThFactory["sigmaeeee_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
260 obsThFactory["sigmaeeee_p80_p20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
261 obsThFactory["sigmaeemumu_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
262 obsThFactory["sigmaeetautau_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
263
264 obsThFactory["sigmaeeqq_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
265 obsThFactory["sigmaeess_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
266 obsThFactory["sigmaeecc_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
267 obsThFactory["sigmaeebb_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
268
269 //Ratios
270 obsThFactory["Reeee_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
271 obsThFactory["Reeee_p80_p20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
272 obsThFactory["Reemumu_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
273 obsThFactory["Reetautau_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
274
275 obsThFactory["Reess_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
276 obsThFactory["Reecc_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
277 obsThFactory["Reebb_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
278
279 //Asymmetries
280 obsThFactory["AFBeeee_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
281 obsThFactory["AFBeeee_p80_p20_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
282 obsThFactory["AFBeemumu_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
283 obsThFactory["AFBeetautau_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
284
285 obsThFactory["AFBeess_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
286 obsThFactory["AFBeecc_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
287 obsThFactory["AFBeebb_p80_p20_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, 0.8, 0.2, sqrt_s_eeff[i]); };
288
289 // Polarized: Pe-: -80% Pe+: +30%
290 // Total cross sections
291 obsThFactory["sigmaeeee_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
292 obsThFactory["sigmaeeee_m80_p30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
293 obsThFactory["sigmaeemumu_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
294 obsThFactory["sigmaeetautau_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
295
296 obsThFactory["sigmaeeqq_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
297 obsThFactory["sigmaeess_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
298 obsThFactory["sigmaeecc_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
299 obsThFactory["sigmaeebb_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
300
301 //Ratios
302 obsThFactory["Reeee_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
303 obsThFactory["Reeee_m80_p30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
304 obsThFactory["Reemumu_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
305 obsThFactory["Reetautau_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
306
307 obsThFactory["Reess_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
308 obsThFactory["Reecc_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
309 obsThFactory["Reebb_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
310
311 //Asymmetries
312 obsThFactory["AFBeeee_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
313 obsThFactory["AFBeeee_m80_p30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
314 obsThFactory["AFBeemumu_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
315 obsThFactory["AFBeetautau_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
316
317 obsThFactory["AFBeess_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
318 obsThFactory["AFBeecc_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
319 obsThFactory["AFBeebb_m80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, -0.8, 0.3, sqrt_s_eeff[i]); };
320
321 // Polarized: Pe-: 80% Pe+: -30%
322 // Total cross sections
323 obsThFactory["sigmaeeee_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
324 obsThFactory["sigmaeeee_p80_m30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
325 obsThFactory["sigmaeemumu_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
326 obsThFactory["sigmaeetautau_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
327
328 obsThFactory["sigmaeeqq_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
329 obsThFactory["sigmaeess_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
330 obsThFactory["sigmaeecc_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
331 obsThFactory["sigmaeebb_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
332
333 //Ratios
334 obsThFactory["Reeee_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
335 obsThFactory["Reeee_p80_m30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
336 obsThFactory["Reemumu_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
337 obsThFactory["Reetautau_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
338
339 obsThFactory["Reess_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
340 obsThFactory["Reecc_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
341 obsThFactory["Reebb_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
342
343 //Asymmetries
344 obsThFactory["AFBeeee_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
345 obsThFactory["AFBeeee_p80_m30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
346 obsThFactory["AFBeemumu_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
347 obsThFactory["AFBeetautau_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
348
349 obsThFactory["AFBeess_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
350 obsThFactory["AFBeecc_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
351 obsThFactory["AFBeebb_p80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, 0.8, -0.3, sqrt_s_eeff[i]); };
352
353 // Polarized: Pe-: -80% Pe+: -30%
354 // Total cross sections
355 obsThFactory["sigmaeeee_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
356 obsThFactory["sigmaeeee_m80_m30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
357 obsThFactory["sigmaeemumu_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
358 obsThFactory["sigmaeetautau_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
359
360 obsThFactory["sigmaeeqq_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
361 obsThFactory["sigmaeess_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
362 obsThFactory["sigmaeecc_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
363 obsThFactory["sigmaeebb_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
364
365 //Ratios
366 obsThFactory["Reeee_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
367 obsThFactory["Reeee_m80_m30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
368 obsThFactory["Reemumu_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
369 obsThFactory["Reetautau_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
370
371 obsThFactory["Reess_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
372 obsThFactory["Reecc_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
373 obsThFactory["Reebb_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
374
375 //Asymmetries
376 obsThFactory["AFBeeee_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
377 obsThFactory["AFBeeee_m80_m30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
378 obsThFactory["AFBeemumu_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
379 obsThFactory["AFBeetautau_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
380
381 obsThFactory["AFBeess_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
382 obsThFactory["AFBeecc_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
383 obsThFactory["AFBeebb_m80_m30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, -0.8, -0.3, sqrt_s_eeff[i]); };
384
385 // Polarized: Pe-: 80% Pe+: 30%
386 // Total cross sections
387 obsThFactory["sigmaeeee_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaElectron(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
388 obsThFactory["sigmaeeee_p80_p30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmatsubElectron(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
389 obsThFactory["sigmaeemumu_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaMu(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
390 obsThFactory["sigmaeetautau_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaTau(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
391
392 obsThFactory["sigmaeeqq_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaHadron(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
393 obsThFactory["sigmaeess_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaStrange(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
394 obsThFactory["sigmaeecc_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaCharm(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
395 obsThFactory["sigmaeebb_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffsigmaBottom(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
396
397 //Ratios
398 obsThFactory["Reeee_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectron(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
399 obsThFactory["Reeee_p80_p30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRelectrontsub(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
400 obsThFactory["Reemumu_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRmuon(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
401 obsThFactory["Reetautau_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRtau(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
402
403 obsThFactory["Reess_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRstrange(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
404 obsThFactory["Reecc_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRcharm(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
405 obsThFactory["Reebb_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffRbottom(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
406
407 //Asymmetries
408 obsThFactory["AFBeeee_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectron(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
409 obsThFactory["AFBeeee_p80_p30_tsub_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBelectrontsub(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
410 obsThFactory["AFBeemumu_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBmu(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
411 obsThFactory["AFBeetautau_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBtau(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
412
413 obsThFactory["AFBeess_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBstrange(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
414 obsThFactory["AFBeecc_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBcharm(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
415 obsThFactory["AFBeebb_p80_p30_" + sqrt_s_str] = [=](const StandardModel& SM) { return new eeffAFBbottom(SM, 0.8, 0.3, sqrt_s_eeff[i]); };
416
417 }
418
419 //----- Wilson coefficients of Top operators in the conventions of the LHC Top WG ----------
420 //----- (Energy-independent definition) ----------
421 //
422 obsThFactory["cQQ1_TWG"] = [=](const StandardModel& SM) { return new TWGcQQ1(SM, muEW); };
423 obsThFactory["cQQ8_TWG"] = [=](const StandardModel& SM) { return new TWGcQQ8(SM, muEW); };
424 obsThFactory["ctt1_TWG"] = [=](const StandardModel& SM) { return new TWGctt1(SM, muEW); };
425 obsThFactory["cQt1_TWG"] = [=](const StandardModel& SM) { return new TWGcQt1(SM, muEW); };
426 obsThFactory["cQt8_TWG"] = [=](const StandardModel& SM) { return new TWGcQt8(SM, muEW); };
427 //
428 obsThFactory["cQq31_TWG"] = [=](const StandardModel& SM) { return new TWGcQq31(SM, muEW); };
429 obsThFactory["cQq38_TWG"] = [=](const StandardModel& SM) { return new TWGcQq38(SM, muEW); };
430 obsThFactory["cQq11_TWG"] = [=](const StandardModel& SM) { return new TWGcQq11(SM, muEW); };
431 obsThFactory["cQq18_TWG"] = [=](const StandardModel& SM) { return new TWGcQq18(SM, muEW); };
432 obsThFactory["cQu1_TWG"] = [=](const StandardModel& SM) { return new TWGcQu1(SM, muEW); };
433 obsThFactory["cQu8_TWG"] = [=](const StandardModel& SM) { return new TWGcQu8(SM, muEW); };
434 obsThFactory["cQd1_TWG"] = [=](const StandardModel& SM) { return new TWGcQd1(SM, muEW); };
435 obsThFactory["cQd8_TWG"] = [=](const StandardModel& SM) { return new TWGcQd8(SM, muEW); };
436 obsThFactory["ctq1_TWG"] = [=](const StandardModel& SM) { return new TWGctq1(SM, muEW); };
437 obsThFactory["ctq8_TWG"] = [=](const StandardModel& SM) { return new TWGctq8(SM, muEW); };
438 obsThFactory["ctu1_TWG"] = [=](const StandardModel& SM) { return new TWGctu1(SM, muEW); };
439 obsThFactory["ctu8_TWG"] = [=](const StandardModel& SM) { return new TWGctu8(SM, muEW); };
440 obsThFactory["ctd1_TWG"] = [=](const StandardModel& SM) { return new TWGctd1(SM, muEW); };
441 obsThFactory["ctd8_TWG"] = [=](const StandardModel& SM) { return new TWGctd8(SM, muEW); };
442 //
443 obsThFactory["ctH_TWG"] = [=](const StandardModel& SM) { return new TWGctH(SM, muEW); };
444 obsThFactory["cHQm_TWG"] = [=](const StandardModel& SM) { return new TWGcHQm(SM, muEW); };
445 obsThFactory["cHQp_TWG"] = [=](const StandardModel& SM) { return new TWGcHQp(SM, muEW); };
446 obsThFactory["cHQ3_TWG"] = [=](const StandardModel& SM) { return new TWGcHQ3(SM, muEW); };
447 obsThFactory["cHt_TWG"] = [=](const StandardModel& SM) { return new TWGcHt(SM, muEW); };
448 obsThFactory["cHb_TWG"] = [=](const StandardModel& SM) { return new TWGcHb(SM, muEW); };
449 obsThFactory["cHtb_TWG"] = [=](const StandardModel& SM) { return new TWGcHtb(SM, muEW); };
450 //
451 obsThFactory["ctW_TWG"] = [=](const StandardModel& SM) { return new TWGctW(SM, muEW); };
452 obsThFactory["ImctW_TWG"] = [=](const StandardModel& SM) { return new TWGImctW(SM, muEW); };
453 obsThFactory["ctZ_TWG"] = [=](const StandardModel& SM) { return new TWGctZ(SM, muEW); };
454 obsThFactory["ImctZ_TWG"] = [=](const StandardModel& SM) { return new TWGImctZ(SM, muEW); };
455 obsThFactory["ctG_TWG"] = [=](const StandardModel& SM) { return new TWGctG(SM, muEW); };
456 //
457 obsThFactory["cbW_TWG"] = [=](const StandardModel& SM) { return new TWGcbW(SM, muEW); };
458 //
459 obsThFactory["cQlM_TWG"] = [=](const StandardModel& SM) { return new TWGcQlM(SM, muEW); };
460 obsThFactory["cQlP_TWG"] = [=](const StandardModel& SM) { return new TWGcQlP(SM, muEW); };
461 obsThFactory["cQl3_TWG"] = [=](const StandardModel& SM) { return new TWGcQl3(SM, muEW); };
462 obsThFactory["cQe_TWG"] = [=](const StandardModel& SM) { return new TWGcQe(SM, muEW); };
463 obsThFactory["ctl_TWG"] = [=](const StandardModel& SM) { return new TWGctl(SM, muEW); };
464 obsThFactory["cte_TWG"] = [=](const StandardModel& SM) { return new TWGcte(SM, muEW); };
465 obsThFactory["ctlS_TWG"] = [=](const StandardModel& SM) { return new TWGctlS(SM, muEW); };
466 obsThFactory["ctlT_TWG"] = [=](const StandardModel& SM) { return new TWGctlT(SM, muEW); };
467
468 //----- Wilson coefficients of Top operators in the conventions of the LHC Top WG ----------
469 //----- (Energy-dependent definition: Only for energies above the ttbar threshold ) --------
470
471 for (int i = 6; i < 16; i++) {
472 std::string sqrt_s_str = boost::lexical_cast<std::string, double>(sqrt_see[i]);
473
474 obsThFactory["cQQ1_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQQ1(SM, sqrt_s_eeff[i]); };
475 obsThFactory["cQQ8_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQQ8(SM, sqrt_s_eeff[i]); };
476 obsThFactory["ctt1_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctt1(SM, sqrt_s_eeff[i]); };
477 obsThFactory["cQt1_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQt1(SM, sqrt_s_eeff[i]); };
478 obsThFactory["cQt8_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQt8(SM, sqrt_s_eeff[i]); };
479 //
480 obsThFactory["cQq31_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQq31(SM, sqrt_s_eeff[i]); };
481 obsThFactory["cQq38_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQq38(SM, sqrt_s_eeff[i]); };
482 obsThFactory["cQq11_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQq11(SM, sqrt_s_eeff[i]); };
483 obsThFactory["cQq18_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQq18(SM, sqrt_s_eeff[i]); };
484 obsThFactory["cQu1_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQu1(SM, sqrt_s_eeff[i]); };
485 obsThFactory["cQu8_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQu8(SM, sqrt_s_eeff[i]); };
486 obsThFactory["cQd1_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQd1(SM, sqrt_s_eeff[i]); };
487 obsThFactory["cQd8_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQd8(SM, sqrt_s_eeff[i]); };
488 obsThFactory["ctq1_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctq1(SM, sqrt_s_eeff[i]); };
489 obsThFactory["ctq8_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctq8(SM, sqrt_s_eeff[i]); };
490 obsThFactory["ctu1_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctu1(SM, sqrt_s_eeff[i]); };
491 obsThFactory["ctu8_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctu8(SM, sqrt_s_eeff[i]); };
492 obsThFactory["ctd1_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctd1(SM, sqrt_s_eeff[i]); };
493 obsThFactory["ctd8_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctd8(SM, sqrt_s_eeff[i]); };
494 //
495 obsThFactory["ctH_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctH(SM, sqrt_s_eeff[i]); };
496 obsThFactory["cHQm_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcHQm(SM, sqrt_s_eeff[i]); };
497 obsThFactory["cHQp_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcHQp(SM, sqrt_s_eeff[i]); };
498 obsThFactory["cHQ3_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcHQ3(SM, sqrt_s_eeff[i]); };
499 obsThFactory["cHt_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcHt(SM, sqrt_s_eeff[i]); };
500 obsThFactory["cHb_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcHb(SM, sqrt_s_eeff[i]); };
501 obsThFactory["cHtb_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcHtb(SM, sqrt_s_eeff[i]); };
502 //
503 obsThFactory["ctW_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctW(SM, sqrt_s_eeff[i]); };
504 obsThFactory["ImctW_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGImctW(SM, sqrt_s_eeff[i]); };
505 obsThFactory["ctZ_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctZ(SM, sqrt_s_eeff[i]); };
506 obsThFactory["ImctZ_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGImctZ(SM, sqrt_s_eeff[i]); };
507 obsThFactory["ctG_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctG(SM, sqrt_s_eeff[i]); };
508 //
509 obsThFactory["cbW_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcbW(SM, sqrt_s_eeff[i]); };
510 //
511 obsThFactory["cQlM_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQlM(SM, sqrt_s_eeff[i]); };
512 obsThFactory["cQlP_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQlP(SM, sqrt_s_eeff[i]); };
513 obsThFactory["cQl3_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQl3(SM, sqrt_s_eeff[i]); };
514 obsThFactory["cQe_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcQe(SM, sqrt_s_eeff[i]); };
515 obsThFactory["ctl_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctl(SM, sqrt_s_eeff[i]); };
516 obsThFactory["cte_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGcte(SM, sqrt_s_eeff[i]); };
517 obsThFactory["ctlS_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctlS(SM, sqrt_s_eeff[i]); };
518 obsThFactory["ctlT_TWG_" + sqrt_s_str] = [=](const StandardModel& SM) { return new TWGctlT(SM, sqrt_s_eeff[i]); };
519
520 }
521
522 //----- (Extra temporary definition, evaluated at 10 TeV) ----------
523 //
524 obsThFactory["cQQ1_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQQ1(SM, 10000.); };
525 obsThFactory["cQQ8_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQQ8(SM, 10000.); };
526 obsThFactory["ctt1_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctt1(SM, 10000.); };
527 obsThFactory["cQt1_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQt1(SM, 10000.); };
528 obsThFactory["cQt8_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQt8(SM, 10000.); };
529 //
530 obsThFactory["cQq31_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQq31(SM, 10000.); };
531 obsThFactory["cQq38_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQq38(SM, 10000.); };
532 obsThFactory["cQq11_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQq11(SM, 10000.); };
533 obsThFactory["cQq18_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQq18(SM, 10000.); };
534 obsThFactory["cQu1_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQu1(SM, 10000.); };
535 obsThFactory["cQu8_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQu8(SM, 10000.); };
536 obsThFactory["cQd1_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQd1(SM, 10000.); };
537 obsThFactory["cQd8_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQd8(SM, 10000.); };
538 obsThFactory["ctq1_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctq1(SM, 10000.); };
539 obsThFactory["ctq8_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctq8(SM, 10000.); };
540 obsThFactory["ctu1_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctu1(SM, 10000.); };
541 obsThFactory["ctu8_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctu8(SM, 10000.); };
542 obsThFactory["ctd1_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctd1(SM, 10000.); };
543 obsThFactory["ctd8_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctd8(SM, 10000.); };
544 //
545 obsThFactory["ctH_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctH(SM, 10000.); };
546 obsThFactory["cHQm_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcHQm(SM, 10000.); };
547 obsThFactory["cHQp_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcHQp(SM, 10000.); };
548 obsThFactory["cHQ3_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcHQ3(SM, 10000.); };
549 obsThFactory["cHt_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcHt(SM, 10000.); };
550 obsThFactory["cHb_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcHb(SM, 10000.); };
551 obsThFactory["cHtb_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcHtb(SM, 10000.); };
552 //
553 obsThFactory["ctW_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctW(SM, 10000.); };
554 obsThFactory["ImctW_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGImctW(SM, 10000.); };
555 obsThFactory["ctZ_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctZ(SM, 10000.); };
556 obsThFactory["ImctZ_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGImctZ(SM, 10000.); };
557 obsThFactory["ctG_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctG(SM, 10000.); };
558 //
559 obsThFactory["cbW_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcbW(SM, 10000.); };
560 //
561 obsThFactory["cQlM_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQlM(SM, 10000.); };
562 obsThFactory["cQlP_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQlP(SM, 10000.); };
563 obsThFactory["cQl3_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQl3(SM, 10000.); };
564 obsThFactory["cQe_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcQe(SM, 10000.); };
565 obsThFactory["ctl_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctl(SM, 10000.); };
566 obsThFactory["cte_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGcte(SM, 10000.); };
567 obsThFactory["ctlS_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctlS(SM, 10000.); };
568 obsThFactory["ctlT_TWG_10TeV"] = [=](const StandardModel& SM) { return new TWGctlT(SM, 10000.); };
569
570 /* BEGIN: REMOVE FROM THE PACKAGE */
571
572 for (int i = 0; i < 10; i++) {
573 std::string sqrt_s_str = boost::lexical_cast<std::string, double>(sqrt_s_HF[i]);
574 obsThFactory["AFBbottomLEP2_" + sqrt_s_str] = [=](const StandardModel& SM) { return new LEP2AFBbottom(SM, sqrt_s_LEP2_HF[i]); };
575 obsThFactory["AFBcharmLEP2_" + sqrt_s_str] = [=](const StandardModel& SM) { return new LEP2AFBcharm(SM, sqrt_s_LEP2_HF[i]); };
576 obsThFactory["RbottomLEP2_" + sqrt_s_str] = [=](const StandardModel& SM) { return new LEP2Rbottom(SM, sqrt_s_LEP2_HF[i]); };
577 obsThFactory["RcharmLEP2_" + sqrt_s_str] = [=](const StandardModel& SM) { return new LEP2Rcharm(SM, sqrt_s_LEP2_HF[i]); };
578 }
579 /* END: REMOVE FROM THE PACKAGE */
580
581
582 //----- Low Energy EW observables -----
583 // Parity violation
584 obsThFactory["QWeMoller"] = [](const StandardModel& SM) { return new QWe(SM); };
585 obsThFactory["QWproton"] = [](const StandardModel& SM) { return new QWp(SM); };
586 obsThFactory["QWCs133_55"] = [=](const StandardModel& SM) { return new QWAPV(SM, 55, 78); };
587 obsThFactory["QWTl205_81"] = [=](const StandardModel& SM) { return new QWAPV(SM, 81, 124); };
588 // Neutrino scattering
589 obsThFactory["gL2_nuN"] = [](const StandardModel& SM) { return new gLnuN2(SM); };
590 obsThFactory["gR2_nuN"] = [](const StandardModel& SM) { return new gRnuN2(SM); };
591 obsThFactory["gV_nue"] = [](const StandardModel& SM) { return new gVnue(SM); };
592 obsThFactory["gA_nue"] = [](const StandardModel& SM) { return new gAnue(SM); };
593 // Temporary observable: for testing
594 obsThFactory["amuongminus2"] = [](const StandardModel& SM) { return new agminus2muon(SM); };
595
596 //----- Lepton decays -----
597 // LFU tests in Tau decays
598 obsThFactory["gmuge_TauLFU"] = [](const StandardModel& SM) { return new gmugeTauLFU(SM); };
599 obsThFactory["gtaugmu_TauLFU"] = [](const StandardModel& SM) { return new gtaugmuTauLFU(SM); };
600 obsThFactory["gtauge_TauLFU"] = [](const StandardModel& SM) { return new gtaugeTauLFU(SM); };
601
602 obsThFactory["gtaugmuPi_TauLFU"] = [](const StandardModel& SM) { return new gtaugmuPiTauLFU(SM); };
603 obsThFactory["gtaugmuK_TauLFU"] = [](const StandardModel& SM) { return new gtaugmuKTauLFU(SM); };
604
605}
A header file for the observables defined in EW module.
A class for the forward-backward asymmetry of above the pole.
Definition: LEP2AFBbottom.h:22
A class for the forward-backward asymmetry of above the pole.
Definition: LEP2AFBcharm.h:22
A class for the forward-backward asymmetry of above the pole.
Definition: LEP2AFBmu.h:22
A class for the forward-backward asymmetry of above the pole.
Definition: LEP2AFBtau.h:22
A class for above the pole.
Definition: LEP2Rbottom.h:21
A class for above the pole.
Definition: LEP2Rcharm.h:21
A class for the cross section of above the pole.
A class for the cross section of above the pole.
Definition: LEP2sigmaMu.h:53
A class for the cross section of above the pole.
Definition: LEP2sigmaTau.h:54
A class for the hadronic cross section of annihilations above the pole.
A class for the cross section of above the pole.
Definition: LEP2sigmaMu.h:21
A class for the cross section of above the pole.
Definition: LEP2sigmaTau.h:21
An observable class for the weak charge from atomic parity violation.
An observable class for the weak charge of the electron.
An observable class for the weak charge of the proton.
A model class for the Standard Model.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
An observable class for the LHC Top WG definitions of Top operators.
std::map< std::string, std::function< ThObservable *(const StandardModel &) > > obsThFactory
Definition: ThObsFactory.h:49
void registerLEP2Observables()
A class for the forward-backward asymmetry of above the pole.
Definition: LEP2AFBbottom.h:54
A class for the forward-backward asymmetry of above the pole.
Definition: LEP2AFBcharm.h:54
A class for the forward-backward asymmetry of above the pole.
A class for the forward-backward asymmetry of , subtracting the SM t channel. above the pole.
A class for the forward-backward asymmetry of above the pole.
Definition: LEP2AFBmu.h:53
A class for the forward-backward asymmetry of above the pole.
A class for the forward-backward asymmetry of above the pole.
Definition: LEP2AFBtau.h:53
A class for the ratio of cross sections of off the pole.
A class for the ratio of cross sections of off the pole.
A class for the ratio of cross sections of off the pole.
A class for the ratio of cross sections of off the pole, subtracting the SM t channel.
A class for the ratio of cross sections of off the pole.
Definition: LEP2sigmaMu.h:118
A class for the ratio of cross sections of off the pole.
A class for the ratio of cross sections of off the pole.
Definition: LEP2sigmaTau.h:122
A class for the cross section of off the pole.
A class for the cross section of off the pole.
A class for the cross section of off the pole.
A class for the hadronic cross section of annihilations above the pole.
A class for the cross section of off the pole.
Definition: LEP2sigmaMu.h:86
A class for the cross section of off the pole.
A class for the cross section of off the pole.
Definition: LEP2sigmaTau.h:89
A class for the cross section of off the pole, subtracting the SM t-channel.
An observable class for the effective (muon) neutrino-electron axial-vector coupling.
Definition: LE_NuScatt.h:200
An observable class for the effective neutrino nucleon LH coupling.
Definition: LE_NuScatt.h:30
An observable class for the effective neutrino nucleon RH coupling.
Definition: LE_NuScatt.h:64
An observable class for the effective (muon) neutrino-electron vector coupling.
Definition: LE_NuScatt.h:166
An observable class for the tau LFU ratio .
An observable class for the tau LFU ratio .
An observable class for the tau LFU ratio .
An observable class for the tau LFU ratio .
An observable class for the tau LFU ratio .
Namespace containing collider energy and angle constants used across ThObsFactory registration functi...
const double sqrt_s[12]
const double sqrt_see[16]
const double sqrt_s_HF[10]
const double cos_Diffee[15]
const double sqrt_sDiffll[8]
const double sqrt_s_eeff[16]
const double sqrt_s_LEP2_HF[10]
const double sqrt_s_LEP2eeff[12]
const double muEW
const double cosmin_Diffee[15]
const double cosmin_Diffll[10]
const double cos_DiffeeInp[15]
const double cosmax_Diffee[15]
const double cosmax_Diffll[10]
const double cos_Diffll[10]