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) |
Particle * | vector_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 |
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.
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 | |||
) |
double default_nonSM_bornH | ( | int | ID, | |
double | S, | |||
double | cost, | |||
int | H1, | |||
int | H2, | |||
int | key | |||
) |
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)
void nonSMHcorrPol | ( | double | S, | |
SimpleParticle & | tau1, | |||
SimpleParticle & | tau2, | |||
double * | corrX2, | |||
double * | polX2 | |||
) |
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.