QwAnalysis
QwTrackingWorker.cc File Reference

Controls all the routines involved in finding tracks in an event. More...

#include "QwTrackingWorker.h"
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include <iostream>
#include <sstream>
#include <TVector3.h>
#include "QwOptions.h"
#include "QwLog.h"
#include "globals.h"
#include "QwHitPattern.h"
#include "QwTrackingTree.h"
#include "QwTrackingTreeRegion.h"
#include "QwTrackingTreeSearch.h"
#include "QwTrackingTreeCombine.h"
#include "QwTrackingTreeSort.h"
#include "QwTrackingTreeMatch.h"
#include "QwHit.h"
#include "QwHitContainer.h"
#include "QwTreeLine.h"
#include "QwPartialTrack.h"
#include "QwTrack.h"
#include "QwEvent.h"
#include "QwDetectorInfo.h"
#include "QwBridgingTrackFilter.h"
#include "QwRayTracer.h"
#include "QwMatrixLookup.h"
+ Include dependency graph for QwTrackingWorker.cc:

Go to the source code of this file.

Detailed Description

Controls all the routines involved in finding tracks in an event.

PROGRAM: QTR (Qweak Track Reconstruction) AUTHOR: Burnham Stokes
            bestokes@jlab.org
          ORIGINAL HRC AUTHOR
            Wolfgang Wander
            wwc@hermes.desy.de


MODULE: QwTrackingWorker

PURPOSE: This module contains the code for finding tracks in an event. The task of finding tracks is sub-divided into three steps:

(1) for each set of planes with like-pitched wires, possible track candidates (called treelines) are located by the treesearch algorithm. For this search, the hit information is used to generate a bit pattern for the hits seen in each tree-detector. The bit patterns for all the chambers in one detector region are then processed by the the treesearch algorithm to identify all combinations of hits in the chambers which could correspond to straight tracks through the chambers. Typically, these treelines contain quite a few ghost tracks. To cut down on these ghosts, the treelines located by the searching are reduced by a connectivity graph. This graph tries to minimize the number of overlapping tracks (tracks including the same hits) based on their chi^2 fit quality.

(2) Once the sets of treelines (one set for the u, a second set for the v, and a third set for the x) have been located for a region of the detector, the treelines are matched together to form partial tracks. For the case of VDC reconstruction no x treelines can be formed. In this case only u/v combinations are formed.

(3) And, finally, the partial tracks from the front and the back region will be bridged (i.e. paired together) to form the final tracks.

CONTENTS: (brief description for now)

(01) Bcheck() -

(02) rcLinkUsedTracks()

(03) ProcessHits() - this function manages the track-finding and track-fitting in QTR. For each detector region (front or back, top or bottom) this function builds the bit patterns for the hits seen in the detector and then invokes the treesearch algorithm to find the candidate treelines. After the resulting treelines are filtered by the treesort and treecombine functions, the treelines from the different plane with different wire-pitch are combined together to form the partial tracks seen in each region of the detector. In the final stage of tracking, these partial tracks are bridged together to reconstruct full tracks through the detector. In a second interation treesearch recalibrates the tracking chamber hits with the now known momentum and recalculates track parameters and momentum for all found tracks.

Definition in file QwTrackingWorker.cc.