27 obsThFactory[
"GammaW"] = boost::factory<GammaW*>();
28 obsThFactory[
"GammaZ"] = boost::factory<GammaZ*>();
29 obsThFactory[
"sigmaHadron"] = boost::factory<sigmaHadron*>();
30 obsThFactory[
"sin2thetaEff"] = boost::factory<sin2thetaEff*>();
31 obsThFactory[
"PtauPol"] = boost::factory<PtauPol*>();
32 obsThFactory[
"Alepton"] = boost::factory<Alepton*>();
33 obsThFactory[
"Acharm"] = boost::factory<Acharm*>();
34 obsThFactory[
"Abottom"] = boost::factory<Abottom*>();
35 obsThFactory[
"AFBlepton"] = boost::factory<AFBlepton*>();
36 obsThFactory[
"AFBcharm"] = boost::factory<AFBcharm*>();
37 obsThFactory[
"AFBbottom"] = boost::factory<AFBbottom*>();
38 obsThFactory[
"Rlepton"] = boost::factory<Rlepton*>();
39 obsThFactory[
"Rcharm"] = boost::factory<Rcharm*>();
40 obsThFactory[
"Rbottom"] = boost::factory<Rbottom*>();
43 const double sqrt_s_LHC7 = 7.0;
44 const double sqrt_s_LHC8 = 8.0;
45 const double sqrt_s_TeV = 1.96;
46 const double sqrt_s_TLEP = .24;
47 obsThFactory[
"ggH"] = boost::bind(boost::factory<muggH*>(), _1, sqrt_s_LHC8);
48 obsThFactory[
"VBF"] = boost::bind(boost::factory<muVBF*>(), _1, sqrt_s_LHC8);
49 obsThFactory[
"WH"] = boost::bind(boost::factory<muWH*>(), _1, sqrt_s_LHC8);
50 obsThFactory[
"ZH"] = boost::bind(boost::factory<muZH*>(), _1, sqrt_s_LHC8);
51 obsThFactory[
"VH"] = boost::bind(boost::factory<muVH*>(), _1, sqrt_s_LHC8);
52 obsThFactory[
"ggH+ttH"] = boost::bind(boost::factory<muggHpttH*>(), _1, sqrt_s_LHC8);
53 obsThFactory[
"VBF+VH"] = boost::bind(boost::factory<muVBFpVH*>(), _1, sqrt_s_LHC8);
54 obsThFactory[
"ttH"] = boost::bind(boost::factory<muttH*>(), _1, sqrt_s_LHC8);
55 obsThFactory[
"ggH7"] = boost::bind(boost::factory<muggH*>(), _1, sqrt_s_LHC7);
56 obsThFactory[
"VBF7"] = boost::bind(boost::factory<muVBF*>(), _1, sqrt_s_LHC7);
57 obsThFactory[
"WH7"] = boost::bind(boost::factory<muWH*>(), _1, sqrt_s_LHC7);
58 obsThFactory[
"ZH7"] = boost::bind(boost::factory<muZH*>(), _1, sqrt_s_LHC7);
59 obsThFactory[
"VH7"] = boost::bind(boost::factory<muVH*>(), _1, sqrt_s_LHC7);
60 obsThFactory[
"ttH7"] = boost::bind(boost::factory<muttH*>(), _1, sqrt_s_LHC7);
61 obsThFactory[
"ggH8"] = boost::bind(boost::factory<muggH*>(), _1, sqrt_s_LHC8);
62 obsThFactory[
"ggH+ttH8"] = boost::bind(boost::factory<muggHpttH*>(), _1, sqrt_s_LHC8);
63 obsThFactory[
"VBF8"] = boost::bind(boost::factory<muVBF*>(), _1, sqrt_s_LHC8);
64 obsThFactory[
"VBF+VH8"] = boost::bind(boost::factory<muVBFpVH*>(), _1, sqrt_s_LHC8);
65 obsThFactory[
"VH8"] = boost::bind(boost::factory<muVH*>(), _1, sqrt_s_LHC8);
66 obsThFactory[
"WH8"] = boost::bind(boost::factory<muWH*>(), _1, sqrt_s_LHC8);
67 obsThFactory[
"ZH8"] = boost::bind(boost::factory<muZH*>(), _1, sqrt_s_LHC8);
68 obsThFactory[
"ttH8"] = boost::bind(boost::factory<muttH*>(), _1, sqrt_s_LHC8);
69 obsThFactory[
"ggH196"] = boost::bind(boost::factory<muggH*>(), _1, sqrt_s_TeV);
70 obsThFactory[
"VBF196"] = boost::bind(boost::factory<muVBF*>(), _1, sqrt_s_TeV);
71 obsThFactory[
"VH196"] = boost::bind(boost::factory<muVH*>(), _1, sqrt_s_TeV);
72 obsThFactory[
"ttH196"] = boost::bind(boost::factory<muttH*>(), _1, sqrt_s_TeV);
73 obsThFactory[
"eeZH240"] = boost::bind(boost::factory<mueeZH*>(), _1, sqrt_s_TLEP);
74 obsThFactory[
"BrHggRatio"] = boost::factory<BrHtoggRatio*>();
75 obsThFactory[
"BrHWWRatio"] = boost::factory<BrHtoWWRatio*>();
76 obsThFactory[
"BrHZZRatio"] = boost::factory<BrHtoZZRatio*>();
77 obsThFactory[
"BrHZgaRatio"] = boost::factory<BrHtoZgaRatio*>();
78 obsThFactory[
"BrHgagaRatio"] = boost::factory<BrHtogagaRatio*>();
79 obsThFactory[
"BrHtautauRatio"] = boost::factory<BrHtotautauRatio*>();
80 obsThFactory[
"BrHccRatio"] = boost::factory<BrHtoccRatio*>();
81 obsThFactory[
"BrHbbRatio"] = boost::factory<BrHtobbRatio*>();
84 obsThFactory[
"epsilon1"] = boost::factory<Epsilon1*>();
85 obsThFactory[
"epsilon2"] = boost::factory<Epsilon2*>();
86 obsThFactory[
"epsilon3"] = boost::factory<Epsilon3*>();
87 obsThFactory[
"epsilonb"] = boost::factory<Epsilonb*>();
91 obsThFactory[
"DmBd"] = boost::factory<DmBd*>();
92 obsThFactory[
"DmBs"] = boost::factory<DmBs*>();
93 obsThFactory[
"SJPsiK"] = boost::factory<SJPsiK*>();
94 obsThFactory[
"Betas_JPsiPhi"] = boost::factory<Betas_JPsiPhi*>();
95 obsThFactory[
"EpsilonK"] = boost::factory<EpsilonK*>();
96 obsThFactory[
"DmK"] = boost::factory<DmK*>();
98 obsThFactory[
"Vud"] = boost::bind(boost::factory<VCKM*>(), _1, 1, 1);
99 obsThFactory[
"Vus"] = boost::bind(boost::factory<VCKM*>(), _1, 1, 2);
100 obsThFactory[
"Vub"] = boost::bind(boost::factory<VCKM*>(), _1, 1, 3);
101 obsThFactory[
"Vcd"] = boost::bind(boost::factory<VCKM*>(), _1, 2, 1);
102 obsThFactory[
"Vcs"] = boost::bind(boost::factory<VCKM*>(), _1, 2, 2);
103 obsThFactory[
"Vcb"] = boost::bind(boost::factory<VCKM*>(), _1, 2, 3);
104 obsThFactory[
"Vtd"] = boost::bind(boost::factory<VCKM*>(), _1, 3, 1);
105 obsThFactory[
"Vts"] = boost::bind(boost::factory<VCKM*>(), _1, 3, 2);
106 obsThFactory[
"Vtb"] = boost::bind(boost::factory<VCKM*>(), _1, 3, 3);
107 obsThFactory[
"alpha"] = boost::factory<Alpha*>();
108 obsThFactory[
"alpha_2a"] = boost::factory<Alpha_2a*>();
109 obsThFactory[
"gamma"] = boost::factory<CKMGamma*>();
110 obsThFactory[
"Abslam_t"] = boost::factory<Abslam_t*>();
111 obsThFactory[
"Abslam_c"] = boost::factory<Abslam_c*>();
112 obsThFactory[
"Abslam_u"] = boost::factory<Abslam_u*>();
113 obsThFactory[
"Abslam_td"] = boost::factory<Abslam_td*>();
114 obsThFactory[
"Abslam_cd"] = boost::factory<Abslam_cd*>();
115 obsThFactory[
"Abslam_ud"] = boost::factory<Abslam_ud*>();
116 obsThFactory[
"Abslam_ts"] = boost::factory<Abslam_ts*>();
117 obsThFactory[
"Abslam_cs"] = boost::factory<Abslam_cs*>();
118 obsThFactory[
"Abslam_us"] = boost::factory<Abslam_us*>();
120 obsThFactory[
"BR_Bdmumu"] = boost::bind(boost::factory<Bdmumu*>(), _1, 1);
121 obsThFactory[
"BRbar_Bdmumu"] = boost::bind(boost::factory<Bdmumu*>(), _1, 2);
122 obsThFactory[
"Amumu_Bd"] = boost::bind(boost::factory<Bdmumu*>(), _1, 3);
123 obsThFactory[
"Smumu_Bd"] = boost::bind(boost::factory<Bdmumu*>(), _1, 4);
124 obsThFactory[
"BR_Bsmumu"] = boost::bind(boost::factory<Bsmumu*>(), _1, 1);
125 obsThFactory[
"BRbar_Bsmumu"] = boost::bind(boost::factory<Bsmumu*>(), _1, 2);
126 obsThFactory[
"Amumu_Bs"] = boost::bind(boost::factory<Bsmumu*>(), _1, 3);
127 obsThFactory[
"Smumu_Bs"] = boost::bind(boost::factory<Bsmumu*>(), _1, 4);
129 obsThFactory[
"BR_bsgamma"] = boost::bind(boost::factory<Bsgamma*>(), _1, 1);
130 obsThFactory[
"BR_CPodd_bsgamma"] = boost::bind(boost::factory<Bsgamma*>(), _1, 2);
268 obsThFactory[
"btaunu"] = boost::factory<Btaunu*>();
271 obsThFactory[
"mu_e_gamma"] = boost::factory<mu_e_gamma*>();
272 obsThFactory[
"tau_mu_gamma"] = boost::factory<tau_mu_gamma*>();
273 obsThFactory[
"tau_e_gamma"] = boost::factory<tau_e_gamma*>();
274 obsThFactory[
"mu_3e"] = boost::factory<mu_3e*>();
275 obsThFactory[
"tau_3mu"] = boost::factory<tau_3mu*>();
276 obsThFactory[
"tau_3e"] = boost::factory<tau_3e*>();
279 obsThFactory[
"MHl"] = boost::bind(boost::factory<Mhiggs*>(), _1, 0);
280 obsThFactory[
"MHh"] = boost::bind(boost::factory<Mhiggs*>(), _1, 1);
281 obsThFactory[
"MHa"] = boost::bind(boost::factory<Mhiggs*>(), _1, 2);
282 obsThFactory[
"MHp"] = boost::bind(boost::factory<Mhiggs*>(), _1, 3);
283 obsThFactory[
"Msu1"] = boost::bind(boost::factory<Msup*>(), _1, 0);
284 obsThFactory[
"Msu2"] = boost::bind(boost::factory<Msup*>(), _1, 1);
285 obsThFactory[
"Msu3"] = boost::bind(boost::factory<Msup*>(), _1, 2);
286 obsThFactory[
"Msu4"] = boost::bind(boost::factory<Msup*>(), _1, 3);
287 obsThFactory[
"Msu5"] = boost::bind(boost::factory<Msup*>(), _1, 4);
288 obsThFactory[
"Msu6"] = boost::bind(boost::factory<Msup*>(), _1, 5);
289 obsThFactory[
"Msd1"] = boost::bind(boost::factory<Msdown*>(), _1, 0);
290 obsThFactory[
"Msd2"] = boost::bind(boost::factory<Msdown*>(), _1, 1);
291 obsThFactory[
"Msd3"] = boost::bind(boost::factory<Msdown*>(), _1, 2);
292 obsThFactory[
"Msd4"] = boost::bind(boost::factory<Msdown*>(), _1, 3);
293 obsThFactory[
"Msd5"] = boost::bind(boost::factory<Msdown*>(), _1, 4);
294 obsThFactory[
"Msd6"] = boost::bind(boost::factory<Msdown*>(), _1, 5);
295 obsThFactory[
"Mch1"] = boost::bind(boost::factory<Mchargino*>(), _1, 0);
296 obsThFactory[
"Mch2"] = boost::bind(boost::factory<Mchargino*>(), _1, 1);
297 obsThFactory[
"Mneu1"] = boost::bind(boost::factory<Mneutralino*>(), _1, 0);
298 obsThFactory[
"Mneu2"] = boost::bind(boost::factory<Mneutralino*>(), _1, 1);
299 obsThFactory[
"Mneu3"] = boost::bind(boost::factory<Mneutralino*>(), _1, 2);
300 obsThFactory[
"Mneu4"] = boost::bind(boost::factory<Mneutralino*>(), _1, 3);
303 obsThFactory[
"globalminimum"] = boost::factory<globalminimum*>();
305 obsThFactory[
"ggF_tth_htobb"] = boost::factory<ggF_tth_htobb*>();
306 obsThFactory[
"ggF_tth_htoWW"] = boost::factory<ggF_tth_htoWW*>();
307 obsThFactory[
"ggF_tth_htotautau"] = boost::factory<ggF_tth_htotautau*>();
308 obsThFactory[
"ggF_tth_htoZZ"] = boost::factory<ggF_tth_htoZZ*>();
309 obsThFactory[
"ggF_tth_htogaga"] = boost::factory<ggF_tth_htogaga*>();
310 obsThFactory[
"VBF_Vh_htobb"] = boost::factory<VBF_Vh_htobb*>();
311 obsThFactory[
"VBF_Vh_htoWW"] = boost::factory<VBF_Vh_htoWW*>();
312 obsThFactory[
"VBF_Vh_htotautau"] = boost::factory<VBF_Vh_htotautau*>();
313 obsThFactory[
"VBF_Vh_htoZZ"] = boost::factory<VBF_Vh_htoZZ*>();
314 obsThFactory[
"VBF_Vh_htogaga"] = boost::factory<VBF_Vh_htogaga*>();
316 obsThFactory[
"Hobs_ggF_H_tautau_ATLAS"] = boost::factory<Hobs_ggF_H_tautau_ATLAS*>();
317 obsThFactory[
"Hobs_ggF_H_tautau_CMS"] = boost::factory<Hobs_ggF_H_tautau_CMS*>();
318 obsThFactory[
"Hobs_bbF_H_tautau_ATLAS"] = boost::factory<Hobs_bbF_H_tautau_ATLAS*>();
319 obsThFactory[
"Hobs_bbF_H_tautau_CMS"] = boost::factory<Hobs_bbF_H_tautau_CMS*>();
320 obsThFactory[
"Hobs_ggF_H_gaga_ATLAS"] = boost::factory<Hobs_ggF_H_gaga_ATLAS*>();
321 obsThFactory[
"Hobs_ggF_H_gaga_CMS"] = boost::factory<Hobs_ggF_H_gaga_CMS*>();
322 obsThFactory[
"Hobs_pp_H_ZZ_CMS"] = boost::factory<Hobs_pp_H_ZZ_CMS*>();
323 obsThFactory[
"Hobs_ggF_H_WW_ATLAS"] = boost::factory<Hobs_ggF_H_WW_ATLAS*>();
324 obsThFactory[
"Hobs_VBF_H_WW_ATLAS"] = boost::factory<Hobs_VBF_H_WW_ATLAS*>();
325 obsThFactory[
"Hobs_ggF_H_hh_ATLAS"] = boost::factory<Hobs_ggF_H_hh_ATLAS*>();
326 obsThFactory[
"Hobs_ggF_H_hh_bbtautau_CMS"] = boost::factory<Hobs_ggF_H_hh_bbtautau_CMS*>();
327 obsThFactory[
"Hobs_pp_H_hh_bbbb_CMS"] = boost::factory<Hobs_pp_H_hh_bbbb_CMS*>();
328 obsThFactory[
"Hobs_pp_H_hh_gagabb_CMS"] = boost::factory<Hobs_pp_H_hh_gagabb_CMS*>();
329 obsThFactory[
"Hobs_pp_H_tt_ATLAS"] = boost::factory<Hobs_pp_H_tt_ATLAS*>();
330 obsThFactory[
"Hobs_bbF_H_bb_CMS"] = boost::factory<Hobs_bbF_H_bb_CMS*>();
332 obsThFactory[
"log10_ggF_H_tautau_TH"] = boost::factory<log10_ggF_H_tautau_TH*>();
333 obsThFactory[
"log10_bbF_H_tautau_TH"] = boost::factory<log10_bbF_H_tautau_TH*>();
334 obsThFactory[
"log10_ggF_H_gaga_TH"] = boost::factory<log10_ggF_H_gaga_TH*>();
335 obsThFactory[
"log10_pp_H_ZZ_TH"] = boost::factory<log10_pp_H_ZZ_TH*>();
336 obsThFactory[
"log10_ggF_H_WW_TH"] = boost::factory<log10_ggF_H_WW_TH*>();
337 obsThFactory[
"log10_VBF_H_WW_TH"] = boost::factory<log10_VBF_H_WW_TH*>();
338 obsThFactory[
"log10_ggF_H_hh_TH"] = boost::factory<log10_ggF_H_hh_TH*>();
339 obsThFactory[
"log10_ggF_H_hh_bbtautau_TH"] = boost::factory<log10_ggF_H_hh_bbtautau_TH*>();
340 obsThFactory[
"log10_pp_H_hh_bbbb_TH"] = boost::factory<log10_pp_H_hh_bbbb_TH*>();
341 obsThFactory[
"log10_pp_H_hh_gagabb_TH"] = boost::factory<log10_pp_H_hh_gagabb_TH*>();
342 obsThFactory[
"log10_pp_H_tt_TH"] = boost::factory<log10_pp_H_tt_TH*>();
343 obsThFactory[
"log10_bbF_H_bb_TH"] = boost::factory<log10_bbF_H_bb_TH*>();
345 obsThFactory[
"Hobs_ggF_A_tautau_ATLAS"] = boost::factory<Hobs_ggF_A_tautau_ATLAS*>();
346 obsThFactory[
"Hobs_ggF_A_tautau_CMS"] = boost::factory<Hobs_ggF_A_tautau_CMS*>();
347 obsThFactory[
"Hobs_bbF_A_tautau_ATLAS"] = boost::factory<Hobs_bbF_A_tautau_ATLAS*>();
348 obsThFactory[
"Hobs_bbF_A_tautau_CMS"] = boost::factory<Hobs_bbF_A_tautau_CMS*>();
349 obsThFactory[
"Hobs_ggF_A_gaga_ATLAS"] = boost::factory<Hobs_ggF_A_gaga_ATLAS*>();
350 obsThFactory[
"Hobs_ggF_A_gaga_CMS"] = boost::factory<Hobs_ggF_A_gaga_CMS*>();
351 obsThFactory[
"Hobs_ggF_A_hZ_bbll_CMS"] = boost::factory<Hobs_ggF_A_hZ_bbll_CMS*>();
352 obsThFactory[
"Hobs_ggF_A_hZ_bbZ_ATLAS"] = boost::factory<Hobs_ggF_A_hZ_bbZ_ATLAS*>();
353 obsThFactory[
"Hobs_ggF_A_hZ_tautaull_CMS"] = boost::factory<Hobs_ggF_A_hZ_tautaull_CMS*>();
354 obsThFactory[
"Hobs_ggF_A_hZ_tautauZ_ATLAS"] = boost::factory<Hobs_ggF_A_hZ_tautauZ_ATLAS*>();
355 obsThFactory[
"Hobs_pp_A_tt_ATLAS"] = boost::factory<Hobs_pp_A_tt_ATLAS*>();
356 obsThFactory[
"Hobs_bbF_A_bb_CMS"] = boost::factory<Hobs_bbF_A_bb_CMS*>();
358 obsThFactory[
"log10_ggF_A_tautau_TH"] = boost::factory<log10_ggF_A_tautau_TH*>();
359 obsThFactory[
"log10_bbF_A_tautau_TH"] = boost::factory<log10_bbF_A_tautau_TH*>();
360 obsThFactory[
"log10_ggF_A_gaga_TH"] = boost::factory<log10_ggF_A_gaga_TH*>();
361 obsThFactory[
"log10_ggF_A_hZ_bbll_TH"] = boost::factory<log10_ggF_A_hZ_bbll_TH*>();
362 obsThFactory[
"log10_ggF_A_hZ_bbZ_TH"] = boost::factory<log10_ggF_A_hZ_bbZ_TH*>();
363 obsThFactory[
"log10_ggF_A_hZ_tautaull_TH"] = boost::factory<log10_ggF_A_hZ_tautaull_TH*>();
364 obsThFactory[
"log10_ggF_A_hZ_tautauZ_TH"] = boost::factory<log10_ggF_A_hZ_tautauZ_TH*>();
365 obsThFactory[
"log10_pp_A_tt_TH"] = boost::factory<log10_pp_A_tt_TH*>();
366 obsThFactory[
"log10_bbF_A_bb_TH"] = boost::factory<log10_bbF_A_bb_TH*>();
368 obsThFactory[
"mHh"] = boost::factory<mass_mHh*>();
369 obsThFactory[
"mA"] = boost::factory<mass_mA*>();
370 obsThFactory[
"mHp"] = boost::factory<mass_mHp*>();
371 obsThFactory[
"mHhmmA"] = boost::factory<massdifference_mHhmmA*>();
372 obsThFactory[
"mAmmHh"] = boost::factory<massdifference_mAmmHh*>();
373 obsThFactory[
"mHhmmHp"] = boost::factory<massdifference_mHhmmHp*>();
374 obsThFactory[
"mHpmmHh"] = boost::factory<massdifference_mHpmmHh*>();
375 obsThFactory[
"mAmmHp"] = boost::factory<massdifference_mAmmHp*>();
376 obsThFactory[
"mHpmmA"] = boost::factory<massdifference_mHpmmA*>();
377 obsThFactory[
"lambda1"] = boost::factory<lambda1*>();
378 obsThFactory[
"lambda2"] = boost::factory<lambda2*>();
379 obsThFactory[
"lambda3"] = boost::factory<lambda3*>();
380 obsThFactory[
"lambda4"] = boost::factory<lambda4*>();
381 obsThFactory[
"lambda5"] = boost::factory<lambda5*>();
383 obsThFactory[
"positivity1"] = boost::factory<positivity1*>();
384 obsThFactory[
"positivity2"] = boost::factory<positivity2*>();
386 obsThFactory[
"unitarity1"] = boost::factory<unitarity1*>();
387 obsThFactory[
"unitarity2"] = boost::factory<unitarity2*>();
388 obsThFactory[
"unitarity3"] = boost::factory<unitarity3*>();
389 obsThFactory[
"unitarity4"] = boost::factory<unitarity4*>();
390 obsThFactory[
"unitarity5"] = boost::factory<unitarity5*>();
391 obsThFactory[
"unitarity6"] = boost::factory<unitarity6*>();
392 obsThFactory[
"unitarity7"] = boost::factory<unitarity7*>();
393 obsThFactory[
"unitarity8"] = boost::factory<unitarity8*>();
394 obsThFactory[
"unitarity9"] = boost::factory<unitarity9*>();
395 obsThFactory[
"unitarity10"] = boost::factory<unitarity10*>();
396 obsThFactory[
"unitarity11"] = boost::factory<unitarity11*>();
397 obsThFactory[
"unitarity12"] = boost::factory<unitarity12*>();
399 obsThFactory[
"DeltaS"] = boost::factory<DeltaS*>();
400 obsThFactory[
"DeltaT"] = boost::factory<DeltaT*>();
401 obsThFactory[
"DeltaU"] = boost::factory<DeltaU*>();
403 obsThFactory[
"B_BtoXsgammaTHDM"] = boost::factory<bsgammaTHDM*>();
std::map< std::string, boost::function< ThObservable *(const StandardModel &) > > obsThFactory