#################################################################### ## ## ## 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