A package is available which performs an electron/photon separation in topologies where they are isolated and highly energetic (E>10 GeV), in the polar angular region covered by EMF and HPC calorimeters, looking at VD hits or VFT space points along the trajectory between the beam spot and the electromagnetic shower position, taking into account the B field bending.
Last update July 20, 2000
In this version, which superseed the old one, the functions ACOS and ATAN are used instead of ACOSD and ATAND, to assure Linux compatibility of the code.
CALL VDIDST CALL VFIDSTand inside the event loop the calls:
CALL VDALUN(LUN) CALL VDRDST LUNM=31 LUNP=32 CALL VFALIN(LUNM,LUNP) CALL VFRDST(LUNHOT)LUN and LUNHOT are dummy integer arguments.
CALL SIVETO(THETA,PHI,ENE,IBS,VDGAM,NHI,IPAT,IRVF,IZVF,IRVD).
THETA and PHI are the polar and azimuthal angles given in radians
and according to DELPHI conventions (0<THETA<PI and 0<PHI<2PI).
In principle they can be any direction, but obviously
the routine is meant to have as input the direction of a HPC/EMF shower
or cluster of showers of total energy ENE given in GeV.
The helix trajectories (one for each charge sign) passing through the
beam spot and shower position at calorimeter surface
are used, as well as a straight line extrapolation, to look for VD-VFT
hits confirmation, as is shown in the figure
here.
The input directions given to the routine should be
corrected for the beam spot position. For example, the directions taken
from QHPC or QEMF vectors in the skelana common refers to DELPHI origin,
so the real direction of the primary particle must be calculated from
the beam spot position and the HPC radius or EMF surface position.
If you don't apply this correction already in your code, the routine
can do it for you setting then input variable IBS=1
The output logical variable VDGAM is set .FALSE. if there are:
OR
The output variable NHI gives the total number of hits satisfying the cuts written above.
The output variables IPAT and IRVF,IZVF and IRVD give the hits pattern
and Rphi and Z
residuals bitted in a way described in the code.
+use,p=vdkeep. +use,p=vdkeep,d=vdblck,t=i. +pam,11,t=a,c,r=vdkeep. vdkeep.car % +use,p=vfkeep. +pam,11,t=a,c,r=vfkeep. vfkeep.car % +use,p=sitcom,t=e. +use,p=siveto,d=siveto,t=e. +pam,11,t=a,c,if=unix. siveto_v06.carand you must load the VFCLAP library. In addition, since several routines rely on VDCLAP variables, the user has to load VDCLAP library too.
all the results refers to events passing cuts similar to the selection A of Method 2 extended down to 10° and without the VD-VFT hit requirement. This selection is essentially based on the following cuts:
For the polar angle region above 40° the events were required to pass also the selection B of Method 2, which is based on charged tracks (with TPC) only (of course this is not applied to the photon efficiency plots). This suppress the background from QED events with two photons in the final state which were selected from the "modified" selection A based on calorimeters only. The global selected sample includes ~1% of QED events with two photons in the final state for theta < 25° and ~4% for 25° < theta < 40°.
Last update July 20, 2000