FTPC Tracker

Using the spatial position of the hits, provided by the FTPC-Fast-Simulator (ffs), the tracker (FTPC-Tracker, fpt) groups hits together, claiming that they belong to the track of just one single primary particle. The way the the tracker does this is a sophisticated one: projecting the hits of all hit-planes (resp. pad-planes) into the z=0-plane, the tracker tries to ''string'' hits onto a circle-line, assuming the primary-vertex as the origin of the track (primary constraint). The information of the z-position of each hit is still there: the angles between the lines from the circle-center to the hits and the vertex give information on the z-positions. The rejection of hits and the way of choosing hits, which will be grouped together to a reconstructed track is a non-trivial game; but it will become clear in the next chapter.


The two input-tables, which are used by the tracker, are the output-table of the FTPC-(fast)-simulator (fcl_fppoint) and a parameter table, which is called fpt_fptpar, whose values are set ''by hand'' making use of a KUIP macro.

In the main tracking routine of the tracker five differnt subroutines are called. Their names are in the blue colored boxes in the above picture. The subroutine fpt_init mainly reads in the values from the table fpt_fptpar and passe the respective values to a common-block called tracking-param.

Afterwards the subroutine fpt_tag is called, where each hit is tagged with a value of the variable nrow(padplane, number of the resp. hit of this padplane). It is worthwhile to keep this in mind, because this will be the common way to denote the hits in the following steps.

The next subroutine, fpt_find_first_last_planes, is a remnant of the early days of the FTPC tracker: it evaluates out of the z-positions of the hits the position of the padrows closest and farest apart from the primary vertex on each side. Once the mechanical design of the FTPCs is final, these values can be hard-wired. It is also possible, to set the values by using the fpt_fptpar table.

Now the ''core'' of the program is reached: the subroutine ftpc_trackfinder will sort out the hits from secondaries, select the hits from primaries and will group them together to reconstructed tracks. Calling the padrow(s) closest to the primary vertex first padrow(s) and the one(s) farest apart last padrow(s), three different cases can occur: (1) a primary track can be registered by the first and the last padrow. (2) a primary track can be registered by the first but not by the last padrow. (3) a primary track can be registered by the last but not by the first padrow. The cases (1) and (2) are treated by the subroutine fpt_forward_part; case (3) is treated by the subroutine fpt_back_part. To find the hits between the two considered padrows, in both cases the subroutine find_track_hits is called. Actually find_track_hits is already called earlier, viz. for deciding, if the first two hits belong to the same track.

The last subroutine (ftpc_filltable) is supposed to fill the output-table fpt_fptrack. In this table the tracking information as well as information from GSTAR and the FTPC-simulator is stored for further analysis. The table diag_cortr is filled successively in different subroutines. There information of the correctly reconstructed tracks is stored in order to optimize the tracking parameters.



Michael Konrad
8/11/1997