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

Private Attributes

double _Bzc
 magnetic field strength (Bz*c) More...
 
double _Xcenter
 TPC center, X coordinate. More...
 
double _Ycenter
 TPC center, Y coordinate. More...
 

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.

Definition at line 78 of file TimePixLocalRoadSearchProcessor.h.

Constructor & Destructor Documentation

◆ TimePixLocalRoadSearchProcessor()

marlintpc::TimePixLocalRoadSearchProcessor::TimePixLocalRoadSearchProcessor ( )

Member Function Documentation

◆ check()

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

Definition at line 335 of file TimePixLocalRoadSearchProcessor.cc.

Referenced by newProcessor().

◆ end()

void marlintpc::TimePixLocalRoadSearchProcessor::end ( )
virtual

Definition at line 339 of file TimePixLocalRoadSearchProcessor.cc.

Referenced by newProcessor(), and processEvent().

◆ init()

void marlintpc::TimePixLocalRoadSearchProcessor::init ( )
virtual

Initialize processor.

Definition at line 110 of file TimePixLocalRoadSearchProcessor.cc.

Referenced by newProcessor().

◆ newProcessor()

virtual Processor* marlintpc::TimePixLocalRoadSearchProcessor::newProcessor ( )
inlinevirtual

◆ processEvent()

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.

Definition at line 119 of file TimePixLocalRoadSearchProcessor.cc.

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

Referenced by newProcessor().

◆ processRunHeader()

void marlintpc::TimePixLocalRoadSearchProcessor::processRunHeader ( EVENT::LCRunHeader *  run)
virtual

Definition at line 114 of file TimePixLocalRoadSearchProcessor.cc.

Referenced by newProcessor().

Member Data Documentation

◆ _bfieldScaleFactor

double marlintpc::TimePixLocalRoadSearchProcessor::_bfieldScaleFactor
protected

scale factor for magnetic field (default: 1.0)

Definition at line 101 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _Bzc

double marlintpc::TimePixLocalRoadSearchProcessor::_Bzc
private

magnetic field strength (Bz*c)

Definition at line 126 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent().

◆ _chi2CutChip

double marlintpc::TimePixLocalRoadSearchProcessor::_chi2CutChip
protected

max. Chi2/Ndf for chip segment matching (default: 30.)

Definition at line 119 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _chi2CutMod

double marlintpc::TimePixLocalRoadSearchProcessor::_chi2CutMod
protected

max. Chi2/Ndf for module segment matching (default: 50.)

Definition at line 121 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _chi2CutOcto

double marlintpc::TimePixLocalRoadSearchProcessor::_chi2CutOcto
protected

max. Chi2/Ndf for octoboard segment matching (default: 30.)

Definition at line 120 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _distCut

double marlintpc::TimePixLocalRoadSearchProcessor::_distCut
protected

max. relative (to track length sum) distance (of centers) for segment matching (default: 2.0)

Definition at line 122 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _inputColName

std::string marlintpc::TimePixLocalRoadSearchProcessor::_inputColName
protected

Name of the input collection.

Definition at line 99 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _maxChi2

double marlintpc::TimePixLocalRoadSearchProcessor::_maxChi2
protected

max. Chi2/Ndf for road (default 5.)

Definition at line 114 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _maxGap

double marlintpc::TimePixLocalRoadSearchProcessor::_maxGap
protected

max. (arc-length) gap for road (default: 4.0)

Definition at line 116 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _maxMult

int marlintpc::TimePixLocalRoadSearchProcessor::_maxMult
protected

max. multiplicity for road seeding bins (default: 3)

Definition at line 109 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _maxPull2XY

double marlintpc::TimePixLocalRoadSearchProcessor::_maxPull2XY
protected

max. pull squared to road in XY (default: 15.)

Definition at line 112 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _maxPull2Z

double marlintpc::TimePixLocalRoadSearchProcessor::_maxPull2Z
protected

max. pull squared to road in Z (default: 15.)

Definition at line 113 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _maxSvar

double marlintpc::TimePixLocalRoadSearchProcessor::_maxSvar
protected

max. relative arc-length variance for road (default: 0.15)

Definition at line 115 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _maxZmeas

double marlintpc::TimePixLocalRoadSearchProcessor::_maxZmeas
protected

max. measured Z value (default 600.)

Definition at line 105 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _minDist

int marlintpc::TimePixLocalRoadSearchProcessor::_minDist
protected

min. distance for road seeding bins (default: 2)

Definition at line 111 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _minPixels

int marlintpc::TimePixLocalRoadSearchProcessor::_minPixels
protected

min. number of pixels for road seeding maxro pixel (default: 3)

Definition at line 110 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _minTrackLevel

int marlintpc::TimePixLocalRoadSearchProcessor::_minTrackLevel
protected

min. track level for output (default 1)

Definition at line 102 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _minZmeas

double marlintpc::TimePixLocalRoadSearchProcessor::_minZmeas
protected

min. measured Z value (default 0.)

Definition at line 104 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _mpSize

int marlintpc::TimePixLocalRoadSearchProcessor::_mpSize
protected

macro pixel (bin) size (default: 32)

Definition at line 103 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _octoOffset

int marlintpc::TimePixLocalRoadSearchProcessor::_octoOffset
protected

octoboard number offset (in module=(octo+offset)/scale) (default 8)

Definition at line 117 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _octoScale

int marlintpc::TimePixLocalRoadSearchProcessor::_octoScale
protected

octoboard number scale (in module=(octo+offset)/scale) (default 12)

Definition at line 118 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _outputColName

std::string marlintpc::TimePixLocalRoadSearchProcessor::_outputColName
protected

Name of the output collection.

Definition at line 100 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _refAtPCA

bool marlintpc::TimePixLocalRoadSearchProcessor::_refAtPCA
protected

Use Pca as reference point (else 1. hit)

Definition at line 123 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _sigmaZ

double marlintpc::TimePixLocalRoadSearchProcessor::_sigmaZ
protected

resolution in Z (default: 3.0)

Definition at line 106 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _Xcenter

double marlintpc::TimePixLocalRoadSearchProcessor::_Xcenter
private

TPC center, X coordinate.

Definition at line 127 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent().

◆ _xOffset

double marlintpc::TimePixLocalRoadSearchProcessor::_xOffset
protected

offset in x of (local) coordinate system (default 0.)

Definition at line 107 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().

◆ _Ycenter

double marlintpc::TimePixLocalRoadSearchProcessor::_Ycenter
private

TPC center, Y coordinate.

Definition at line 128 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent().

◆ _yOffset

double marlintpc::TimePixLocalRoadSearchProcessor::_yOffset
protected

offset in y of (local) coordinate system (default 1500.)

Definition at line 108 of file TimePixLocalRoadSearchProcessor.h.

Referenced by processEvent(), and TimePixLocalRoadSearchProcessor().


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