nonSM.h

00001 #ifndef _TAU_SPINNER_NONSM_H_
00002 #define _TAU_SPINNER_NONSM_H_
00003 #include "tau_reweight_lib.h"
00004 
00005 namespace TauSpinner {
00006 
00007 /** Default nonSM function
00008 
00009     Always returns 1.0. Prints warnings if used with key!=0 */
00010 double default_nonSM_born(int ID, double S, double cost, int H1, int H2, int key);
00011 
00012 /** Default nonSMH function
00013 
00014     Always returns 1.0. Prints warnings if used with key!=0 */
00015 double default_nonSM_bornH(int ID, double S, double cost, int H1, int H2, int key);
00016 
00017 /** nonSM born
00018 
00019     Switches between nonSM born for Z and H depending on 'IfHiggs' flag
00020     (global variable of TauSpinner namespace) */
00021 double nonSM_born(int ID, double S, double cost, int H1, int H2, int key);
00022 
00023 /** Set nonSM function
00024 
00025     Set function for user-defined  born, including new physics
00026     This function must be of format:
00027 
00028     double fun(int ID, double S, double cost, int H1, int H2, int key)
00029 
00030     Where: ID    -- 1 for down-type qqbar, 2 for up-type qqbar
00031            S     -- cm qqbar energy^2
00032            cost  -- cosTheta (scattering angle of tau- with respect to quark)
00033            H1,H2 -- spin state of first, second tau 
00034            key   -- 1 when new effect is added, 0  Standard Model 
00035 
00036     If set to NULL, default function will be used.      */
00037 void set_nonSM_born( double (*fun)(int, double, double, int, int, int) );
00038 
00039 
00040 /** Set nonSMH function
00041 
00042     Set function for user-defined  born, including new physics
00043     This function must be of format:
00044 
00045     double fun(int ID, double S, double cost, int H1, int H2, int key)
00046 
00047     Where: ID    -- 0 for glu-glu, 1 for down-type qqbar, 2 for up-type qqbar (may be dummy)
00048            S     -- cm qqbar energy^2
00049            cost  -- cosTheta (scattering angle of tau- with respect to gluon/quark)
00050            H1,H2 -- spin state of first, second tau 
00051            key   -- 1 when new effect is added, 0  Standard Model 
00052 
00053     If set to NULL, default function will be used.      */
00054 void set_nonSM_bornH( double (*fun)(int, double, double, int, int, int) );
00055 
00056 
00057 /** plzap2
00058 
00059     This function calculates probability for the helicity +1 +1 configuration
00060     of taus for given Z/gamma transfer and COSTH0 cosine of scattering angle.
00061   
00062     This is the copy of plzap0 using 'nonSM_born' instead
00063     of 't_born' when switch for nonSM is turned on. */
00064 double plzap2(int ide, int idf, double svar, double costhe);
00065 
00066 
00067 /** plweight
00068 
00069     This function calculates ratio of cross section if switch  nonSM2
00070     contribution is turned on. There are two options possible. One which
00071     change costhe distribution only and the one changing x-section as well */
00072 double plweight(int ide, double svar, double costhe);
00073 
00074 
00075 /** plnorm
00076 
00077     This function calculates ratio of integrated cross section if nonSMN
00078     is turned on. We integrate distr over cos-theta, assuming that distr is
00079     polynomial of the 4-th order in cos-theta (at most) */
00080 double plnorm(int ide, double svar);
00081 
00082 
00083 /** Calculate nonSM sig and polarization for Higgs
00084 
00085    Used only if nonSM2=1
00086 
00087    Input:   S - virtuality of H (note that S may not be ivariant of tau pair
00088                                  only, extra photons could contribute)
00089             tau1,tau2 - tau pair
00090    Returns: corrX2, polX2
00091             TauSpinner::WTnonSM */
00092 void nonSMHcorrPol(double S, SimpleParticle &tau1, SimpleParticle &tau2,
00093                    double *corrX2, double *polX2);
00094 
00095 } // namespace TauSpinner
00096 #endif
Generated on Sun Oct 20 20:24:09 2013 for C++InterfacetoTauola by  doxygen 1.6.3