MarlinTPC  1.2.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
marlintpc::TimePixHoughTransformNormalProcessor Class Reference

Take an inputCollection of TrackerHits, treat those TrackerHits in groups (based on their CellID1(cihpID)) and reconstruct Tracks for each group separately. More...

#include <TimePixHoughTransformNormalProcessor.h>

Inheritance diagram for marlintpc::TimePixHoughTransformNormalProcessor:

Classes

struct  TrackProperties
 nested helper class that stores the properties of a straight track More...
 

Public Types

typedef std::vector< TrackImpl * > TrackImplVec
 

Public Member Functions

virtual Processor * newProcessor ()
 
virtual void init ()
 
virtual void processRunHeader (lcio::LCRunHeader *run)
 
virtual void processEvent (lcio::LCEvent *evt)
 
virtual void check (lcio::LCEvent *evt)
 
virtual void end ()
 
virtual void FillHistogram ()
 Fills the Hough Space in XY.
 
virtual void GetTrackProperties ()
 For each entry greater than _nHitsOnTrack; Store the corresponding phi, D0 and the hits on this Track.
 
virtual void CreateTracks ()
 For each track property, create a track.
 
virtual void AddHits ()
 For each track add the corresponding hits. More...
 
virtual void RemoveSparseTracks (TrackImplVec &ImplVec, TrackImplVec::iterator itFirst, TrackImplVec::iterator itLast)
 remove tracks with less hits than _nHitsOnTrack
 
virtual void OutputAddElement (LCCollectionVec *&outputCol, TrackImplVec::iterator itFirst, TrackImplVec::iterator itLast)
 add every element in range to output
 

Static Public Member Functions

static bool sortPredicate (const TrackProperties &lhs, const TrackProperties &rhs)
 
static bool sortTrackImpl (const TrackImpl *lhs, const TrackImpl *rhs)
 

Protected Attributes

TH1D * _hMaxConvoluted
 
std::string _inputColName
 Name of the input collection.
 
std::string _outputColName
 Name of the output collection.
 
LCCollectionVec * _inputColVec
 
int _nHitsOnTrack
 minimum number if hits on track
 
int _ChipID
 only the chip with _ChipID (CellID1) will be processed; if set to -1 all chipIDs will be processed
 
double _maxDistanceToTrackY
 Maximum distance of a hit to the track in mm in the xy plane.
 
TrackerHitVec _hitVec
 store TRackerHits from _inputColVec
 
std::vector< TrackProperties_trackPropertiesY
 storing track properties for xy plane
 
TrackImplVec _trackImplsY
 storing in xy plane found tracks
 
TH2D * _histoHoughSpace
 one Hough space histogram
 
std::vector< TH2D * > _histoHoughSpaceVec
 vector of Hough space histograms
 
int _houghSpaceNBinsPhi
 The number of bins in the hough space histogram in 'phi' direction (default 100)
 
float _houghSpaceMaxPhi
 The half range (HoughSpaceMinPhi .. HoughSpaceMaxPhi) of the Hough space histogram in 'phi' direction (default +0.5 pi)
 
float _houghSpaceMinPhi
 The half range (HoughSpaceMinPhi .. HoughSpaceMaxPhi) of the Hough space histogram in 'phi' direction (default -0.5 pi)
 
int _houghSpaceNBinsD0
 The number of bins in the hough space histogram in 'D0' direction (default 50)
 
float _houghSpaceMaxD0
 The half range (-max..max) of the Hough space histogram in 'D0' direction (default 65)
 
std::string _fileName
 Histograms will be written to this file.
 
int _MaxHisto
 Maximum number of saved Histograms.
 
int _CurrentHisto
 
int _outputIsTransient
 < Number of the current Histogram More...
 

Detailed Description

Take an inputCollection of TrackerHits, treat those TrackerHits in groups (based on their CellID1(cihpID)) and reconstruct Tracks for each group separately.

Which CellID1 is used can be specified setting "ProcessedChipID", default is -1 meaning all CellID1s will be used.


Straight line in xy-plane is parameterized as:
y = x * tan() + D0/cos() = x * {sin()}{cos()} + {D0}{cos()}
or in Hough space:
D0 = y * cos() - x * sin()

Author
Martin Rogowski, University of Bonn

Member Function Documentation

void marlintpc::TimePixHoughTransformNormalProcessor::AddHits ( )
virtual

For each track add the corresponding hits.

Starting from the Track with the greatest number of hits on Track.

References _hitVec, _maxDistanceToTrackY, _trackImplsY, marlintpc::TrackFitterBase::calculateResiduals(), marlintpc::TrackFitterFactory::getTrackFitter(), and marlintpc::TrackFitterBase::FitterTypes::SIMPLEMINIMIZER.

Member Data Documentation

int marlintpc::TimePixHoughTransformNormalProcessor::_outputIsTransient
protected

< Number of the current Histogram

give the status which is set to the transient flag of the output collection it is an int instead of a boolean, because the processor parameter cannot be a boolean


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