Privacy and Security Notice

dummy_targ

Simulation of the dummy target 03/18/06


The dummy target needs to be simulated for the purpose of obtaining transparency with aluminum.  It will not be used for dummy subtraction.

Previous results for aluminum were simulated with the thickness of aluminum all placed at the same position as the z=0 target (at z=0.23cm downstream).  This was changed so that the dummy was at +/- 2cm and the thickness of each foil was halved from the total thickness.


Below is a description of how this was accomplished with SIMC.

A new global variable, integer
ben_side was defined.  ben_side = -1 for the upstream foil and +1 for the downstream foil.

This variable was initialized in dbase.f/dbase_read()
!added for pionct 3/17/06 for the purpose of simulating the dummy target
    ben_side = 0


Then in event.f/generate(), the ben_side variable was determined by which half of the target the event was generated.
!added for pionct 3/18/06 to simulate the dummy targ
    ben_rnd    = 0.5-grnd()       
    if (ben_rnd .lt. 0.0 ) then
       ben_side = -1.0   ! upstream foil of the dummy target
    else
       ben_side = 1.0  ! downstream foil of the dummy target
    endif
    main.target.z = ben_rnd*targ.length+targ.zoffset


The shift of +/- 2cm based on which half of the target the event was generated was made in simc.f/montecarlo()
!added for pionct 3/17/06 for the purpose of simulating the dummy target
    ben_zdummy = main.target.z
    if (abs(targ.Z-13.0) .lt. 0.1) then !dummy target
       if (ben_side .eq. -1) then
          ben_zdummy = main.target.z - 2.0 !upstream foil
       else if (ben_side .eq. 1) then
          ben_zdummy = main.target.z + 2.0 !downstream foil
       endif
    endif
    ben_side = 0

The variable ben_zdummy was then used as the z position of the event that is then transported in each spectrometer
      y_P_arm = -main.target.x*spec.p.cos_th - ben_zdummy*spec.p.sin_th*sin(spec.p.phi)
      z_P_arm =  ben_zdummy*spec.p.cos_th + main.target.x*spec.p.sin_th*sin(spec.p.phi)
and
      y_E_arm = -main.target.x*spec.e.cos_th - ben_zdummy*spec.e.sin_th*sin(spec.e.phi)
      z_E_arm =  ben_zdummy*spec.e.cos_th + main.target.x*spec.e.sin_th*sin(spec.e.phi)


The energy loss correction assumes that the particle was generated in the center of the target (ie passes through exactly one foil of the dummy target).  This does not need to be changed, because the same assumption is made in the analyzer. 

Here is how ssytar looks with the dummy target and the SOS at 28.85 deg