Skip to topic | Skip to bottom
ILC.PatternRecognitionInTPCr1.1 - 02 Feb 2009 - 10:37 - Main.iglesiastopic end

Start of topic | Skip to actions
Pattern Recognition in TPC

Pattern recognition in TPC is done using C++ wrappers of the LEP code. The main Marlin module is LEPTrackingProcessor, which invokes FORTRAN routines, which perform inward search for spatially continuous sequences of hits, compatible with the helix hypothesis, and fits these sequences.

The code is in MarlinReco?/v00-15/Tracking/BrahmsTracking/include/ LEPTrackingProcessor?.h

The LEP code is capable of finding only semiloops of the tracks. As a consequence, the low pT loopers are splitted into several segments, which are then identified and merged by the FullLDCTracking processor described below.

The TPC tracking produces Tracks from TPC TrackerHits using LEP tracking algorithms taken from the Fortran based reconstruction program Brahms [10]. The LEPTracking processor now includes full unambiguous central tracking during which track strings are created through to full Track candidates (TK's) which have passed the Delphi Ambiguity resolver fxambi. Currently only the TPC pattern recognition and fitting is implemented, though plans to incorporate vertex hits into tracks exist.

The final track fitting is done using a Kalman filter. MarlinTrackFit: Utility class which performs track fit using Kalman filter. Utility is based on the DELPHI code which performs track fit. Author : A. Raspereza, MPI Munich. Method performs track fitting taking into account energy loss and MS. First simple helix fit is performed to define initial track parameters at the PCA to primary IP. If simple helix fit converges and has qood quality set by variable chi2PrefitCut, then DELPHI fitting routine trkfit.F is envoked. The code is in /MarlinReco/v00-15/Tracking/BrahmsTracking/include/MarlinTrackFit.h

Presently the VTX and SIT resolutions are hard coded in LEPTrackingProcessor. Both, the magnetic field and the material description of the VTX detector and SIT, as for the TPC, is hard coded in setmat. This will be improved as soon as Gear becomes more evolved.

LEPTrackingProcessor requires as an input LCIO collection of the TPC TrackerHits? and produces LCIO collections of the TPC tracks and inter-relations between tracks and Monte Carlo particles.


Produces Track collection from TPC TrackerHit collections using LEP tracking algorithms.

Realiza una búsqueda, del IP hacia afuera, de secuencias espacialmente contínuas de impactos compatible con la hipótesis de helicidad, y se ajusta dicha secuencia.

The Geometric information via GEAR. The f77 tracking code previously relied on ZEBRA banks, these have been replace by C++ structures implemented in tkhitbank.h etc. There must be instanitated and deleted at the begining and the end of the processor respectively.

Currently only the TPC patrec and fitting is implemented, though plans to incorporate VTX hits into Tracks exist. The name of the TPC Track collection is specified in the steering file, togeather with the name of the hit collections needed as input.

For the track collection the following applys:

  • The reference point is the Point of Closest Approach.
  • All parameters are defined there.
  • Phi is defined between -PI and +PI
  • Z0 is the z coordinate of the PCA in the R-Phi plane.

For the relations, the weighs are calculated as the percentage of hits that a given MC particle contributes to the reconstucted track's hit collection

At present the covariance matrix is not filled.

The LEP algorithms are taken from Brahms but does not contain the DELPHI ambiguity resolver. The track finding is based on:


The final track fitting is done using a Kalman filter. At present the both the magnetic field and the material desciption of the TPC is hard coded into the Fortran code and C++ code, and will be improved when GEAR becomes more evolved.

  • Input: Processor requires collection of digitized TPC tracker hits. If such a collections with the user specified names do not exist processor takes no action. Processor still attempts to assign VTX and SIT tracker hits to the found TPC tracks and produce combined Si-TPC tracks. Hence, optionally an user can provide the names of the VTX and SIT tracker hit collections. A more efficient algorithm of combining information from TPC and silicon detectors
  • Output: Processor produces collection of TPC tracks
  • Parameters:
    • TPCTrackerHitCollectionName: Name of the TPC TrackerHit collection (default value is TPCTrackerHits)
    • VTXTrackerHitCollectionName: Name of the VTX TrackerHit collection (default value is VTXTrackerHits)
    • SITTrackerHitCollectionName: Name of the SIT TrackerHit collection (default value is SITTrackerHits)
    • TPCTrackCollectionName: Name of the output TPC Track collection (default value is TPCTracks)
    • TrackCollectionName: Name of the combined Si-TPC Track collection (default value is Tracks)
    • MCTPCTrackRelCollectionName: Name of the TPC Track MC Relation collection (default value is TPCTracksMCP)
    • MCTrackRelCollectionName: Name of the Track MC Relation collection (default value is TracksMCP)
  • Input: TPCTrackerHits
  • Output: TPCTracks

-- Main.iglesias - 02 Feb 2009
to top

You are here: ILC > PatternRecognitionInTPC

to top

Copyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this material Send feedback