MarlinTPC  1.2.0
Public Member Functions | Protected Attributes | List of all members
marlintpc::TimePixLocalRoadSearchProcessor Class Reference

Track finder for TimePix data based on local road search. More...

#include <TimePixLocalRoadSearchProcessor.h>

Inheritance diagram for marlintpc::TimePixLocalRoadSearchProcessor:

Public Member Functions

virtual Processor * newProcessor ()
 
 TimePixLocalRoadSearchProcessor ()
 Construct processor.
 
virtual void init ()
 Initialize processor.
 
virtual void processRunHeader (EVENT::LCRunHeader *run)
 
virtual void processEvent (EVENT::LCEvent *evt)
 Process event. More...
 
virtual void check (EVENT::LCEvent *evt)
 
virtual void end ()
 

Protected Attributes

std::string _inputColName
 Name of the input collection.
 
std::string _outputColName
 Name of the output collection.
 
double _bfieldScaleFactor
 scale factor for magnetic field (default: 1.0)
 
int _minTrackLevel
 min. track level for output (default 1)
 
int _mpSize
 macro pixel (bin) size (default: 32)
 
double _minZmeas
 min. measured Z value (default 0.)
 
double _maxZmeas
 max. measured Z value (default 600.)
 
double _sigmaZ
 resolution in Z (default: 3.0)
 
double _xOffset
 offset in x of (local) coordinate system (default 0.)
 
double _yOffset
 offset in y of (local) coordinate system (default 1500.)
 
int _maxMult
 max. multiplicity for road seeding bins (default: 3)
 
int _minPixels
 min. number of pixels for road seeding maxro pixel (default: 3)
 
int _minDist
 min. distance for road seeding bins (default: 2)
 
double _maxPull2XY
 max. pull squared to road in XY (default: 15.)
 
double _maxPull2Z
 max. pull squared to road in Z (default: 15.)
 
double _maxChi2
 max. Chi2/Ndf for road (default 5.)
 
double _maxSvar
 max. relative arc-length variance for road (default: 0.15)
 
double _maxGap
 max. (arc-length) gap for road (default: 4.0)
 
int _octoOffset
 octoboard number offset (in module=(octo+offset)/scale) (default 8)
 
int _octoScale
 octoboard number scale (in module=(octo+offset)/scale) (default 12)
 
double _chi2CutChip
 max. Chi2/Ndf for chip segment matching (default: 30.)
 
double _chi2CutOcto
 max. Chi2/Ndf for octoboard segment matching (default: 30.)
 
double _chi2CutMod
 max. Chi2/Ndf for module segment matching (default: 50.)
 
double _distCut
 max. relative (to track length sum) distance (of centers) for segment matching (default: 2.0)
 
bool _refAtPCA
 Use Pca as reference point (else 1. hit)
 

Detailed Description

Track finder for TimePix data based on local road search.

Local road search with 'macro' pixels to construct tracks from space points.

For each timepix chip the pixel space is reorganized into larger bins (e.g. of size 32*32 pixels) (to reduce the combinatorics). Each bin can contain several 'macro' pixels seperated in drift time (Z). The macro pixel position (and shape) is definded by the center of gravity (and variance) of the positions of the contributing pixels. Qualified pairs of macro pixels (cut on contents and distance) are used to define (linear) search roads. Road consistent with a track segment (in longitudinal and transverse direction) define macro pixel segments. With each found segment the road search is stopped, the corresponding macro pixels removed (marked as used) and the road search is restarted with the remaining macro pixels. In a hierarchical way (to reduce combinatorics and extrapolation) the macro pixel segment are combined into larger segments: chips to octoboards, octoboards to (mechnical) modules and finally all modules. For this equivalence classes of matching segments are used. The matching is defined by the compatibility of the track parameters of two segments at their (relative) midpoint. The (local) coordinates may be shifted by an (XY) offset into a new system. Track directions are defined relative to the origin of that system.

Parameters
"InputHits":stringThe name of the input collection of TPC hits (default: "TPCHits")
"OutputTracks":stringThe name of the output collection with the found tracks (default: "FHTTracks")
"MacroPixelSize":intOptional parameter, macro pixel (bin) size (default 32)
"MinTrackLevel":intOptional parameter, min. track level for output (default 1) (0: single chip segment finder, 1,2,3: chip,octoboard,module combiner)
"MinZmeas":doubleOptional parameter, min. measured Z value (default 0.0)
"MaxZmeas":doubleOptional parameter, max. measured Z value (default 600.)
"SigmaZ":doubleOptional parameter, resolution in Z (for clustering) (default 3.0)
"Xoffset":doubleOptional parameter, offset in x of (local) coordinate system (default 0.)
"Yoffset":doubleOptional parameter, offset in y of (local) coordinate system (default 1500.)
"BFieldScaleFactor":doubleOptional parameter, scales magnetic field (map), use 1.0 (default) for field ON or 0.0 for field OFF
"MaxMult":intOptional parameter, max. multiplicity for road seeding bins (default 3)
"MinPixels":intOptional parameter, min. number of pixels for road seeding maxro pixel (default 3)
"MinDist":intOptional parameter, min. distance for road seeding bins (default 2)
"MaxPull2XY":doubleOptional parameter, max. pull squared to road in XY (default 15.)
"MaxPull2Z":doubleOptional parameter, max. pull squared to road in Z (default 15.)
"MaxChi2":doubleOptional parameter, max. Chi2/Ndf for road (default 5.0)
"MaxSvar":doubleOptional parameter, max. relative arc-length variance for road (default 0.15)
"MaxGap":doubleOptional parameter, max. (arc-length) gap for road (default 4.0)
"Chi2CutChip":doubleOptional parameter, max. Chi2/Ndf for chip segment matching (default 30.)
"Chi2CutOcto":doubleOptional parameter, max. Chi2/Ndf for octoboard segment matching (default 30.)
"Chi2CutMod":doubleOptional parameter, max. Chi2/Ndf for module segment matching (default 50.)
"DistCut":doubleOptional parameter, max. relative (to track length sum) distance (of centers) for segment matching (default 2.0)
"ReferencePointAtPca":boolOptional parameter, use PCA as reference point, else 1. hit (default false)
Author
C. Kleinwort (160604)
Credits:
The processor skeleton was generated by the script createProcessor.py
Todo:
  • variable octoboard to (mechanical) module mapping (from GEAR file?)

A detailed description is available as lcnote LC-TOOL-2016-xxx.

Member Function Documentation

void marlintpc::TimePixLocalRoadSearchProcessor::processEvent ( EVENT::LCEvent *  evt)
virtual

Process event.

  • Prepare input: map of chips with vectors of pixels
  • Create macro pixels for each chip
  • Find segments on each chip
  • Combine segments (chip -> octoboard -> module -> track)
  • Fill output collection.

References _bfieldScaleFactor, _chi2CutChip, _chi2CutMod, _chi2CutOcto, _distCut, _inputColName, _maxChi2, _maxGap, _maxMult, _maxPull2XY, _maxPull2Z, _maxSvar, _maxZmeas, _minDist, _minPixels, _minTrackLevel, _minZmeas, _mpSize, _octoOffset, _octoScale, _outputColName, _refAtPCA, _sigmaZ, _xOffset, _yOffset, marlintpc::tp_PixelChip::findSegments(), marlintpc::tp_PixelChip::getNumBins(), and marlintpc::tp_PixelSegmentCombiner::run().


The documentation for this class was generated from the following files: