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
