Pure Java Track Fitter


We have developed a demonstration track fitting code in Java, that efficiently finds and fits tracks with Pt > 1 GeV in the CMS tracker. The code identifies good tracks at a rate of ~ 1 per second, for a total set of ~3000 digitisings in the tracker. This compares favourably with the C++/Fortran Kalman Filter code we use in our production reconstruction code (which also operates at about 1 track per second, but which is a considerably more compute intensive procedure).


The image below shows a single di-jet event in the CMS calorimeter, with the reconstructed tracks from the Kalman Filter in white/grey, and the reconstructed tracks from the Java fitter in orange. We have tested both codes on simulated single muon event samples at energies of 1, 2, 5, 20 and 50 GeV. Single track finding efficiencies for both codes on these events is excellent (a high statistics study is planned).

JavaFitter1.jpg (91618 bytes)

In the event shown, there are 27 tracks found by the Kalman Filter, and 58 found by the Java fitter.

Fitting technique

Note that, unlike the Kalman Filter method, this fitting procedure does not give the covariance matrix for the fitted track parameters, nor does it take into account multiple scattering in the detector, not does it use all points on the track in the final fit. These deficiencies will be addressed in further work.

Further Work

Using this fitter as a basis, we intend to develope a full Kalman Filter fitter in Java. This will be fully integrated in our JavaCMS event viewing applet, allowing the user to interactively refit existing tracks, or fit new tracks. The new fitter will also be integated in a completely Java-based reconstruction tool we are developing for our CMSOO database. Work will start in early 1999.