C++ Track Finding/Fitting Routines for
Test Beam 2003 Data
We have developed a set cathode track finding and fitting routines for analyzing the 2003 test beam data. The routines reproduce the resolution for CSC cathode strips obtained in previous CMS CSC test beams. This is remarkable in that no gain or cross talk constants were used in the analysis. Below I describe the procedure used. The code is available at TrackFnd.tar.
The charge in a strip will be denote as
where X=L,M,R (left,
middle, right) and T (nanoseconds) corresponds to the time bin with respect to
the maximum charge time bin. Nine bins will be used in this analysis:

The largest charge deposition corresponds to
.
The standard method of subtracting off the first two time samples was employed.
Cross talk is a strong function of the exact time of peak
charge, ts, within the time bin
with the largest charge deposit. To find this the three charge deposits
were fit to a 5-pole
semi-gaussian expected from the buckeye shaping:
![]()
The peaking time was fixed to 133 nanoseconds. The fit was a simple chi-squared minimization.
To determine the cross talk the data was broken into bins in ts. A chi-square fit of the L,M,R charge depositions as a function of distance from a fit track (a smeared gatti distribution) was then performed.
In the first plot is plotted
versus ts for track
hits that passed within 1mm of the center of the strip. The red corresponds to
T= -50 nsec, the black to the largest deposit T=0 nsec, and the blue to T=50
nsec. A clear correlation is observed. There is large cross talk in the red
region and nearly no cross talk at all in the blue region. This is consistent
with the capacitative+slightly resistive coupling between adjacent strips.
In the second plot is shown fits to the smeared gatti distribution as a function of ts. The black gatti curve corresponds to the earliest ts bin while the red gatti curve corresponds to the latest ts bin. The fit lines are drawn through the curves.
The last plot displays the cross talk vs ts curve obtained from the fitting. Since the cross talk is capacitive it can be negative.
Once the cross talk is known, one only needs to know the gatti h parameter to perform this fit. For ME2,3/2 the h parameter should be h=0.475. For some unknown reason h=0.490 seem to fit the distributions better. Since the strip with varies as a function of radius along the strip this must be accounted for. It is most convenient to work in coordinates of strip with rather than meters. The h parameter input into the gatti function to convert to strip widths is:
![]()
where xa is the anode wire group the track passed through.
I have performed a chi-square fit to the 9 charges as a function of three normalization constants (one for each sample), and the hit position y leaving 5 degrees of freedom.

The fit uses fully correlated errors (see section below). A fully correlated systematic error of 0.008 times the charge deposit was included in the fit to yield a chi-square independent of the total charge deposit. A plot of the resulting gatti-fit chi-square for 5 degrees of freedom can be found here.
The peak charge distributions for the test beam tracks were located in time bins 4 and 5 (counting from 0). I have measure the noise correlation coefficients for time bins 3,4,5, and 6. As before this data was pedestal subtracted using bins 0 and 1. The data is shown below(in counts) and histograms of the covariances can be found here:
|
|
Q3 |
Q4 |
Q5 |
Q6 |
|
Q3 |
16.35 |
- |
- |
- |
|
Q4 |
8.81 |
13.96 |
- |
- |
|
Q5 |
4.85 |
6.93 |
12.36 |
|
|
Q6 |
4.57 |
4.21 |
6.34 |
12.18 |
It is seen that the correlation coefficients are rather large. These are included in the correlated fit to the gatti distribution.
I have also measured the noise correlation coefficients between adjacent bins shown in the table below and histograms of the covariances can be found here:
|
|
Q3 |
Q4 |
Q5 |
Q6 |
|
Q’3 |
1.07 |
.56 |
.69 |
.51 |
|
Q’4 |
.19 |
.14 |
-.28 |
.92 |
|
Q’5 |
.70 |
-.19 |
-.39 |
-.33 |
|
Q’6 |
.46 |
.84 |
-.44 |
-.33 |
These coefficients are small and thus have been ignored in the gatti fits.
The final coordinates were then calculated for each layer as:
x = layer #
y = strip # + offset + y(gatti from above)
The offset position for the planes was fit and found to be(in strip units):
-0.002,-0.493,-0.005,-0.496,-0.001,-0.499
Thus the layers are fit to have less than ~70 micrometers displacement.
A Calman Filter was used to find the tracks for both anode and cathode planes. Initial track roads were set very loose to assure high track finding efficiency. I
A least squares fit was performed on these coordinates. The errors output by the gatti coordinate procedure (above) were used in the fit. Hits several sigma off of the fit line were removed. This amounted to about a 15% loss of hits along tracks. Fitting for the slope and angle yields 3,2, and 1 degrees of freedom for 6,5, and 4 planes hit respectively. The chi-squares for the track fits can be found here. The fitted chi-squares are seen to agree well with the expected chi-square curves.
Click on the following link to get 50 fit tracks (event_plts.pdf). In these plots a red circle indicates the point was used in the least squares fit.
The results are for RUN000851 and the first chamber.
To find the resolution a track was fit excluding the plane being used. Using the least squares fit results one can calculate the expected resolution of the track at each plane. If this is small then the residual is just the hit minus the track position. Unfortunately this is large except for the central two planes. Show in these two plots is the fit track resolution expected at each plane. The first histogram show the track uncertainty at a function of plane. Red corresponds to planes 0 and 5, blue to planes 1 and 4, and black to planes 2 and 3. Clearly only in the middle two planes is the accuracy good enough to extract meaningful plane residuals. The second histogram is the same histogram averaged over planes for 5 plane tracks (black), 4 plane tracks(red), and 3 plane tracks (blue). Once again it is seen that one needs all planes in the fit.
Thus looking at only planes 2 and 3 I extracted the chamber resolution. The results are similar to previous test beam results. Show in the following plots are the results. Plot one shows a scatter plot of residual versus position in the chamber. At the center of the strip the position resolution is poor, and it gets much better toward the edge of the strips. Binning this resolution in position and determining the resolution in each bin yields the second plot. Here the track uncertainty has been removed in quadrature.
Lastly the resulting position resolutions are well predicted by the errors from the gatti fitting position. Show in the following plot is these errors versus position in the strip. Qualitatively these agree well with the previous plot.
Clearly at some point constants for gain and cross talk need to be added to this analysis. These are expected to be small. Cross talk is a second order effect and constant corrections are expected to be small. Gain variations have been measured to be <1% within a given Buckeye Chip.
We did not fit the cross talk as a function of chamber position. The test beam data was all taken at a fixed wire position within the chamber. The variation of cross talk as a function of strip width will have to be studied in the future.
Lastly geometry constants will have to be added for given chambers. Even without these refinements these trackfinding and fitting routines reach the best position resolution of previous fitting attempts.