a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
MVllObservables.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2014 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#include "MVllObservables.h"
9#include "MVll.h"
10#include "StandardModel.h"
11//#include "gslpp.h"
12
13/*******************************************************************************
14 * Observables *
15 * ****************************************************************************/
16
17
18
19P_1::P_1(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
20: ThObservable(SM_i)
21{
22 lep = lep_i;
23 meson = meson_i;
24 vectorM = vector_i;
25
27}
28
30{
31 double q_min = getBinMin();
32 double q_max = getBinMax();
33
34 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(4,q_min,q_max)/(2.* SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max));
35}
36
37/*Returns experimental value, defined according to 1510.04239.*/
38P_2::P_2(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
39: ThObservable(SM_i)
40{
41 lep = lep_i;
42 meson = meson_i;
43 vectorM = vector_i;
44
46}
47
49{
50 double q_min = getBinMin();
51 double q_max = getBinMax();
52
53 double P_2_theory = SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(7,q_min,q_max)/(8.*SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max));
54
55 return -P_2_theory;
56}
57
58
59P_3::P_3(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
60: ThObservable(SM_i)
61{
62 lep = lep_i;
63 meson = meson_i;
64 vectorM = vector_i;
65
67}
68
69/*Returns experimental value, defined according to 1510.04239.*/
71{
72 double q_min = getBinMin();
73 double q_max = getBinMax();
74
75 double P_3_theory = -SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(11,q_min,q_max)/(4.*SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max));
76
77 return -P_3_theory;
78}
79
80
82: ThObservable(SM_i)
83{
84 lep = lep_i;
85 meson = meson_i;
86 vectorM = vector_i;
87
89}
90
91/*Returns experimental value, defined according to 1510.04239.*/
93{
94 double q_min = getBinMin();
95 double q_max = getBinMax();
96
97 double P_4p_theory = SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(5,q_min,q_max)/sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(2,q_min,q_max)*SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max));
98
99 return -1./2.*P_4p_theory;
100}
101
102
104: ThObservable(SM_i)
105{
106 lep = lep_i;
107 meson = meson_i;
108 vectorM = vector_i;
109
111}
112
114{
115 double q_min = getBinMin();
116 double q_max = getBinMax();
117
118 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(6,q_min,q_max)/(2.*sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(2,q_min,q_max)*SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max)));
119}
120
121
123: ThObservable(SM_i)
124{
125 lep = lep_i;
126 meson = meson_i;
127 vectorM = vector_i;
128
130}
131
133{
134 double q_min = getBinMin();
135 double q_max = getBinMax();
136
137 return -SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(9,q_min,q_max)/(2.*sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(2,q_min,q_max)*SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max)));
138}
139
140
142: ThObservable(SM_i)
143{
144 lep = lep_i;
145 meson = meson_i;
146 vectorM = vector_i;
147
149}
150
151/*Returns experimental value, defined according to 1510.04239.*/
153{
154 double q_min = getBinMin();
155 double q_max = getBinMax();
156
157 double P_8p_theory = -SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(10,q_min,q_max)/(sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(2,q_min,q_max)*SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max)));
158
159 return -1./2.*P_8p_theory;
160}
161
162
164: ThObservable(SM_i)
165{
166 lep = lep_i;
167 meson = meson_i;
168 vectorM = vector_i;
169
171}
172
173double GammaPrime::computeGammaPrime(double qmin, double qmax, QCD::lepton lep)
174{
175 double q_min = qmin;
176 double q_max = qmax;
177 QCD::lepton lep_i = lep;
178
179 return ((3.*SM.getFlavour().getMVll(meson, vectorM, lep_i).integrateSigma(0,q_min,q_max) - SM.getFlavour().getMVll(meson, vectorM, lep_i).integrateSigma(2,q_min,q_max)) + 2.*(3.*SM.getFlavour().getMVll(meson, vectorM, lep_i).integrateSigma(1,q_min,q_max) - SM.getFlavour().getMVll(meson, vectorM, lep_i).integrateSigma(3,q_min,q_max)))/4.;
180}
181
183{
184 double q_min = getBinMin();
185 double q_max = getBinMax();
186
187 return computeGammaPrime(q_min, q_max, lep);
188}
189
190
191A_FB::A_FB(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
192: GammaPrime(SM_i, meson_i, vector_i, lep_i)
193{
194 lep = lep_i;
195 meson = meson_i;
196 vectorM = vector_i;
197
199}
200
202{
203 double q_min = getBinMin();
204 double q_max = getBinMax();
205
206 return -3. * SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(7,q_min,q_max) / 4. / computeGammaPrime(q_min, q_max, lep);
207}
208
209
210A_T1::A_T1(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
211: GammaPrime(SM_i, meson_i, vector_i, lep_i)
212{
213 lep = lep_i;
214 meson = meson_i;
215 vectorM = vector_i;
216
218}
219
221{
222 double q_min = getBinMin();
223 double q_max = getBinMax();
224
225 return 2. * SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(7,q_min,q_max) / (3.*SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(1,q_min,q_max) - SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max));
226}
227
228
229BR_MVll::BR_MVll(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
230: GammaPrime(SM_i, meson_i, vector_i, lep_i)
231{
232 lep = lep_i;
233 meson = meson_i;
234 vectorM = vector_i;
235
237}
238
240{
241 double q_min = getBinMin();
242 double q_max = getBinMax();
243
244 double ys = SM.getMesons(QCD::B_S).getDgamma_gamma()/2.;
245
246 switch(vectorM){
249 return (computeGammaPrime(q_min, q_max, lep)/SM.getFlavour().getMVll(meson, vectorM, lep).getwidth() + SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigmaTree(q_min, q_max)) / ( q_max - q_min );
250 break;
252 return computeGammaPrime(q_min, q_max, lep)/SM.getFlavour().getMVll(meson, vectorM, lep).getwidth()/(1. - ys*ys) / ( q_max - q_min );
253 break;
254 default:
255 std::stringstream out;
256 out << vectorM;
257 throw std::runtime_error("BR_MVll: vector " + out.str() + " not implemented");
258 }
259}
260
261
263: GammaPrime(SM_i, meson_i, vector_i, lep_i)
264{
265 lep = lep_i;
266 meson = meson_i;
267 vectorM = vector_i;
268
270}
271
273{
274 double q_min = getBinMin();
275 double q_max = getBinMax();
276
277 double ys = SM.getMesons(QCD::B_S).getDgamma_gamma()/2.;
278
279 switch(vectorM){
283 break;
285 return computeGammaPrime(q_min, q_max, lep)/SM.getFlavour().getMVll(meson, vectorM, lep).getwidth()/(1. - ys*ys) ;
286 break;
287 default:
288 std::stringstream out;
289 out << vectorM;
290 throw std::runtime_error("BR_MVll_tot: vector " + out.str() + " not implemented");
291 }
292}
293
294
295R_MVll::R_MVll(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_1, QCD::lepton lep_2)
296: GammaPrime(SM_i, meson_i, vector_i, lep_1)
297{
298 lep1 = lep_1;
299 lep2 = lep_2;
300 meson = meson_i;
301 vectorM = vector_i;
302
305}
306
308{
309 double q_min = getBinMin();
310 double q_max = getBinMax();
311
313 return computeGammaPrime(q_min, q_max, lep2) / computeGammaPrime(q_min, q_max, lep1);
314 else
315 return computeGammaPrime(q_min, q_max, lep1) / computeGammaPrime(q_min, q_max, lep2);
316}
317
318
319RL_MVll::RL_MVll(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_1, QCD::lepton lep_2)
320: F_L(SM_i, meson_i, vector_i, lep_1)
321{
322 lep1 = lep_1;
323 lep2 = lep_2;
324 meson = meson_i;
325 vectorM = vector_i;
326
329}
330
332{
333 double q_min = getBinMin();
334 double q_max = getBinMax();
335
336 return (computeGammaPrime(q_min, q_max, lep1) * computeFL(q_min, q_max, lep1)) / (computeGammaPrime(q_min, q_max, lep2) * computeFL(q_min, q_max, lep2));
337}
338
339
340RT_MVll::RT_MVll(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_1, QCD::lepton lep_2)
341: F_L(SM_i, meson_i, vector_i, lep_1)
342{
343 lep1 = lep_1;
344 lep2 = lep_2;
345 meson = meson_i;
346 vectorM = vector_i;
347
350}
351
353{
354 double q_min = getBinMin();
355 double q_max = getBinMax();
356
357 return (computeGammaPrime(q_min, q_max, lep1) * (1 - computeFL(q_min, q_max, lep1))) / (computeGammaPrime(q_min, q_max, lep2) * ( 1 - computeFL(q_min, q_max, lep2)));
358}
359
360
361R_6::R_6(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_1, QCD::lepton lep_2)
362: ThObservable(SM_i)
363{
364 lep1 = lep_1;
365 lep2 = lep_2;
366 meson = meson_i;
367 vectorM = vector_i;
368
371}
372
374{
375 double q_min = getBinMin();
376 double q_max = getBinMax();
377
378 return SM.getFlavour().getMVll(meson, vectorM, lep1).integrateSigma(7,q_min,q_max) / SM.getFlavour().getMVll(meson, vectorM, lep2).integrateSigma(7,q_min,q_max);
379}
380
381
383: GammaPrime(SM_i, meson_i, vector_i, lep_i)
384{
385 lep = lep_i;
386 meson = meson_i;
387 vectorM = vector_i;
388
390}
391
393{
394 double q_min = getBinMin();
395 double q_max = getBinMax();
396
397 return (3.*SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(0,q_min,q_max) - SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(2,q_min,q_max) + 2. * ( 3.*SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(1,q_min,q_max) - SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(3,q_min,q_max) ) )/(4.*computeGammaPrime(q_min, q_max, lep));
398}
399
400
401P3CP::P3CP(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
402: ThObservable(SM_i)
403{
404 lep = lep_i;
405 meson = meson_i;
406 vectorM = vector_i;
407
409}
410
412{
413 double q_min = getBinMin();
414 double q_max = getBinMax();
415
416 return - SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(11,q_min,q_max)/(4.*SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max));
417}
418
419
420F_L::F_L(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
421: GammaPrime(SM_i, meson_i, vector_i, lep_i)
422{
423 lep = lep_i;
424 meson = meson_i;
425 vectorM = vector_i;
426
428}
429
430double F_L::computeFL(double qmin, double qmax, QCD::lepton lep)
431{
432 double q_min = qmin;
433 double q_max = qmax;
434 QCD::lepton lep_i = lep;
435
436 double sigma0 = SM.getFlavour().getMVll(meson, vectorM, lep_i).integrateSigma(0,q_min,q_max);
437 double sigma2 = SM.getFlavour().getMVll(meson, vectorM, lep_i).integrateSigma(2,q_min,q_max);
438
439 return (3.*sigma0 - sigma2) / (4. * computeGammaPrime(q_min, q_max, lep_i)) ;
440}
441
443{
444 double q_min = getBinMin();
445 double q_max = getBinMax();
446
447 return computeFL(q_min, q_max, lep);
448}
449
450
452: ThObservable(SM_i)
453{
454 lep = lep_i;
455 meson = meson_i;
456 vectorM = vector_i;
457
459}
460
462{
463 double q_min = getBinMin();
464
465 return ( SM.getFlavour().getMVll(meson, vectorM, lep).H_V_p(q_min, 0).abs2() + SM.getFlavour().getMVll(meson, vectorM, lep).H_V_m(q_min, 0).abs2() - SM.getFlavour().getMVll(meson, vectorM, lep).H_A_p(q_min, 0).abs2() - SM.getFlavour().getMVll(meson, vectorM, lep).H_A_m(q_min, 0).abs2() )/
466 ( 2.*( SM.getFlavour().getMVll(meson, vectorM, lep).H_V_p(q_min, 0).abs2() + SM.getFlavour().getMVll(meson, vectorM, lep).H_V_m(q_min, 0).abs2() + SM.getFlavour().getMVll(meson, vectorM, lep).H_A_p(q_min, 0).abs2() + SM.getFlavour().getMVll(meson, vectorM, lep).H_A_m(q_min, 0).abs2() ) );
467}
468
469
471: ThObservable(SM_i)
472{
473 lep = lep_i;
474 meson = meson_i;
475 vectorM = vector_i;
476
478}
479
481{
482 double q_min = getBinMin();
483
484 return ( q_min/(2.*SM.getFlavour().getMVll(meson, vectorM, lep).getMlep()*SM.getFlavour().getMVll(meson, vectorM, lep).getMlep())*( SM.getFlavour().getMVll(meson, vectorM, lep).H_P(q_min, 0).abs2() + SM.getFlavour().getMVll(meson, vectorM, lep).beta(q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).beta(q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).H_S(q_min, 0).abs2() ) + SM.getFlavour().getMVll(meson, vectorM, lep).H_V_0(q_min, 0).abs2() - SM.getFlavour().getMVll(meson, vectorM, lep).H_A_0(q_min, 0).abs2() )/
485 ( SM.getFlavour().getMVll(meson, vectorM, lep).H_V_0(q_min, 0).abs2() + SM.getFlavour().getMVll(meson, vectorM, lep).H_A_0(q_min, 0).abs2() );
486}
487
488
489S_1c::S_1c(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
490: GammaPrime(SM_i, meson_i, vector_i, lep_i)
491{
492 lep = lep_i;
493 meson = meson_i;
494 vectorM = vector_i;
495
497}
498
499
501{
502 double q_min = getBinMin();
503 double q_max = getBinMax();
504
505 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(0,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
506}
507
508
509S_1s::S_1s(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
510: GammaPrime(SM_i, meson_i, vector_i, lep_i)
511{
512 lep = lep_i;
513 meson = meson_i;
514 vectorM = vector_i;
515
517}
518
519
521{
522 double q_min = getBinMin();
523 double q_max = getBinMax();
524
525 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(1,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
526}
527
528
529S_2c::S_2c(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
530: GammaPrime(SM_i, meson_i, vector_i, lep_i)
531{
532 lep = lep_i;
533 meson = meson_i;
534 vectorM = vector_i;
535
537}
538
539
541{
542 double q_min = getBinMin();
543 double q_max = getBinMax();
544
545 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(2,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
546}
547
548
549S_2s::S_2s(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
550: GammaPrime(SM_i, meson_i, vector_i, lep_i)
551{
552 lep = lep_i;
553 meson = meson_i;
554 vectorM = vector_i;
555
557}
558
559
561{
562 double q_min = getBinMin();
563 double q_max = getBinMax();
564
565 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(3,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
566}
567
568
569S_3::S_3(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
570: GammaPrime(SM_i, meson_i, vector_i, lep_i)
571{
572 lep = lep_i;
573 meson = meson_i;
574 vectorM = vector_i;
575
577}
578
579
581{
582 double q_min = getBinMin();
583 double q_max = getBinMax();
584
585 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(4,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
586}
587
588
589S_4::S_4(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
590: GammaPrime(SM_i, meson_i, vector_i, lep_i)
591{
592 lep = lep_i;
593 meson = meson_i;
594 vectorM = vector_i;
595
597}
598
599/*Returns experimental value, due to difference in \theta_l and \phi definitions*/
601{
602 double q_min = getBinMin();
603 double q_max = getBinMax();
604
605 return -SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(5,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
606}
607
608
609S_5::S_5(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
610: GammaPrime(SM_i, meson_i, vector_i, lep_i)
611{
612 lep = lep_i;
613 meson = meson_i;
614 vectorM = vector_i;
615
617}
618
619
621{
622 double q_min = getBinMin();
623 double q_max = getBinMax();
624
625 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(6,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
626}
627
628
629S_6c::S_6c(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
630: GammaPrime(SM_i, meson_i, vector_i, lep_i)
631{
632 lep = lep_i;
633 meson = meson_i;
634 vectorM = vector_i;
635
637}
638
639
641{
642 double q_min = getBinMin();
643 double q_max = getBinMax();
644
645 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(8,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
646}
647
648
649S_7::S_7(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
650: GammaPrime(SM_i, meson_i, vector_i, lep_i)
651{
652 lep = lep_i;
653 meson = meson_i;
654 vectorM = vector_i;
655
657}
658
659/*Returns experimental value, due to difference in \theta_l and \phi definitions*/
661{
662 double q_min = getBinMin();
663 double q_max = getBinMax();
664
665 return -SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(9,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
666}
667
668
669S_8::S_8(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
670: GammaPrime(SM_i, meson_i, vector_i, lep_i)
671{
672 lep = lep_i;
673 meson = meson_i;
674 vectorM = vector_i;
675
677}
678
679
681{
682 double q_min = getBinMin();
683 double q_max = getBinMax();
684
685 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(10,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
686}
687
688
689S_9::S_9(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
690: GammaPrime(SM_i, meson_i, vector_i, lep_i)
691{
692 lep = lep_i;
693 meson = meson_i;
694 vectorM = vector_i;
695
697}
698
699/*Returns experimental value, due to difference in \theta_l and \phi definitions*/
701{
702 double q_min = getBinMin();
703 double q_max = getBinMax();
704
705 return -SM.getFlavour().getMVll(meson, vectorM, lep).integrateSigma(11,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
706}
707
708
709A_5::A_5(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
710: GammaPrime(SM_i, meson_i, vector_i, lep_i)
711{
712 lep = lep_i;
713 meson = meson_i;
714 vectorM = vector_i;
715
717}
718
719
721{
722 double q_min = getBinMin();
723 double q_max = getBinMax();
724
725 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(6,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
726}
727
728
729A_6::A_6(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
730: GammaPrime(SM_i, meson_i, vector_i, lep_i)
731{
732 lep = lep_i;
733 meson = meson_i;
734 vectorM = vector_i;
735
737}
738
739/*Returns experimental value, due to difference in \theta_l and \phi definitions*/
741{
742 double q_min = getBinMin();
743 double q_max = getBinMax();
744
745 return -SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(7,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
746}
747
748
749A_6c::A_6c(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
750: GammaPrime(SM_i, meson_i, vector_i, lep_i)
751{
752 lep = lep_i;
753 meson = meson_i;
754 vectorM = vector_i;
755
757}
758
759
761{
762 double q_min = getBinMin();
763 double q_max = getBinMax();
764
765 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(8,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
766}
767
768
769A_8::A_8(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
770: GammaPrime(SM_i, meson_i, vector_i, lep_i)
771{
772 lep = lep_i;
773 meson = meson_i;
774 vectorM = vector_i;
775
777}
778
779
781{
782 double q_min = getBinMin();
783 double q_max = getBinMax();
784
785 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(10,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
786}
787
788
789A_9::A_9(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
790: GammaPrime(SM_i, meson_i, vector_i, lep_i)
791{
792 lep = lep_i;
793 meson = meson_i;
794 vectorM = vector_i;
795
797}
798
799
801{
802 double q_min = getBinMin();
803 double q_max = getBinMax();
804
805 return SM.getFlavour().getMVll(meson, vectorM, lep).integrateDelta(11,q_min,q_max) / computeGammaPrime(q_min, q_max, lep);
806}
807
808V0::V0(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
809: ThObservable(SM_i)
810{
811 lep = lep_i;
812 meson = meson_i;
813 vectorM = vector_i;
814
816}
817
819{
821}
822
823Vp::Vp(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
824: ThObservable(SM_i)
825{
826 lep = lep_i;
827 meson = meson_i;
828 vectorM = vector_i;
829
831}
832
834{
836}
837
838Vm::Vm(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
839: ThObservable(SM_i)
840{
841 lep = lep_i;
842 meson = meson_i;
843 vectorM = vector_i;
844
846}
847
849{
851}
852
853T0::T0(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
854: ThObservable(SM_i)
855{
856 lep = lep_i;
857 meson = meson_i;
858 vectorM = vector_i;
859
861}
862
864{
866}
867
868Tp::Tp(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
869: ThObservable(SM_i)
870{
871 lep = lep_i;
872 meson = meson_i;
873 vectorM = vector_i;
874
876}
877
879{
881}
882
883Tm::Tm(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
884: ThObservable(SM_i)
885{
886 lep = lep_i;
887 meson = meson_i;
888 vectorM = vector_i;
889
891}
892
894{
896}
897
898S::S(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
899: ThObservable(SM_i)
900{
901 lep = lep_i;
902 meson = meson_i;
903 vectorM = vector_i;
904
906}
907
909{
911}
912
914: ThObservable(SM_i)
915{
916 lep = lep_i;
917 meson = meson_i;
918 vectorM = vector_i;
919
921}
922
924{
926}
927
929: ThObservable(SM_i)
930{
931 lep = lep_i;
932 meson = meson_i;
933 vectorM = vector_i;
934
936}
937
939{
941}
942
944: ThObservable(SM_i)
945{
946 lep = lep_i;
947 meson = meson_i;
948 vectorM = vector_i;
949
951}
952
954{
956}
957
959: ThObservable(SM_i)
960{
961 lep = lep_i;
962 meson = meson_i;
963 vectorM = vector_i;
964
966}
967
969{
971}
972
974: ThObservable(SM_i)
975{
976 lep = lep_i;
977 meson = meson_i;
978 vectorM = vector_i;
979
981}
982
984{
986}
987
988
989gtilde_1::gtilde_1(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
990: ThObservable(SM_i)
991{
992 lep = lep_i;
993 meson = meson_i;
994 vectorM = vector_i;
995 typ = typ_i;
996
998}
999
1001{
1002 double q_min = getBinMin();
1003
1004 if (typ == 1) return (SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_1_re(q_min));
1005 else if (typ == 2) return (SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_1_im(q_min));
1006 else if (typ == 3) return ((SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_1_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_1_im(q_min)).abs());
1007 else if (typ == 4) return ((SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_1_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_1_im(q_min)).arg());
1008 else throw std::runtime_error("MVllObservables::gtilde_1: incorrect type");
1009}
1010
1011
1012gtilde_2::gtilde_2(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
1013: ThObservable(SM_i)
1014{
1015 lep = lep_i;
1016 meson = meson_i;
1017 vectorM = vector_i;
1018 typ = typ_i;
1019
1021}
1022
1024{
1025 double q_min = getBinMin();
1026
1027 if (typ == 1) return (SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_2_re(q_min));
1028 else if (typ == 2) return (SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_2_im(q_min));
1029 else if (typ == 3) return ((SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_2_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_2_im(q_min)).abs());
1030 else if (typ == 4) return ((SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_2_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_2_im(q_min)).arg());
1031 else throw std::runtime_error("MVllObservables::gtilde_2: incorrect type");
1032}
1033
1034
1035gtilde_3::gtilde_3(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
1036: ThObservable(SM_i)
1037{
1038 lep = lep_i;
1039 meson = meson_i;
1040 vectorM = vector_i;
1041 typ = typ_i;
1042
1044}
1045
1047{
1048 double q_min = getBinMin();
1049
1050 if (typ == 1) return (SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_3_re(q_min));
1051 else if (typ == 2) return (SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_3_im(q_min));
1052 else if (typ == 3) return ((SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_3_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_3_im(q_min)).abs());
1053 else if (typ == 4) return ((SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_3_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).getgtilde_3_im(q_min)).arg());
1054 else throw std::runtime_error("MVllObservables::gtilde_3: incorrect type");
1055}
1056
1057h_0::h_0(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
1058: ThObservable(SM_i)
1059{
1060 lep = lep_i;
1061 meson = meson_i;
1062 vectorM = vector_i;
1063 typ = typ_i;
1064
1066}
1067
1069{
1070 double q_min = getBinMin();
1071
1072 if (typ == 1) return (SM.getFlavour().getMVll(meson, vectorM, lep).geth_0_re(q_min));
1073 else if (typ == 2) return (SM.getFlavour().getMVll(meson, vectorM, lep).geth_0_im(q_min));
1074 else if (typ == 3) return ((SM.getFlavour().getMVll(meson, vectorM, lep).geth_0_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).geth_0_im(q_min)).abs());
1075 else if (typ == 4) return ((SM.getFlavour().getMVll(meson, vectorM, lep).geth_0_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).geth_0_im(q_min)).arg());
1076 else throw std::runtime_error("MVllObservables::h_0: type can only be 1:real, 2:imaginary, 3:absolute and 4:argument");
1077}
1078
1079
1080h_p::h_p(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
1081: ThObservable(SM_i)
1082{
1083 lep = lep_i;
1084 meson = meson_i;
1085 vectorM = vector_i;
1086 typ = typ_i;
1087
1089}
1090
1092{
1093 double q_min = getBinMin();
1094
1095 if (typ == 1) return (SM.getFlavour().getMVll(meson, vectorM, lep).geth_p_re(q_min));
1096 else if (typ == 2) return (SM.getFlavour().getMVll(meson, vectorM, lep).geth_p_im(q_min));
1097 else if (typ == 3) return ((SM.getFlavour().getMVll(meson, vectorM, lep).geth_p_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).geth_p_im(q_min)).abs());
1098 else if (typ == 4) return ((SM.getFlavour().getMVll(meson, vectorM, lep).geth_p_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).geth_p_im(q_min)).arg());
1099 else throw std::runtime_error("MVllObservables::h_p: type can only be 1:real, 2:imaginary, 3:absolute and 4:argument");
1100}
1101
1102
1103h_m::h_m(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
1104: ThObservable(SM_i)
1105{
1106 lep = lep_i;
1107 meson = meson_i;
1108 vectorM = vector_i;
1109 typ = typ_i;
1110
1112}
1113
1115{
1116 double q_min = getBinMin();
1117
1118 if (typ == 1) return (SM.getFlavour().getMVll(meson, vectorM, lep).geth_m_re(q_min));
1119 else if (typ == 2) return (SM.getFlavour().getMVll(meson, vectorM, lep).geth_m_im(q_min));
1120 else if (typ == 3) return ((SM.getFlavour().getMVll(meson, vectorM, lep).geth_m_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).geth_m_im(q_min)).abs());
1121 else if (typ == 4) return ((SM.getFlavour().getMVll(meson, vectorM, lep).geth_m_re(q_min) + gslpp::complex::i() * SM.getFlavour().getMVll(meson, vectorM, lep).geth_m_im(q_min)).arg());
1122 else throw std::runtime_error("MVllObservables::h_m: type can only be 1:real, 2:imaginary, 3:absolute and 4:argument");
1123}
1124
1125/***********************************************************************************************************************************
1126FUNCTIONAL
1127***********************************************************************************************************************************/
1128
1129P_1f::P_1f(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1130: ThObservable(SM_i)
1131{
1132 lep = lep_i;
1133 meson = meson_i;
1134 vectorM = vector_i;
1135
1137}
1138
1140{
1141 double q_min = getBinMin();
1142
1143 return SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(4,q_min)/(2.* SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1144}
1145
1146
1147P_2f::P_2f(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1148: ThObservable(SM_i)
1149{
1150 lep = lep_i;
1151 meson = meson_i;
1152 vectorM = vector_i;
1153
1155}
1156
1157/*Returns experimental value, defined according to 1510.04239.*/
1159{
1160 double q_min = getBinMin();
1161
1162 double P_2f_theory = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(7,q_min)/(8.*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1163
1164 return -P_2f_theory;
1165}
1166
1167
1168P_3f::P_3f(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1169: ThObservable(SM_i)
1170{
1171 lep = lep_i;
1172 meson = meson_i;
1173 vectorM = vector_i;
1174
1176}
1177
1178/*Returns experimental value, defined according to 1510.04239.*/
1180{
1181 double q_min = getBinMin();
1182
1183 double P_3f_theory = -SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(11,q_min)/(4.*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1184
1185 return -P_3f_theory;
1186}
1187
1188
1190: ThObservable(SM_i)
1191{
1192 lep = lep_i;
1193 meson = meson_i;
1194 vectorM = vector_i;
1195
1197}
1198
1199/*Returns experimental value, defined according to 1510.04239.*/
1201{
1202 double q_min = getBinMin();
1203
1204 double P_4pf_theory = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(5,q_min)/sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1205
1206 return -1./2.*P_4pf_theory;
1207}
1208
1209
1211: ThObservable(SM_i)
1212{
1213 lep = lep_i;
1214 meson = meson_i;
1215 vectorM = vector_i;
1216
1218}
1219
1221{
1222 double q_min = getBinMin();
1223
1224 return SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(6,q_min)/(2.*sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min)));
1225}
1226
1227
1229: ThObservable(SM_i)
1230{
1231 lep = lep_i;
1232 meson = meson_i;
1233 vectorM = vector_i;
1234
1236}
1237
1239{
1240 double q_min = getBinMin();
1241
1242 return -SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(9,q_min)/(2.*sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min)));
1243}
1244
1245/*Returns experimental value, defined according to 1510.04239.*/
1247: ThObservable(SM_i)
1248{
1249 lep = lep_i;
1250 meson = meson_i;
1251 vectorM = vector_i;
1252
1254}
1255
1257{
1258 double q_min = getBinMin();
1259
1260 double P_8pf_theory = -SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(10,q_min)/(sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min)));
1261
1262 return -1./2.*P_8pf_theory;
1263}
1264
1265
1267: ThObservable(SM_i)
1268{
1269 lep = lep_i;
1270 meson = meson_i;
1271 vectorM = vector_i;
1272
1274}
1275
1277{
1278 double q_min = qmin;
1279 QCD::lepton lep_i = lep;
1280
1281 return ((3.*SM.getFlavour().getMVll(meson, vectorM, lep_i).getSigma(0,q_min) - SM.getFlavour().getMVll(meson, vectorM, lep_i).getSigma(2,q_min)) + 2.*(3.*SM.getFlavour().getMVll(meson, vectorM, lep_i).getSigma(1,q_min) - SM.getFlavour().getMVll(meson, vectorM, lep_i).getSigma(3,q_min)))/4.;
1282}
1283
1285{
1286 double q_min = getBinMin();
1287
1288 return computeGammaPrimef(q_min, lep);
1289}
1290
1291
1292A_FBf::A_FBf(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1293: GammaPrimef(SM_i, meson_i, vector_i, lep_i)
1294{
1295 lep = lep_i;
1296 meson = meson_i;
1297 vectorM = vector_i;
1298
1300}
1301
1303{
1304 double q_min = getBinMin();
1305
1306 return -3. * SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(7,q_min) / 4. / computeGammaPrimef(q_min, lep);
1307}
1308
1309F_Lf::F_Lf(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1310: GammaPrimef(SM_i, meson_i, vector_i, lep_i)
1311{
1312 lep = lep_i;
1313 meson = meson_i;
1314 vectorM = vector_i;
1315
1317}
1318
1319double F_Lf::computeFLf(double qmin, QCD::lepton lep)
1320{
1321 double q_min = qmin;
1322 QCD::lepton lep_i = lep;
1323
1324 double sigma0 = SM.getFlavour().getMVll(meson, vectorM, lep_i).getSigma(0,q_min);
1325 double sigma2 = SM.getFlavour().getMVll(meson, vectorM, lep_i).getSigma(2,q_min);
1326
1327 return (3.*sigma0 - sigma2) / (4. * computeGammaPrimef(q_min, lep_i)) ;
1328}
1329
1330
1332{
1333 double q_min = getBinMin();
1334
1335 return computeFLf(q_min, lep);
1336}
1337
1338S_3f::S_3f(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1339: GammaPrimef(SM_i, meson_i, vector_i, lep_i)
1340{
1341 lep = lep_i;
1342 meson = meson_i;
1343 vectorM = vector_i;
1344
1346}
1347
1348
1350{
1351 double q_min = getBinMin();
1352
1353 return SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(4,q_min) / computeGammaPrimef(q_min, lep);
1354}
1355
1356
1357S_4f::S_4f(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1358: GammaPrimef(SM_i, meson_i, vector_i, lep_i)
1359{
1360 lep = lep_i;
1361 meson = meson_i;
1362 vectorM = vector_i;
1363
1365}
1366
1367/*Returns experimental value, due to difference in \theta_l and \phi definitions*/
1369{
1370 double q_min = getBinMin();
1371
1372 return -SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(5,q_min) / computeGammaPrimef(q_min, lep);
1373}
1374
1375
1376S_5f::S_5f(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1377: GammaPrimef(SM_i, meson_i, vector_i, lep_i)
1378{
1379 lep = lep_i;
1380 meson = meson_i;
1381 vectorM = vector_i;
1382
1384}
1385
1386
1388{
1389 double q_min = getBinMin();
1390
1391 return SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(6,q_min) / computeGammaPrimef(q_min, lep);
1392}
1393
1394
1395S_7f::S_7f(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1396: GammaPrimef(SM_i, meson_i, vector_i, lep_i)
1397{
1398 lep = lep_i;
1399 meson = meson_i;
1400 vectorM = vector_i;
1401
1403}
1404
1405/*Returns experimental value, due to difference in \theta_l and \phi definitions*/
1407{
1408 double q_min = getBinMin();
1409
1410 return -SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(9,q_min) / computeGammaPrimef(q_min, lep);
1411}
1412
1413
1414S_8f::S_8f(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1415: GammaPrimef(SM_i, meson_i, vector_i, lep_i)
1416{
1417 lep = lep_i;
1418 meson = meson_i;
1419 vectorM = vector_i;
1420
1422}
1423
1425{
1426 double q_min = getBinMin();
1427
1428 return SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(10,q_min) / computeGammaPrimef(q_min, lep);
1429}
1430
1431
1432S_9f::S_9f(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
1433: GammaPrimef(SM_i, meson_i, vector_i, lep_i)
1434{
1435 lep = lep_i;
1436 meson = meson_i;
1437 vectorM = vector_i;
1438
1440}
1441
1442/*Returns experimental value, due to difference in \theta_l and \phi definitions*/
1444{
1445 double q_min = getBinMin();
1446
1447 return -SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(11,q_min) / computeGammaPrimef(q_min, lep);
1448}
1449
1451: GammaPrimef(SM_i, meson_i, vector_i, lep_i)
1452{
1453 lep = lep_i;
1454 meson = meson_i;
1455 vectorM = vector_i;
1456
1458}
1459
1461{
1462 double q_min = getBinMin();
1463
1465}
1466
1468: ThObservable(SM_i)
1469{
1470 lep = lep_i;
1471 meson = meson_i;
1472 vectorM = vector_i;
1473
1475}
1476
1478{
1479 double q_min = getBinMin();
1480 double P1 = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(4,q_min)/(2.* SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1481 double P2 = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(7,q_min)/(8.*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1482 double P4p = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(5,q_min)/sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1483 double P5p = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(6,q_min)/(2.*sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min)));
1484 double beta = sqrt(1. - 4.*SM.getLeptons(lep).getMass()*SM.getLeptons(lep).getMass()/q_min/q_min);
1485
1486 return 1./2.*(P4p*P5p + 1./beta *sqrt(std::abs((-1. + P1 + P4p*P4p)*(-1. - P1 + beta*beta*P5p*P5p)))) - P2;
1487}
1488
1490: ThObservable(SM_i)
1491{
1492 lep = lep_i;
1493 meson = meson_i;
1494 vectorM = vector_i;
1495
1497}
1498
1500{
1501 double q_min = getBinMin();
1502 double P1 = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(4,q_min)/(2.* SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1503 double P2 = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(7,q_min)/(8.*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1504 double P3 = -SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(11,q_min)/(4.*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1505 double P4p = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(5,q_min)/sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min));
1506 double P5p = SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(6,q_min)/(2.*sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min)));
1507 double P6p = -SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(9,q_min)/(2.*sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min)));
1508 double P8p = -SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(10,q_min)/(sqrt(-SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(2,q_min)*SM.getFlavour().getMVll(meson, vectorM, lep).getSigma(3,q_min)));
1509
1510 double beta = sqrt(1. - 4.*SM.getLeptons(lep).getMass()*SM.getLeptons(lep).getMass()/q_min/q_min);
1511
1512 /* k1 and k2 not fully implemented. arXiv:1402.6855*/
1513 double k1 = 1.;
1514 double k2 = 1.;
1515
1516 double delta_1 = P6p*P8p;
1517 double delta_2 = -1. + k1*k1*k2*k2 + (1. - k1*k2)*(P4p*P4p + beta*beta*P5p*P5p) - 4.*k1*k1*P3*P3 + beta*beta*P6p*P8p*(2.*P4p*P5p + P6p*P8p) + k1*(beta*beta*P6p*(4.*P3*P5p - k2*P6p) - P8p*(4.*P3*P4p + k2*P8p));
1518 double delta_3 = (1. - k1)*P4p*P4p + beta*beta*((-1. + k1)*P5p*P5p - k1*P6p*P6p) + k1*P8p*P8p;
1519 double delta_4 = 1. - k1*k1;
1520
1521 return 1./2./k1*((P4p*P5p + delta_1) + 1./beta *sqrt(std::abs((-1. + P1 + P4p*P4p)*(-1. - P1 + beta*beta*P5p*P5p) + delta_2 + delta_3*P1 + delta_4*P1*P1))) - P2;
1522}
1523
1525: ThObservable(SM_i)
1526{
1527 lep = lep_i;
1528 meson = meson_i;
1529 vectorM = vector_i;
1530
1532}
1533
1535{
1536 double q2 = getBinMin();
1537 double cutoff = getBinMax();
1538
1539 return SM.getFlavour().getMVll(meson, vectorM, lep).getQCDfC9_1(q2, cutoff);
1540}
1541
1543: ThObservable(SM_i)
1544{
1545 lep = lep_i;
1546 meson = meson_i;
1547 vectorM = vector_i;
1548
1550}
1551
1553{
1554 double q2 = getBinMin();
1555 double cutoff = getBinMax();
1556
1557 return SM.getFlavour().getMVll(meson, vectorM, lep).getQCDfC9_2(q2, cutoff);
1558}
1559
1561: ThObservable(SM_i)
1562{
1563 lep = lep_i;
1564 meson = meson_i;
1565 vectorM = vector_i;
1566
1568}
1569
1571{
1572 double q2 = getBinMin();
1573 double cutoff = getBinMax();
1574
1575 return SM.getFlavour().getMVll(meson, vectorM, lep).getQCDfC9_3(q2, cutoff);
1576}
1577
1579: ThObservable(SM_i)
1580{
1581 lep = lep_i;
1582 meson = meson_i;
1583 vectorM = vector_i;
1584
1586}
1587
1589{
1590 double cutoff = getBinMin();
1591
1592 return SM.getFlavour().getMVll(meson, vectorM, lep).getQCDfC9p_1(cutoff);
1593}
1594
1596: ThObservable(SM_i)
1597{
1598 lep = lep_i;
1599 meson = meson_i;
1600 vectorM = vector_i;
1601
1603}
1604
1606{
1607 double cutoff = getBinMin();
1608
1609 return SM.getFlavour().getMVll(meson, vectorM, lep).getQCDfC9p_2(cutoff);
1610}
1611
1613: ThObservable(SM_i)
1614{
1615 lep = lep_i;
1616 meson = meson_i;
1617 vectorM = vector_i;
1618
1620}
1621
1623{
1624 double cutoff = getBinMin();
1625
1626 return SM.getFlavour().getMVll(meson, vectorM, lep).getQCDfC9p_3(cutoff);
1627}
1628
1630: ThObservable(SM_i)
1631{
1632 lep = lep_i;
1633 meson = meson_i;
1634 vectorM = vector_i;
1635
1637}
1638
1640{
1641 double q2 = getBinMin();
1642 double A2_0 = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,0).abs2();
1643 double A2_par = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,1).abs2();
1644 double A2_perp = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,2).abs2();
1645 return 2.*(A2_0+A2_par+A2_perp)/SM.getFlavour().getMVll(meson, vectorM, lep).getwidth();
1646}
1647
1649: ThObservable(SM_i)
1650{
1651 lep = lep_i;
1652 meson = meson_i;
1653 vectorM = vector_i;
1654
1656}
1657
1659{
1660 double A2_0_JPSI = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(3.0969,0).abs2();
1661 double A2_par_JPSI = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(3.0969,1).abs2();
1662 double A2_perp_JPSI = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(3.0969,2).abs2();
1663
1664 double A2_0_PSI2S = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(3.6861,0).abs2();
1665 double A2_par_PSI2S = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(3.6861,1).abs2();
1666 double A2_perp_PSI2S = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(3.6861,2).abs2();
1667
1668 return (A2_0_PSI2S+A2_par_PSI2S+A2_perp_PSI2S)/(A2_0_JPSI+A2_par_JPSI+A2_perp_JPSI);
1669}
1670
1672: ThObservable(SM_i)
1673{
1674 lep = lep_i;
1675 meson = meson_i;
1676 vectorM = vector_i;
1677
1679}
1680
1682{
1683 double q2 = getBinMin();
1684 double A2_0 = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,0).abs2();
1685 double A2_par = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,1).abs2();
1686 double A2_perp = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,2).abs2();
1687 return A2_par/(A2_0+A2_par+A2_perp);
1688}
1689
1691: ThObservable(SM_i)
1692{
1693 lep = lep_i;
1694 meson = meson_i;
1695 vectorM = vector_i;
1696
1698}
1699
1701{
1702 double q2 = getBinMin();
1704}
1705
1707: ThObservable(SM_i)
1708{
1709 lep = lep_i;
1710 meson = meson_i;
1711 vectorM = vector_i;
1712
1714}
1715
1717{
1718 double q2 = getBinMin();
1719 double A2_0 = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,0).abs2();
1720 double A2_par = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,1).abs2();
1721 double A2_perp = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,2).abs2();
1722 return A2_perp/(A2_0+A2_par+A2_perp);
1723}
1724
1726: ThObservable(SM_i)
1727{
1728 lep = lep_i;
1729 meson = meson_i;
1730 vectorM = vector_i;
1731
1733}
1734
1736{
1737 double q2 = getBinMin();
1739}
1740
1742: ThObservable(SM_i)
1743{
1744 lep = lep_i;
1745 meson = meson_i;
1746 vectorM = vector_i;
1747
1749}
1750
1752{
1753 double q2 = getBinMin();
1754 double A2_0 = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,0).abs2();
1755 double A2_par = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,1).abs2();
1756 double A2_perp = SM.getFlavour().getMVll(meson, vectorM, lep).AmpMVpsi_zExpansion(q2,2).abs2();
1757 return A2_0/(A2_0+A2_par+A2_perp);
1758}
1759
1761: ThObservable(SM_i)
1762{
1763 lep = lep_i;
1764 meson = meson_i;
1765 vectorM = vector_i;
1766
1768}
1769
1771{
1773}
1774
1776: ThObservable(SM_i)
1777{
1778 lep = lep_i;
1779 meson = meson_i;
1780 vectorM = vector_i;
1781
1783}
1784
1786{
1788}
1789
1791: ThObservable(SM_i)
1792{
1793 lep = lep_i;
1794 meson = meson_i;
1795 vectorM = vector_i;
1796
1798}
1799
1801{
1803}
QCD::meson meson
QCD::meson vectorM
QCD::lepton lep
A_5(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
double computeThValue()
The observable in .
QCD::meson vectorM
A_6(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson meson
QCD::lepton lep
QCD::meson vectorM
A_6c(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
double computeThValue()
The observable in .
A_8(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::meson vectorM
QCD::lepton lep
double computeThValue()
The observable in .
QCD::meson vectorM
QCD::meson meson
QCD::lepton lep
A_9(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
QCD::meson vectorM
A_FB(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
double computeThValue()
The binned observable in .
QCD::meson meson
QCD::meson meson
double computeThValue()
The observable in .
A_FBf(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson vectorM
QCD::meson meson
double computeThValue()
The binned observable in .
QCD::meson vectorM
A_T1(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson vectorM
double computeThValue()
The binned observable in .
ACP_MVll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::lepton lep
double computeThValue()
The observable Abs(A//) of .
Abs2Ampar_MVpsi(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
Abs2Amperp_MVpsi(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable Abs(A_|_) of .
double computeThValue()
The observable Abs(A0) of .
Abs2Ampzero_MVpsi(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
double computeThValue()
The observable Arg(A//) of .
ArgAmpar_MVpsi(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
ArgAmperp_MVpsi(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable Arg(A_|_) of .
QCD::lepton lep
double computeThValue()
The binned observable in .
BR_MVll_tot(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::meson meson
QCD::meson vectorM
QCD::meson meson
double computeThValue()
The binned observable in .
QCD::lepton lep
BR_MVll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
BR_MVpsi_ratio(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
double computeThValue()
The observable BR of .
QCD::meson meson
QCD::meson vectorM
BR_MVpsi(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable BR of .
QCD::lepton lep
QCD::meson vectorM
QCD::lepton lep
QCD::meson meson
BRf_MVll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
double computeThValue()
The observable Abs(A0) of .
Delta_C9_zExp_0(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable Abs(A0) of .
Delta_C9_zExp_m(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
Delta_C9_zExp_p(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable Abs(A0) of .
A class for the binned observable in .
QCD::lepton lep
double computeFL(double qmin, double qmax, QCD::lepton lep)
A method to compute the binned observable in in a generic bin.
F_L(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The binned observable in .
QCD::meson meson
QCD::meson vectorM
QCD::meson vectorM
QCD::lepton lep
QCD::meson meson
F_Lf(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
double computeFLf(double qmin, QCD::lepton lep)
A method to compute the observable in at a generic .
MVll & getMVll(QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i) const
Returns the initial and final state dependent object for .
Definition: Flavour.cpp:210
A class for the binned observable in .
QCD::meson vectorM
GammaPrime(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::lepton lep
double computeGammaPrime(double qmin, double qmax, QCD::lepton lep)
A method to compute the binned observable in in a generic bin.
double computeThValue()
The binned observable in .
A class for the observable in .
QCD::meson meson
double computeGammaPrimef(double qmin, QCD::lepton lep)
A method to compute the observable in at a generic .
QCD::lepton lep
GammaPrimef(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
QCD::meson vectorM
QCD::meson meson
double computeThValue()
The observable in .
QCD::meson vectorM
QCD::lepton lep
M_1Prime(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::lepton lep
M_2Prime(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
double computeThValue()
The observable in .
double getDelta_C9_zExp_p()
The non-pertubative ccbar contributions to the helicity amplitudes.
Definition: MVll.h:539
double getgtilde_2_re(double q2)
The real part of .
Definition: MVll.h:727
double getS(double q2)
The form factor .
Definition: MVll.h:454
double getQCDfC9_2(double q2, double cutoff)
Definition: MVll.h:670
double getQCDfC9p_1(double cutoff)
Definition: MVll.h:682
double getDelta_C9_zExp_m()
The non-pertubative ccbar contributions to the helicity amplitudes.
Definition: MVll.h:549
double geth_0_re(double q2)
The real part of .
Definition: MVll.h:773
double geth_p_im(double q2)
The imaginary part of .
Definition: MVll.h:812
gslpp::complex H_A_p(double q2, bool bar)
The helicity amplitude .
Definition: MVll.cpp:2590
double getMlep()
The mass of the lepton l.
Definition: MVll.h:372
double getgtilde_2_im(double q2)
The immaginary part of .
Definition: MVll.h:738
double geth_m_im(double q2)
The imaginary part of .
Definition: MVll.h:841
double getVm(double q2)
The form factor .
Definition: MVll.h:411
double get_unitarity_bound_g()
The unitarity constraints on form factors .
Definition: MVll.h:474
double getVp(double q2)
The form factor .
Definition: MVll.h:400
gslpp::complex H_S(double q2, bool bar)
The helicity amplitude .
Definition: MVll.cpp:2602
std::vector< std::string > initializeMVllParameters()
A method for initializing the parameters necessary for MVll.
Definition: MVll.cpp:160
double integrateDelta(int i, double q_min, double q_max)
The integral of from to .
Definition: MVll.cpp:3040
double getgtilde_3_im(double q2)
The imaginary part of .
Definition: MVll.h:761
double getTm(double q2)
The form factor .
Definition: MVll.h:443
gslpp::complex H_V_0(double q2, bool bar)
The helicity amplitude .
Definition: MVll.cpp:2566
double getT0(double q2)
The form factor .
Definition: MVll.h:421
double getSigma(int i, double q_2)
The value of from to .
Definition: MVll.cpp:2992
gslpp::complex H_V_p(double q2, bool bar)
The helicity amplitude .
Definition: MVll.cpp:2572
double getgtilde_3_re(double q2)
The real part of .
Definition: MVll.h:749
double getwidth()
The width of the meson M.
Definition: MVll.h:363
double get_unitarity_bound_T1()
The unitarity constraints on form factors .
Definition: MVll.h:494
double getV0(double q2)
The form factor .
Definition: MVll.h:389
double get_unitarity_bound_T2_T0()
The unitarity constraints on form factors and .
Definition: MVll.h:504
double getDelta_C9_zExp_0()
The non-pertubative ccbar contributions to the helicity amplitudes.
Definition: MVll.h:529
double geth_p_re(double q2)
The real part of .
Definition: MVll.h:802
double integrateSigmaTree(double q_min, double q_max)
The integral of from to (arxiv/2301.06990)
Definition: MVll.cpp:3139
double geth_0_im(double q2)
The imaginary part of .
Definition: MVll.h:783
double getTp(double q2)
The form factor .
Definition: MVll.h:432
gslpp::complex H_V_m(double q2, bool bar)
The helicity amplitude .
Definition: MVll.cpp:2578
gslpp::complex AmpMVpsi_zExpansion(double mpsi, int tran)
Polarization amplitudes for M to V psi, Eq. B.16 of arXiv:2206.03797.
Definition: MVll.cpp:2660
double get_unitarity_bound_F2()
The unitarity constraints on form factors .
Definition: MVll.h:484
double geth_m_re(double q2)
The real part of .
Definition: MVll.h:831
gslpp::complex H_A_0(double q2, bool bar)
The helicity amplitude .
Definition: MVll.cpp:2584
double getQCDfC9p_2(double cutoff)
Definition: MVll.h:688
double getQCDfC9p_3(double cutoff)
Definition: MVll.h:694
double getgtilde_1_im(double q2)
The immaginary part of .
Definition: MVll.h:716
double getQCDfC9_1(double q2, double cutoff)
Definition: MVll.h:664
gslpp::complex H_A_m(double q2, bool bar)
The helicity amplitude .
Definition: MVll.cpp:2596
gslpp::complex H_P(double q2, bool bar)
The helicity amplitude .
Definition: MVll.cpp:2610
double integrateSigma(int i, double q_min, double q_max)
The integral of from to .
Definition: MVll.cpp:2865
double getQCDfC9_3(double q2, double cutoff)
Definition: MVll.h:676
double beta(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:2692
double getgtilde_1_re(double q2)
The real part of .
Definition: MVll.h:705
double get_unitarity_bound_f_F1()
The unitarity constraints on form factors and .
Definition: MVll.h:464
const double & getDgamma_gamma() const
Definition: Meson.h:411
QCD::lepton lep
P3CP(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The binned observable in .
QCD::meson vectorM
QCD::meson meson
QCD::meson meson
double computeThValue()
The binned observable in .
P_1(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::lepton lep
QCD::meson vectorM
QCD::lepton lep
P_1f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
double computeThValue()
The observable in .
P_2(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson meson
QCD::meson vectorM
double computeThValue()
The binned observable in .
P_2f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::meson vectorM
double computeThValue()
The observable in .
QCD::lepton lep
QCD::meson vectorM
QCD::meson meson
P_3(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
double computeThValue()
The binned observable in .
QCD::meson meson
P_3f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::lepton lep
double computeThValue()
The observable in .
QCD::meson vectorM
QCD::meson meson
double computeThValue()
The binned observable in .
QCD::lepton lep
P_4Prime(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
P_4Primef(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson vectorM
QCD::meson meson
QCD::meson meson
QCD::meson vectorM
QCD::lepton lep
double computeThValue()
The binned observable in .
P_5Prime(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
P_5Primef(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
QCD::meson vectorM
QCD::lepton lep
QCD::lepton lep
QCD::meson meson
QCD::meson vectorM
double computeThValue()
The binned observable in .
P_6Prime(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson vectorM
P_6Primef(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
double computeThValue()
The observable in .
double computeThValue()
The binned observable in .
QCD::lepton lep
QCD::meson meson
P_8Prime(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
P_8Primef(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
QCD::meson meson
QCD::lepton lep
QCD::meson vectorM
double computeThValue()
The observable in .
P_relation_exactf(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
P_relationf(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
QCD::meson meson
QCD::lepton lep
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
meson
An enum type for mesons.
Definition: QCD.h:336
@ PHI
Definition: QCD.h:348
@ K_star
Definition: QCD.h:349
@ K_star_P
Definition: QCD.h:350
@ B_S
Definition: QCD.h:346
const Meson & getMesons(const QCD::meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:526
lepton
An enum type for leptons.
Definition: QCD.h:310
QCD::meson vectorM
QCD::lepton lep
QCD::meson meson
QCDfC9_1f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
QCD::lepton lep
QCD::meson vectorM
double computeThValue()
The observable in .
QCDfC9_2f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
double computeThValue()
The observable in .
QCDfC9_3f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson vectorM
QCD::meson meson
QCD::meson vectorM
QCD::lepton lep
QCD::meson meson
double computeThValue()
The observable in .
QCDfC9p_1f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCDfC9p_2f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::lepton lep
double computeThValue()
The observable in .
QCD::meson vectorM
QCD::lepton lep
QCDfC9p_3f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::meson vectorM
double computeThValue()
The observable in .
R_6(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_1, QCD::lepton lep_2)
Constructor.
QCD::meson meson
QCD::meson vectorM
QCD::lepton lep1
QCD::lepton lep2
double computeThValue()
The binned observable ratio in .
QCD::lepton lep1
QCD::meson meson
double computeThValue()
The binned observable ratio in .
QCD::meson vectorM
R_MVll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_1, QCD::lepton lep_2)
Constructor.
QCD::lepton lep2
QCD::lepton lep2
QCD::lepton lep1
double computeThValue()
The binned observable ratio in .
QCD::meson vectorM
RL_MVll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_1, QCD::lepton lep_2)
Constructor.
QCD::meson meson
QCD::lepton lep1
QCD::lepton lep2
double computeThValue()
The binned observable ratio in .
RT_MVll(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_1, QCD::lepton lep_2)
Constructor.
QCD::meson vectorM
QCD::meson meson
QCD::meson meson
S_1c(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson vectorM
double computeThValue()
The observable in .
QCD::lepton lep
QCD::meson vectorM
S_1s(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
double computeThValue()
The observable in .
QCD::meson vectorM
QCD::lepton lep
QCD::meson meson
double computeThValue()
The observable in .
S_2c(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::meson meson
S_2s(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
QCD::lepton lep
S_3(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
double computeThValue()
The observable in .
QCD::meson meson
QCD::lepton lep
QCD::meson meson
double computeThValue()
The observable in .
QCD::meson vectorM
QCD::lepton lep
S_3f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson meson
QCD::meson vectorM
S_4(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
QCD::lepton lep
QCD::meson meson
QCD::meson vectorM
S_4f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
double computeThValue()
The observable in .
S_5(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::lepton lep
QCD::meson meson
QCD::lepton lep
S_5f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The observable in .
QCD::meson meson
QCD::meson vectorM
S_6c(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::meson meson
QCD::lepton lep
double computeThValue()
The observable in .
S_7(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson meson
QCD::meson vectorM
double computeThValue()
The observable in .
QCD::meson vectorM
double computeThValue()
The observable in .
S_7f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::lepton lep
QCD::meson vectorM
S_8(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
double computeThValue()
The observable in .
QCD::lepton lep
QCD::meson meson
S_8f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::lepton lep
double computeThValue()
The observable in .
QCD::lepton lep
S_9(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::meson vectorM
double computeThValue()
The observable in .
double computeThValue()
The observable in .
S_9f(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson vectorM
QCD::meson meson
QCD::meson vectorM
double computeThValue()
The averaged form factor in .
S(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
QCD::lepton lep
A model class for the Standard Model.
const Particle & getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
const Flavour & getFlavour() const
QCD::lepton lep
QCD::meson vectorM
T0(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The averaged form factor in .
QCD::meson meson
A class for a model prediction of an observable.
Definition: ThObservable.h:25
void setParametersForObservable(std::vector< std::string > parametersForObservable_i)
A set method to get the parameters for the specific observable.
Definition: ThObservable.h:109
double getBinMin()
A get method to get the minimum value of the bin.
Definition: ThObservable.h:82
double getBinMax()
A get method to get the maximum value of the bin.
Definition: ThObservable.h:91
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:121
QCD::lepton lep
QCD::meson meson
double computeThValue()
The averaged form factor in .
Tm(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::meson meson
Tp(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::lepton lep
QCD::meson vectorM
double computeThValue()
The averaged form factor in .
V0(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::lepton lep
QCD::meson meson
double computeThValue()
The averaged form factor in .
Vm(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson vectorM
QCD::meson meson
QCD::lepton lep
double computeThValue()
The averaged form factor in .
QCD::meson vectorM
Vp(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
QCD::meson meson
double computeThValue()
The averaged form factor in .
QCD::lepton lep
unsigned int typ
QCD::meson vectorM
double computeThValue()
The averaged correction in .
gtilde_1(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
Constructor.
QCD::meson meson
QCD::lepton lep
QCD::meson vectorM
QCD::lepton lep
unsigned int typ
QCD::meson meson
double computeThValue()
The averaged correction in .
gtilde_2(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
Constructor.
double computeThValue()
The averaged correction in .
QCD::meson meson
QCD::meson vectorM
gtilde_3(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
Constructor.
unsigned int typ
QCD::lepton lep
h_0(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
Constructor.
QCD::meson meson
unsigned int typ
QCD::lepton lep
QCD::meson vectorM
double computeThValue()
The correction in .
h_m(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
Constructor.
unsigned int typ
double computeThValue()
The correction in .
QCD::meson vectorM
QCD::lepton lep
QCD::meson meson
QCD::meson vectorM
unsigned int typ
QCD::meson meson
QCD::lepton lep
h_p(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i, unsigned int typ_i)
Constructor.
double computeThValue()
The correction in .
unitarity_bound_F2(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The unitarity bound on form factors in decays.
double computeThValue()
The unitarity bound on form factors in decays.
unitarity_bound_T1(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
unitarity_bound_T2_T0(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The unitarity bound on form factors and in decays.
double computeThValue()
The unitarity bound on form factors and in decays.
unitarity_bound_f_F1(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.
double computeThValue()
The unitarity bound on form factors in decays.
unitarity_bound_g(const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
Constructor.