####################################################################
## ##
## Matrix Element ##
## ============== ##
## ##
## Generate the transfer functions ##
## ------------------------------- ##
## ##
## ##
## Authors: Mattelaer Olivier (UCL-CP3/ROMA3-INFN) ##
## Artoisenet Pierre (OHIO) ##
## ##
## Version: 2.0.0 ##
## Last change: 22/09/09 ##
## ##
##########################################################################
##########################################################################
## ##
## ##
## Instructions: ##
## ##
## - This program creates transfer functions in THETA/PHI/E ##
## - Those functions must be defined in f77 standard ##
## - In addition to each transfer function(START_TF), you MUST give##
## the typical width associated to your function (START_WIDTH) ##
## - If a transfer functions is not defined here it will by default##
## - equals to one for neutrino/neutralino ##
## - a delta functions for the rest ##
##########################################################################
## ##
## Syntax/variables: ##
## ##
## - a definition for transfer functions should define the variable tf ##
## while a definition for the width shoud define the variable width ##
## - You can use all standard f77 functions. (All variables are ##
## in double precision format). ##
## - The experimental event is defined by the variable pexp(i) ##
## i=0->3 (0->E,1->Px,2->Py,3->Pz) ##
## - The partonic event is defined by the variable p(i) ##
## i=0->3 (0->E,1->Px,2->Py,3->Pz) ##
## sigma can not depend on those variables ##
## - You can use 10 local variables ##
## (double precision): prov1,prov2,...,prov10 ##
## - You can call specific functions on p or pexp: ##
## -pt(p) : transverse momenta ##
## -eta(p) : pseudo-rapidity ##
## -rap(p) : rapidity ##
## -theta(p): polar angle ##
## -phi(p) : azimuthal angle ##
## - The whole LHCO information is available. ##
## -run_number,trigger ##
## -eta_init(N),phi_init(N),pt_init(N) ##
## -j_mass(N),ntrk(N),btag(N),had_em(N) ##
## -dummy1(N),dummy2(N) ##
## N is the LHCO tag(first column) ##
## - current tag is n_lhco ##
## - tag for missing ET is met_lhco ##
## ##
## - You can incorporate parameters that will be passed through ##
## the transfert_card.dat. Those ones must have the ##
## following syntax: #1,#2,#3,.. You can restart ##
## the assignement for each different transfer function ##
## - In addition to each transfer function(tf_), you MUST give ##
## the typical width associated to your function (sigma_) ##
## This is needed for the phase space generator ##
## ##
##########################################################################
##########################################################################
##**********************************************************************##
## TF MUON ##
##**********************************************************************##
## here we want to put everything in delta. As this is the default,
## there is nothing to do
##**********************************************************************##
## TF ELECTRON ##
##**********************************************************************##
## define simple gaussian for energy and delta for THETA/PHI
define simple gaussian for energy and delta for THETA/PHI
# "info" block will provide information in the generated transfer_card.dat
e
# "particles block define for which particle this transfer function
# will be used. the input in this block must be label in
# particles.dat (or special tag as x1,x2,met)
thin
# "width_type" could be large or thin. thin is for acurate resolution
# on the Energy of the particles (up to 5-10%)
c additional variable to add if default are not enough
integer k ! not use but for the example!
# Three name are available E/THETA/PHI
prov1=(#1*pexp(0)) ! biais of the gaussian (proportional to the energy)
prov2=(#2*pexp(0)) ! sigma of the gaussian (proportional to the energy)
c
c secondly we define the transfer function
c
tf=1d0/dsqrt(2d0*pi)/prov2*exp(-(p(0)-pexp(0)-prov1)**2/2d0/prov2**2) !first gaussian
# this block defines the transfer function in fortran
width=prov2
# this block defines the typical width of the transfer functions
# in this case THETA/PHI are not defined because they are considered
# in delta (=default)
##**********************************************************************##
## TF JET ##
##**********************************************************************##
## define binned simple gaussian for energy
## simple guassian for THETA
## delta for PHI variable
Transfer function for jet.
Energy TF is split in two eta region (one gaussian on each)
THETA TF is a simple gaussian
PHI is in delta mode.
Each parameter is proportional to the energy
# "info" block will provide information in the generated transfer_card.dat
u,d,s,c,b,g
# "particles block define for which particle this transfer function
# will be used. the input in this block must be label in
# particles.dat (or special tag as x1,x2,met)
thin
# "width_type" could be large or thin. thin is for acurate resolution
# on the Energy of the particles (up to 5-10%)
IF (eta(pexp).le.2.5d0)THEN
prov1=(#1*pexp(0)) ! biais of the gaussian (proportional to the energy)
prov2=(#2*pexp(0)) ! sigma of the gaussian (proportional to the energy)
ELSE
prov1=(#3*pexp(0)) ! biais of the gaussian (proportional to the energy)
prov2=(#4*pexp(0)) ! sigma of the gaussian (proportional to the energy)
ENDIF
c
c secondly we define the transfer function
c
tf=1d0/dsqrt(2d0*pi)/prov2*exp(-(p(0)-pexp(0)-prov1)**2/2d0/prov2**2) !first gaussian
width=prov2
#pass to theta
prov1=(#1*pexp(0)) ! biais of the gaussian (proportional to the energy)
prov2=(#2*pexp(0)) ! sigma of the gaussian (proportional to the energy)
c
c secondly we define the transfer function
c
tf=1d0/dsqrt(2d0*pi)/prov2*exp(-(p(0)-pexp(0)-prov1)**2/2d0/prov2**2) !first gaussian
width=prov2
#phi is in delta -> nothing to write