TPC Coordinate System
David Hardtke
March 12, 2002
Updated by
Gene Van Buren
March 31, 2005

This document describes the TPC coordinate systems as currently implemented.

Units: The unit of length is cm. The unit of rotation is radians (this violates the STAR GEANT standard, which is degrees).

STAR Global Coordinate system: The STAR global coordinate system is defined in CSN 229 . This note specifies that:

STAR TPC Local Coordinate System: The TPC local coordinate system is defined relative
the center of the TPC, and uses the same definitions as the STAR global coordinate system. This system is related to the STAR global coordinate system by a translation and a rotation.

STAR TPC Pad Coordinates: This coordinate system specifies the location within the TPC in
terms of pad coordinates, i.e. sector, row, pad, and time bucket.

STAR TPC Local Sector Coordinates: We do hit reconstruction on a sector-by-sector basis, assuming that each sector is Sector 12. In this system, a position is defined by (x,y,z) in sector
12 coordinates, as well as the real sector #. Note that z increases starting at the gating grid in these coordinates, i.e. z=0cm in Tpc Local Sector coordinates is equal to z=208.707cm in TPC Local Coordinates.



TPC Coordinate Transformation Utilities: TPC coordinate transformations are done is several places:
  1. StRoot/StDbUtilities/StTpcCoordinateTransform: This is a general utility used for transforming among the various TPC coordinate systems.
  2. StRoot/StTpcDb/StTpcDb: This is a database accesor application that serves as the single point of contact between the TPC software in the database.
  3. StRoot/StTpcDb/StTpcDbMaker: This routine has two purposes. First it initializes and creates the StTpcDb class. In addition, this routine wraps the StTpcCoordinateTransform so that some of these functions can be called from with the pams. Finally, this routine implements some specific coordinate transformations that are used repeatedly in the cluster and track finders. For these particular routines, StTpcCoordinateTransform is too slow.
  4. StRoot/StDbUtilities/StSectorAligner: This routine takes care of sector alignments. The TPC coordinate systems assume that the TPC is perfectly constructed. Here we account for the physical position of each TPC inner and outer sector.
  5. StRoot/StDbUtilities/StMagUtilities: This routine takes care of TPC distortions. The input is TPC hits in, and the output is TPC hits with the appropriate ExB corrections.  Currently we input the TPC hits in TPC local coordinates.
Order of calls: The dataflow is the following: (formerly, before SL04a library, St_tpt_Maker handled the duties of StTpcHitMoverMaker)
  1. St_tpcdaq_Maker: raw pixel information (sector,row,pad,timebucket)
  2. St_tcl_Maker->tcl: Convert raw pixel info to TPC hits in local coordinates (accounting for pad-by-pad t0s)
  3. StTpcHitMoverMaker: Aligns sectors, "ExB" corrections, local->global:
    1. StSectorAligner
    2. StMagUtilities
    3. StTpcCoordinateTransform (local to global)
  4. St_tpt_Maker/Sti: tracking (using global hits)


TPC Database parameters: We use parameters from the MySQL database. We use the Calibrations/tpc, Geometry/tpc, Conditions/trg, and StarDb/tpc/***pars directories (*** refers to the three letter acronym for tpc pams, i.e. tcl or tpt). Some important tables are the following:




GEANT Geometry and simultaion database parameters

The TPC offline code and GEANT use Different geometry databases. In particular the position of the TPC in GEANT is perfect and there are no imperfections in the padplane positions. Thus, the following tables have special SIM flavored data in the database:
  • Geometry/tpc/tpcGlobalPosition
  • Geometry/tpc/tpcSectorPosition
In order to run proper embedding, the data must be re-run in sim mode, i.e. with the TPC translation, rotations, and sector position corrections turned off. We also turn off all ExB corrections. Running in this mode recreates the tag file (where the primary vertex is different), and this tag file is used for emedded data production. THIS SHOULD BE FIXED!