Procedures for begin-of-run calibration.
Minimum calibration to get tracking
working well:
Open up tracking cuts (step
8).
Analyze ~2k events.
Set hardware windows (steps 1 and 2
below) and set pedestals (step 3).
Reanalyze ~5k events. Determine
drift chamber time offsets (step 4).
Reanalyze >20k events. Generate time to
distance map (step 5).
Reanalyze ~10k events. Check detector positions
(step 6)
To check that everything is working
well:
Make sure drift time spectrum is nearly flat
Make sure that the drift chamber residuals are good.
For improved timing/tracking:
Reanalyze with MANY
events (>20k, 100k for full fitting (including pulse height corrections).
Fit hodoscope timing parameters and/or set tracking cuts
(steps 7/8).
step 1> Set scintillator
TDC window: (requires ~2k events -
htime.kumac)
hstart_time_center
and hstart_time_slop define a window
for "real" scintillator hits.
Set the slop to a
very large number (~50) and look at the hscintimes
histogram to decide on a good central value.
The cut should be loose to avoid throwing out good events
(it only needs to be tightened for detailed tracking studies).
step 2> Set drift
chamber TDC window: (requires ~2k events - htime.kumac)
hdc_tdc_min_win and
hdc_tdc_max_win
define the window for good drift chamber TDC values.
Look at the 'hdc raw tdcs'
histogram to determine the TDC window. This should be large
enough to
include ALL events
that are near the main peak, to avoid throwing out good events.
The cut usually only needs to be tightened for detailed
efficiency tests.
step 3> Set pedestals:
(requires ~2k events - hrawscin.kumac,
hcal.kumac)
hcal.param and hscin.param
have pedestal values for each TDC.
The histogram hcalsumadc
shows the calorimeter ADC values for ALL
events (no cut on pedestal vs. real hits).
The pedestal values should be peaked at zero and fairly
narrow. The scintillator ADC histograms show the ADCs for events in
which the TDC did not fire. The peaks should be centered
at zero. In some cases the pedestals are quite wide, but they should
be similar for all planes, and not have multiple peaks.
If you need to update the pedestals, you can look in the file 'peds.all'
which have
calculated values for the pedestal for the most recent
analysis.
NOTE: for the calorimeter, hits that should be
pedestals are determined using tracking, so these vaules are only going
to be
OK if the tracking is working. The scintillators use
a TDC cut to see if the ADC is a pedestal or not.
step 4> Determine
drift chamber time offsets: (~5k events - hdtime,hdist)
hdc_plane_time_zero
(1 per plane) is used to determine the 'zero' for the drift time. Look
at the dtime histograms and change
the
hdc_plane_time_zero
values so the the drift time spectrum start somewhere around t=0
(t=0 should be where the leading edge is
about 20% of the peak). You should be able to get them
all fairly close with the same value of hdc_plane_time_zero.
step 5> Generate
time-to-distance maps for the drift chamber: (>20k events) execute
hdrift.kumac
for a high statistics run
(you must execute [run].kumac
first, to define the histogram aliases). This will create the file hms.driftmap.
The values from this
must be pasted into hdriftmap.param.
The driftmap values always go from 0.000 to 1.000, but you should make
sure that the values
are not changing significantly at the beginning or end
of the tabulated values. If they are, you may need to readjust
hdc_plane_time_zero (step
4) in order to better center the distribution within the drift
map time window.
step 6> Determine
detector positions: (~10k events - hpos.kumac)
The 'dpos' histograms
show the difference between the track position and the center of the detector
elements for each plane
(summed over all counters in the plane). The first two
scintillator planes should have fairly clear edges. The later detector
elements have
longer tails because of the multiple scattering in previous
detectors. The signs are such that increasing the position in the parameter
files will move the dpos to a hight value. The calorimeter
xpositions
have to be changed for each block individually. Each scintillator
plane has an offset value, that is added to the nominal
positions for each element.
step 7> Fit time
of flight parameters: (>20k events)
Requires external code (TOF
calibration). Note, that the tracking and scintillator pedestals
must be
in good shape before you can fit the tof parameters.
NOTE: any change in the timing will have some effect
on the drift chamber drift distances. If you change the timing in any way,
you should
check that the drift distance histograms look good. If
not, you need to adjust the hdc_time_zero
parameters and/or the driftmap (steps
3 and 4
above). Most timing changes only affect the offset, so it usually not necessary
to redo the drift map once you adjust the
time zero properly.
step 8> Set cleantrack
cuts:
there are several cuts for defining good tracks. The
parameters are in htracking.param.
There is a chisquared cut, a beta cut,
a calorimeter cut, and a dedx cut (scintillator ADC's).
Initially, these should be WIDE OPEN
(e.g. -100000 to 100000). If you want
to require that the particle hit the scintillators (calorimeter),
you should modify the cut to exclude zero (e.g. .001 to 100000).
This ensures that the track points at the scintillators
(or Pb glass blocks) that fired, but does not rely on good particle ID.