SMT TRF++ classes (package smttrack)


Code version 00.04.45

An introduction to TRF++ may be found at http://www.bonner.rice.edu/adams/trf++

I little bit more detail description of silicon tracking code can be looked at here .


Links to code

The description below includes links to the code contained in this package. This version of the code may not be the most recent.

Performance plots

Plots reflecting reconstruction efficiency, resolution of reconstructed tracks and tracks chi-square can be found here.

Description

D0 smttrack package provides classes for track fitting and finding in D0 SMT detector. It defines SMT detector for track finding and fitting in TRF++.

The physical components include:

Their dependencies are illustrated in the physical dependency diagram. [doesn't exists yet]

The class diagrams shows the classes and their relationships and a little explanation how these classes work.

This package depends on the following external packages:

The following sections describe the classes defined in the components. Unless otherwise, noted each class is defined in the component of the same name. The descriptions here are brief. See the header files for details.

The components are only intended for use within this package. Those that prove to be of more general use will be moved to another package.


SMTTrackNtuple

SMT Track Ntuple.

Method

Class Method is an abstract class used by LayerBarrel for selecting surfaces appropriate for propagation.

MethodCyl

Class MethodCyl is derivative from class Method. It implements the following method for choosing appropriate surfaces : it propagates track to a cylinder ascribing silicon layer and depending on error in phi angle decided could track cross this surface or not.

MethodLine

Class MethodCyl is derivative from class Method. It implements the following method for choosing appropriate surfaces : it assumes a zero curvature for track and then decides could such a track cross each surface. Track is not propagated to any surface in this method.

PropTotal

Class PropTotal just buildes a three PropDispatch and fill them with propagators. This is a helper class.

PropCylXY_Nothing

Class PropCylXY_Nothing is used for propagation of tracks woth zero hits from Cylinder to XYPlane. It doesn't really propagates track it just puts in the middle of XYPlane.

PropCylZ_Nothing

Class PropCylZ_Nothing is used for propagation of tracks woth zero hits from Cylinder to ZPlane. It doesn't really propagates track it just puts in the middle of ZPlane.

SurfThreePolygons

This is a bounded ZPlane surface that consists of three other bounded ZSurfaces. It checks bounds the following way : track is within the bounds if it is within two of those surfaces and out of the third. Three surfaces are passed in constructor and the third ( _out_) surfaces is the third argument.

Layer Ladder

Class LayerLadder describes D0 SMT detector ladder. Currently it totally resembles class LayerXYPlane but adds clusters deferently. First it checks that cluster does belong to a Ladder ( it's not out of bounds) and only then adds it. InteractingLayerLadder inherits from LayerLadder and calls Interactor to simpulate multiple scattering.

Layer Wedge

Class LayerWedge describes D0 SMT detector wedge. Currently it totally resembles class LayerBZPlane but adds clusters deferently. First it checks that cluster does belong to a Wedge ( it's not out of bounds) and only then adds it. InteractingLayerWedge inherits from LayerWedge and calls Interactor to simpulate multiple scattering.

Layer SubDisk

Class LayerSubDisk is a collection of LaeyrWedge's. It describes one side of SMT forward disks.

Layer Disk

Class LayerDisk is a collection of two LayerSubDisks and describes SMT forward disk.

Propagator CylXY Start

Class PropCylXY_Start propagates track from cylindrical syrface to SurfXYPlane. It acts absolutely like a regular propagator, but in case if error in phi of track is bigger than TWOPI , it first sets phi of track to phi of the plane and only then does a propagation. This propagator is designed for starting tracks.

ClusterFindDisk

Class ClusterFindDisk is a usual Cluster Finder used to find hits in disks. It returns only hits from a given ring and thus used for carrying hits in inner silicon disks.

AddFitTotal

It's a helper class for SMTPathBuilder.

AddFitterStart

Is a fitter that after using it's default ( Kalman ) fitter checks that track has a correct chi - square. It has a method to refit track if it has 3 hits.

FilterShares SMT

Class FilterShares_SMT is a modified version of trffind/FilterShares . It never deletes tracks that have less than 3 hits.

FilterContains SMT

Class FilterContains_SMT is a modified version of trffind/FilterContains . It never deletes tracks that have less than 3 hits.

BarrelMiss

Class BarrelMiss is a model of future miss class. Right now it has only radius of a cylinder ascribing silicon layer given to it by LayerBarrel .

DiskMiss

Class DiskMiss is a model of future miss class. Right now it just exists.

SubDiskMiss

Class SubDiskMiss is a model of future miss class. Right now it just exists.

SiliconMiss

Class SiliconMiss is a way to trick path into finding appropriate SiliconLayer for track finding.

CheckMiss

Checker that requires track to have at least one hit in physical silicon layer. (Physical means that silicon consists of 4 such layers).

CheckDiskMiss

Checker that requires track to hit all disks once it hitted one of them.

CheckXY2Z2Hits

Checker that checks that two consequetive hits are not on opposite, relative to detector center, sides.

Layer Barrel

Class LayerBarrel corresponds to SMT Barrel and manages LayerXYPlanes ( Ladders). Each LayerBarrel manages 6 or 12 XYPlanes. It can add, drop and get clusters from each of them. It has it's own method propagate , which uses given to it in constructor class Method to choose appropriate surfaces for propagation and then propagate tracks to them.

Layer XYZ

Class LayerXYZ is just a holder of two pointers to LayerBarrel and LayerDisk. Usefull for constractiong LayerSilicon.

Layer Silicon

Class LayerSilicon represent real SMT geometry with disks,barrels or only disks or only barrels.

SMT Simulated Detector

Classes SimpleSMTDetector and SimpleSMTDetectorSimulator manage the layers describing D0 SMT detector. The layers are created when an object is constructed. Generators to create simulated hits on each layer are also created at that time. There are methods to create the hits, to drop the hits, to return the list of layers (with hits attached) and to register the hit generators.

SMT Path builder

Class SMTPathBuilder creates and manages the paths used for track finding in D0 SMT detector. It also creates and manages the propagators, fitters and path stops associated with the paths. It provides methods to fetch the head path and to fetch the list of path stops.


Questions or comments to bkulik@fnal.gov or skulik@fnal.gov .