C++ Interface to Tauola
nonSM.h
1#ifndef _TAU_SPINNER_NONSM_H_
2#define _TAU_SPINNER_NONSM_H_
3#include "TauSpinner/tau_reweight_lib.h"
4
5namespace TauSpinner {
6
7/** Default nonSM function
8
9 Always returns 1.0. Prints warnings if used with key!=0 */
10double default_nonSM_born(int ID, double S, double cost, int H1, int H2, int key);
11
12/** Default nonSMH function
13
14 Always returns 1.0. Prints warnings if used with key!=0 */
15double default_nonSM_bornH(int ID, double S, double cost, int H1, int H2, int key);
16
17/** nonSM born
18
19 Switches between nonSM born for Z and H depending on 'IfHiggs' flag
20 (global variable of TauSpinner namespace) */
21double nonSM_born(int ID, double S, double cost, int H1, int H2, int key);
22
23/** Set nonSM function
24
25 Set function for user-defined born, including new physics
26 This function must be of format:
27
28 double fun(int ID, double S, double cost, int H1, int H2, int key)
29
30 Where: ID -- 1 for down-type qqbar, 2 for up-type qqbar
31 S -- cm qqbar energy^2
32 cost -- cosTheta (scattering angle of tau- with respect to quark)
33 H1,H2 -- spin state of first, second tau
34 key -- 1 when new effect is added, 0 Standard Model
35
36 If set to NULL, default function will be used. */
37int set_nonSM_born( double (*fun)(int, double, double, int, int, int) );
38
39
40/** Set nonSMH function
41
42 Set function for user-defined born, including new physics
43 This function must be of format:
44
45 double fun(int ID, double S, double cost, int H1, int H2, int key)
46
47 Where: ID -- 0 for glu-glu, 1 for down-type qqbar, 2 for up-type qqbar (may be dummy)
48 S -- cm qqbar energy^2
49 cost -- cosTheta (scattering angle of tau- with respect to gluon/quark)
50 H1,H2 -- spin state of first, second tau
51 key -- 1 when new effect is added, 0 Standard Model
52
53 If set to NULL, default function will be used. */
54int set_nonSM_bornH( double (*fun)(int, double, double, int, int, int) );
55
56
57/** plzap2
58
59 This function calculates probability for the helicity +1 +1 configuration
60 of taus for given Z/gamma transfer and COSTH0 cosine of scattering angle.
61
62 This is the copy of plzap0 using 'nonSM_born' instead
63 of 't_born' when switch for nonSM is turned on. */
64double plzap2(int ide, int idf, double svar, double costhe);
65
66
67/** plweight
68
69 This function calculates ratio of cross section if switch nonSM2
70 contribution is turned on. There are two options possible. One which
71 change costhe distribution only and the one changing x-section as well */
72double plweight(int ide, double svar, double costhe);
73
74
75/** plnorm
76
77 This function calculates ratio of integrated cross section if nonSMN
78 is turned on. We integrate distr over cos-theta, assuming that distr is
79 polynomial of the 4-th order in cos-theta (at most) */
80double plnorm(int ide, double svar);
81
82
83/** Calculate nonSM sig and polarization for Higgs
84
85 Used only if nonSM2=1
86
87 Input: S - virtuality of H (note that S may not be ivariant of tau pair
88 only, extra photons could contribute)
89 tau1,tau2 - tau pair
90 Returns: corrX2, polX2
91 TauSpinner::WTnonSM */
92void nonSMHcorrPol(double S, SimpleParticle &tau1, SimpleParticle &tau2,
93 double *corrX2, double *polX2);
94
95} // namespace TauSpinner
96#endif
double plweight(int ide, double svar, double costhe)
Definition: nonSM.cxx:175
double plzap2(int ide, int idf, double svar, double costhe)
Definition: nonSM.cxx:115
double plnorm(int ide, double svar)
Definition: nonSM.cxx:189
double default_nonSM_bornH(int ID, double S, double cost, int H1, int H2, int key)
Definition: nonSM.cxx:90
void nonSMHcorrPol(double S, SimpleParticle &tau1, SimpleParticle &tau2, double *corrX2, double *polX2)
Definition: nonSM.cxx:216
int set_nonSM_bornH(double(*fun)(int, double, double, int, int, int))
Definition: nonSM.cxx:106
int set_nonSM_born(double(*fun)(int, double, double, int, int, int))
Definition: nonSM.cxx:100
double default_nonSM_born(int ID, double S, double cost, int H1, int H2, int key)
Definition: nonSM.cxx:27
double nonSM_born(int ID, double S, double cost, int H1, int H2, int key)
Definition: nonSM.cxx:20