TkrRecon ROOT Data
Introduction

Complete listing of all access methods

How To Obtain TkrRecon

TkrGamma

Locators

Tracks

SiClusters

Introduction

This is an  exaplanation of the TkrRecon data as it is currently in use for the PDR, balloon (BFEM), beam test (BTEM).  For a nice introduction to the Tracker Reconstruction, please see this talk by Leon Rochester.  Here are some definitions provided in Leon's document:
track - connected set of hits in one view (meaning X or Y - this is 2-d)
particle - an associated set of X and Y tracks.
gamma - an association of one or two particles, with a vertex.

How To Obtain TkrRecon

Once you have a Recon object, you can obtain the TkrRecon data as follows:
TkrRecon *tkrRec = recon->getTkrRecon( );

TkrGamma

TkrGamma *gamma = tkrRec->getGamma( );

Currently, at most only one gamma is determined by the tracker reconstruction - hence there will be no more than one reconstructed gamma stored in the ROOT file.

The TkrGamma consists of a list of tracks associated with the reconstructed gamma and a list of locators.  

The tracks correspond to the 1 or 2 particles associated with the gamma.  Please remember, that the tracks are 2-D, each track corresponds to a particular view:  either X or Y.  To obtain the list of tracks associated with the TkrGamma:
TObjArray tracks = gamma->getTracks( );
For more information about tracks, please see below in the Tracks section.

The locators provide slope and positions along the reconstructed gamma.  The class that stores the locator information is called TkrLocatorOne TkrLocator is provided, corresponding to the vertex.  To obtain the locator do:
TObjArrray loc = gamma->getLocator( );
For more information about locators, please see the Locator section.

Locators

The locators are of class TkrLocator.  They store the position and direction information about the tracks.  

To obtain the position:
TkrLocator::getPosition( );
Please note that currently positions are reported in centimeters.

To obtain the direction:
TkrLocator::getDirection( );
returns a 2 element vector.

Tracks

The TkrRecon ROOT class also stores a list of tracks, of class TkrTrack, found by the tracker reconstruction.  Each TkrTrack corresponds to one view, a 2-D track, either X or Y.  

Each TkrTrack has an id number associated with it.
track->getId( );
Due to the way that the ROOT data is filled by the reconstruction routines, the even numbered tracks are X view and the odd numbered tracks are Y view.  So..track ids 0 and 1 are X and Y tracks respectively, and are associated.  Similarly, tracks 2 and 3 are X and Y tracks, and are associated.

The tracks associated with the reconstructed gamma, will have a flag set denoting that its "mother" is a gamma.
track->getMother( );
which will return one of the following:
GAMMA = 0, ELECTRON = 1
So, if getMother( ) returns zero, the track is associated with the reconstructed gamma.  At this time, the only flags used are GAMMA and ELECTRON.

Determining the list of reconstructed particles..
Given the information about the mother of the track and the ids, we can determine the list of particles found by the tracker reconstruction.  The TkrTracks associated with the gamma  are stored first in the list of tracks.  Then the rest of the tracks are the X and Y tracks of the particles found by the tracker reconstruction, where the Y track is stored first followed by the corresponding Y track.

One can tell which view a TkrTrack has, by checking the view of one of the TkrHits associated with the TkrTrack:
Suppose you have a TkrTrack object:
TkrTrack *myTrack;
((TkrHit*)(myTrack->getHits()->At(0)))->getSiCluster()->getXY()
where 0 denotes an X view and 1 denotes a Y view
yes..it is convoluted...

Each TkrTrack has a list of TkrLocators associated with it - just like the TkrGamma had a list of locators.  This list has only one element in it.  Each TkrTrack also has a list of hits associated with it.  Each hit, TkrHit, has a TkrLocator associated with it.  So if you are interested in every wiggle corresponding to the track, you can sift through the list of hits and their position and direction.

TkrTracks also have a number of other parameters associated with them, such as ChiSq, Quality, first layer.

SiClusters

The TkrRecon also stores a list of the silicon clusters identified by the tracker reconstruction.