TauSpinner Namespace Reference

Data Structures

class  Particle
class  SimpleParticle

Functions

double default_nonSM_born (int ID, double S, double cost, int H1, int H2, int key)
double default_nonSM_bornH (int ID, double S, double cost, int H1, int H2, int key)
double nonSM_born (int ID, double S, double cost, int H1, int H2, int key)
void set_nonSM_born (double(*fun)(int, double, double, int, int, int))
void set_nonSM_bornH (double(*fun)(int, double, double, int, int, int))
double plzap2 (int ide, int idf, double svar, double costhe)
double plweight (int ide, double svar, double costhe)
double plnorm (int ide, double svar)
void nonSMHcorrPol (double S, SimpleParticle &tau1, SimpleParticle &tau2, double *corrX2, double *polX2)
double disth_ (double *SVAR, double *COSTHE, int *TA, int *TB)
void initialize_spinner (bool _Ipp, int _Ipol, int _nonSM2, int _nonSMN, double _CMSENE)
void setRelWTnonSM (int _relWTnonSM)
void setHiggsParameters (int jak, double mass, double width, double normalization)
void getHiggsParameters (double *mass, double *width, double *normalization)
void setSpinOfSample (bool _Ipol)
void setNonSMkey (int key)
double getWtNonSM ()
double getWtamplitP ()
double getWtamplitM ()
double getTauSpin ()
double calculateWeightFromParticlesWorHpn (SimpleParticle &W, SimpleParticle &tau, SimpleParticle &nu_tau, vector< SimpleParticle > &tau_daughters)
double calculateWeightFromParticlesH (SimpleParticle &sp_X, SimpleParticle &sp_tau1, SimpleParticle &sp_tau2, vector< SimpleParticle > &sp_tau1_daughters, vector< SimpleParticle > &sp_tau2_daughters)
void prepareKinematicForHH (Particle &tau, Particle &nu_tau, vector< Particle > &tau_daughters, double *phi2, double *theta2)
double * calculateHH (int tau_pdgid, vector< Particle > &tau_daughters, double phi, double theta)
double getLongitudinalPolarization (double S, SimpleParticle &sp_tau, SimpleParticle &sp_nu_tau)
bool channelMatch (vector< Particle > &particles, int p1, int p2=0, int p3=0, int p4=0, int p5=0, int p6=0)
void print (Particle &W, Particle &nu_tau, Particle &tau, vector< Particle > &tau_daughters)
Particlevector_sum (vector< Particle > &x)
void dam4pi_ (int *MNUM, float *PT, float *PN, float *PIM1, float *PIM2, float *PIZ, float *PIPL, float *AMPLIT, float *HH)
void damppk_ (int *MNUM, float *PT, float *PN, float *PIM1, float *PIM2, float *PIPL, float *AMPLIT, float *HH)
void dampry_ (int *ITDKRC, double *XK0DEC, double *XK, double *XA, double *QP, double *XN, double *AMPLIT, double *HV)
void initwk_ (int *IDE, int *IDF, double *SVAR)
double t_born_ (int *MODE, double *SVAR, double *COSTHE, double *TA, double *TB)
double f (double x, int ID, double SS, double cmsene)
double sigborn (int ID, double SS, double costhe)
void setSpinOfSample (int _Ipol)

Variables

const double ELECTRON_MASS = 0.0005111
const double MUON_MASS = 0.105659
const double TAU_MASS = 1.777
double(* nonSM_bornZ )(int, double, double, int, int, int) = default_nonSM_born
double(* nonSM_bornH )(int, double, double, int, int, int) = default_nonSM_bornH
int nonSM2 = 0
int nonSMN = 0
double WTnonSM = 1.0
bool IfHiggs = false
double CMSENE = 7000.0
bool Ipp = true
int Ipol = 1
int relWTnonSM = 1
double Polari = 0.0
double WTamplit = 1
double WTamplitP = 1
double WTamplitM = 1
int IfHsimple = 0
double XMH = 125.0
double XGH = 1.0
double Xnorm = 0.15

Detailed Description

Single particle class with basic methods such as boost, rotation, and angle calculation.

Single particle for user convenience. Just 4-momentum and pdgid.

Wrapper for tauola routines calculating tau polarimetric vector HH. Note that order of input 4-vectors matters and must be prepared accordingly to choice in FORTRAN version of TAUOLA. For details see documentation of old TAUOLA fortran.

Methods available for some decay modes only.


Function Documentation

double * calculateHH ( int  tau_pdgid,
vector< Particle > &  tau_daughters,
double  phi,
double  theta 
)

Calculate polarization vector.

We use FORTRAN metdods to calculate HH. First decide what is the channel. After that, 4-vectors are moved to tau rest frame of tau. Polarimetric vector HH is then rotated using angles phi and theta.

Order of the particles does not matter.

Definition at line 621 of file tau_reweight_lib.cxx.

References channelMatch().

double calculateWeightFromParticlesH ( SimpleParticle &  sp_X,
SimpleParticle &  sp_tau1,
SimpleParticle &  sp_tau2,
vector< SimpleParticle > &  sp_tau1_daughters,
vector< SimpleParticle > &  sp_tau2_daughters 
)

Calculate weights.

Determine decay channel and call polarization calculation function. Function for H

Definition at line 301 of file tau_reweight_lib.cxx.

References calculateHH(), getLongitudinalPolarization(), and prepareKinematicForHH().

double calculateWeightFromParticlesWorHpn ( SimpleParticle &  W,
SimpleParticle &  tau,
SimpleParticle &  nu_tau,
vector< SimpleParticle > &  tau_daughters 
)

Calculate weights.

Determine decay channel and call polarization calculation function. Function for W+/- and H+/-

Definition at line 225 of file tau_reweight_lib.cxx.

References calculateHH(), and prepareKinematicForHH().

bool channelMatch ( vector< Particle > &  particles,
int  p1,
int  p2 = 0,
int  p3 = 0,
int  p4 = 0,
int  p5 = 0,
int  p6 = 0 
)

Check if the list of particles match the list of pdgid

Returns true if 'particles' contain all of the listed pdgid-s. If it does - 'particles' will be rearranged so thath they have the same order as listed pdgid-s.

It is done so the order of particles is the same as the order used by TAUOLA Fortran routines.

Definition at line 1195 of file tau_reweight_lib.cxx.

double default_nonSM_born ( int  ID,
double  S,
double  cost,
int  H1,
int  H2,
int  key 
)

Default nonSM function

Always returns 1.0. Prints warnings if used with key!=0

Definition at line 26 of file nonSM.cxx.

double default_nonSM_bornH ( int  ID,
double  S,
double  cost,
int  H1,
int  H2,
int  key 
)

Default nonSMH function

Always returns 1.0. Prints warnings if used with key!=0

Definition at line 37 of file nonSM.cxx.

double TauSpinner::disth_ ( double *  SVAR,
double *  COSTHE,
int *  TA,
int *  TB 
)

Definition of REAL*8 FUNCTION DISTH(S,T,H1,H2) from disth.f

void getHiggsParameters ( double *  mass,
double *  width,
double *  normalization 
)

Get Higgs mass, width and normalization of Higgs born function

Definition at line 174 of file tau_reweight_lib.cxx.

double getLongitudinalPolarization ( double  S,
SimpleParticle &  sp_tau,
SimpleParticle &  sp_nu_tau 
)

Get Longitudinal polarization

Returns longitudinal polarization in Z/gamma* -> tau+ tau- S: invariant mass of the bozon

Definition at line 1053 of file tau_reweight_lib.cxx.

References plweight(), and plzap2().

double getTauSpin (  ) 

Get tau spin

Used after sample is reweighted to obtain information about tau spin

Definition at line 214 of file tau_reweight_lib.cxx.

double getWtamplitM (  ) 

Get tau- amplitude weight

Definition at line 208 of file tau_reweight_lib.cxx.

double getWtamplitP (  ) 

Get tau+ amplitude weight

Definition at line 207 of file tau_reweight_lib.cxx.

double getWtNonSM (  ) 

Get nonSM weight

Definition at line 200 of file tau_reweight_lib.cxx.

void initialize_spinner ( bool  _Ipp,
int  _Ipol,
int  _nonSM2,
int  _nonSMN,
double  _CMSENE 
)

Initialize TauSpinner

Print info and set global variables

Definition at line 110 of file tau_reweight_lib.cxx.

double nonSM_born ( int  ID,
double  S,
double  cost,
int  H1,
int  H2,
int  key 
)

nonSM born

Switches between nonSM born for Z and H depending on 'IfHiggs' flag (global variable of TauSpinner namespace)

Definition at line 19 of file nonSM.cxx.

void nonSMHcorrPol ( double  S,
SimpleParticle &  tau1,
SimpleParticle &  tau2,
double *  corrX2,
double *  polX2 
)

Calculate nonSM sig and polarization for Higgs

Used only if nonSM2=1

Input: S - virtuality of H (note that S may not be ivariant of tau pair only, extra photons could contribute) tau1,tau2 - tau pair Returns: corrX2, polX2 TauSpinner::WTnonSM

Definition at line 159 of file nonSM.cxx.

double plnorm ( int  ide,
double  svar 
)

plnorm

This function calculates ratio of integrated cross section if nonSMN is turned on. We integrate distr over cos-theta, assuming that distr is polynomial of the 4-th order in cos-theta (at most)

Definition at line 132 of file nonSM.cxx.

References nonSM_born().

double plweight ( int  ide,
double  svar,
double  costhe 
)

plweight

This function calculates ratio of cross section if switch nonSM2 contribution is turned on. There are two options possible. One which change costhe distribution only and the one changing x-section as well

Definition at line 117 of file nonSM.cxx.

References nonSM_born(), and plnorm().

double plzap2 ( int  ide,
int  idf,
double  svar,
double  costhe 
)

plzap2

This function calculates probability for the helicity +1 +1 configuration of taus for given Z/gamma transfer and COSTH0 cosine of scattering angle.

This is the copy of plzap0 using 'nonSM_born' instead of 't_born' when switch for nonSM is turned on.

Definition at line 59 of file nonSM.cxx.

References nonSM_born().

void prepareKinematicForHH ( Particle &  tau,
Particle &  nu_tau,
vector< Particle > &  tau_daughters,
double *  phi2,
double *  theta2 
)

Prepare kinematics for HH calculation

Boost particles to effective bozon rest frame, and rotate them so that tau is on Z axis. Then rotate again with theta2 phi2 so neutrino from tau decay is along Z.

Definition at line 541 of file tau_reweight_lib.cxx.

void print ( Particle &  W,
Particle &  nu_tau,
Particle &  tau,
vector< Particle > &  tau_daughters 
)

Prints out two vertices: W -> tau, nu_tau tau -> tau_daughters

Definition at line 1263 of file tau_reweight_lib.cxx.

References vector_sum().

void set_nonSM_born ( double(*)(int, double, double, int, int, int)  fun  ) 

Set nonSM function

Set function for user-defined born, including new physics This function must be of format:

double fun(int ID, double S, double cost, int H1, int H2, int key)

Where: ID -- 1 for down-type qqbar, 2 for up-type qqbar S -- cm qqbar energy^2 cost -- cosTheta (scattering angle of tau- with respect to quark) H1,H2 -- spin state of first, second tau key -- 1 when new effect is added, 0 Standard Model

If set to NULL, default function will be used.

Definition at line 47 of file nonSM.cxx.

References default_nonSM_born().

void set_nonSM_bornH ( double(*)(int, double, double, int, int, int)  fun  ) 

Set nonSMH function

Set function for user-defined born, including new physics This function must be of format:

double fun(int ID, double S, double cost, int H1, int H2, int key)

Where: ID -- 0 for glu-glu, 1 for down-type qqbar, 2 for up-type qqbar (may be dummy) S -- cm qqbar energy^2 cost -- cosTheta (scattering angle of tau- with respect to gluon/quark) H1,H2 -- spin state of first, second tau key -- 1 when new effect is added, 0 Standard Model

If set to NULL, default function will be used.

Definition at line 53 of file nonSM.cxx.

References default_nonSM_bornH().

void setHiggsParameters ( int  jak,
double  mass,
double  width,
double  normalization 
)

activates simple formula and set Higgs mass, width and normalization for Higgs born (BW) function

Definition at line 163 of file tau_reweight_lib.cxx.

void setNonSMkey ( int  key  ) 

Turn calculation of nonSM on/off

Definition at line 192 of file tau_reweight_lib.cxx.

void setRelWTnonSM ( int  _relWTnonSM  ) 

Set flag for calculating relative(NONSM-SM)/absolute weight for X-section calculated as by product in longitudinal polarization method.

Definition at line 154 of file tau_reweight_lib.cxx.

void TauSpinner::setSpinOfSample ( bool  _Ipol  ) 

Set spin of sample

Particle * vector_sum ( vector< Particle > &  x  ) 

Sums all 4-vectors of the particles on the list

Definition at line 1297 of file tau_reweight_lib.cxx.

Generated on Sun Oct 20 20:24:18 2013 for C++InterfacetoTauola by  doxygen 1.6.3