1 #ifndef TIMEPIXLOCALROADSEARCHPROCESSOR_H 2 #define TIMEPIXLOCALROADSEARCHPROCESSOR_H 6 #include <marlin/Processor.h> 7 #include <marlin/Global.h> 11 #include <gear/TPCModule.h> 14 #include "EVENT/TrackerHit.h" 21 #include "TMatrixDSym.h" 93 virtual void check(EVENT::LCEvent* evt);
134 tp_Pixel(
const int iHit,
const EVENT::TrackerHit& aHit,
const double xOffset,
const double yOffset);
136 int getHitNum()
const;
143 void getPos(
double*)
const;
144 double getSigma2XY()
const;
145 double getSigma2Z()
const;
146 double getArcLength()
const;
147 bool getUsed()
const;
149 void setArcLength(
const double);
177 int getEntries()
const;
183 void getPos(
double*)
const;
184 double getVarXY(
const double,
const double)
const;
185 double getVarZ()
const;
186 double getSigma2XY()
const;
187 double getSigma2Z()
const;
188 bool getUsed()
const;
190 pixelListType getPixels()
const;
220 tp_PixelBin(
const int,
const int, pixelListType&,
const int,
const double,
const double);
224 int getNumPix()
const;
225 int getNumMPix()
const;
226 macroPixelListType getMacroPixels()
const;
240 tp_PixelRoad(macroPixelPairType, pixelBinListType&,
const double*);
243 bool isValid()
const;
244 int getNumPix()
const;
245 int getNumMPix()
const;
246 double getChi2()
const;
247 macroPixelListType getMacroPixels()
const;
262 tp_PixelSegment(
const int,
const int,
const double, macroPixelListType&);
265 int getNumPar()
const;
266 int getLevel()
const;
267 double getChi2()
const;
269 double getLength()
const;
270 void getRefPoint(
double*)
const;
271 void getPar(
double *)
const;
272 const TVectorD& getPar()
const;
273 const TMatrixDSym& getCov()
const;
275 macroPixelListType getMacroPixels()
const;
276 void getLCIOStateAtRefPoint(
const double*, TVectorD&, TMatrixDSym&)
const;
300 tp_PixelChip(
const int, pixelListType&,
const int,
const double);
304 int getNumPix()
const;
305 int getNumMPix()
const;
306 int getNumBins()
const;
307 int findSegments(
const double,
const int*,
const double*);
308 pixelSegmentListType getPixelSegments()
const;
325 pixelSegmentListType run(
const int,
const int, pixelSegmentListType&,
const double,
const double);
332 #endif // TIMEPIXLOCALROADSEARCHPROCESSOR_H
double _sarc
arc length (from segment fitting)
int _octoScale
octoboard number scale (in module=(octo+offset)/scale) (default 12)
double _maxGap
max. (arc-length) gap for road (default: 4.0)
int _numPix
number of pixels in macro pixels
virtual Processor * newProcessor()
std::string _outputColName
Name of the output collection.
const int _hitNum
input hit collection index
double _sigmaZ
resolution in Z (default: 3.0)
TMatrixDSym _covariance
covariance matrix
TimePix pixel segment combiner.
int _numMPix
number of macro pixels
double _minZmeas
min. measured Z value (default 0.)
std::map< int, pixelListType > chipPixelMapType
const int _rowNum
row number
double _refZ
Z of reference point.
const double _sigma2XY
resolution (squared) for XY measurement
double _refY
Y of reference point.
int _numPix
number of pixels in macro pixels
pixelSegmentListType _pixelSegments
pixel segments
const int _level
segment level
TimePix (macro) pixel bin.
std::vector< tp_Pixel * > pixelListType
double _chi2CutChip
max. Chi2/Ndf for chip segment matching (default: 30.)
const double _posZ
Z position.
std::string _inputColName
Name of the input collection.
Track finder for TimePix data based on local road search.
pixelListType _pixels
pixels
double _Ycenter
TPC center, Y coordinate.
const int _mpId2
ID of macro pixel 2.
pixelBinListType _pixelBins
(macro) pixel bins
double _chi2
chi2 from segment fit
std::vector< tp_PixelBin * > pixelBinListType
int _maxMult
max. multiplicity for road seeding bins (default: 3)
double _length
segment (arc) length
virtual void processEvent(EVENT::LCEvent *evt)
Process event.
int _minDist
min. distance for road seeding bins (default: 2)
double _distCut
max. relative (to track length sum) distance (of centers) for segment matching (default: 2...
const double _posY
Y position.
const int _binId
bin Id (row, col)
const double _bzc
magnetic field strength (Bz*c)
int _octoOffset
octoboard number offset (in module=(octo+offset)/scale) (default 8)
std::vector< macroPixelPairType > macroPixelPairListType
virtual void processRunHeader(EVENT::LCRunHeader *run)
macroPixelListType _macroPixels
macro pixel
std::vector< tp_PixelSegment * > pixelSegmentListType
double _bzc
magnetic field strength (Bz*c)
int _minTrackLevel
min. track level for output (default 1)
virtual void init()
Initialize processor.
std::map< int, macroPixelPairListType > macroPixelPairListMapType
const double _posX
X position.
const int _mpId
ID (row/col bin: z bin)
double _chi2ByNdf
sum of chi2 / Ndf
std::map< int, pixelSegmentListType > pixelSegmentListMapType
int _mpSize
macro pixel (bin) size (default: 32)
std::vector< tp_MacroPixel * > macroPixelListType
double _bfieldScaleFactor
scale factor for magnetic field (default: 1.0)
int _minPixels
min. number of pixels for road seeding maxro pixel (default: 3)
double _Xcenter
TPC center, X coordinate.
double _maxPull2Z
max. pull squared to road in Z (default: 15.)
TimePix (macro) pixel road.
bool _valid
flag for valid road
const int _npar
number of parameters (5: helix, 4: line)
double _refX
X of reference point.
double _sigma2Z
resolution (squared) for Z measurement
int _ndf
number of degrees of freedom of segment fit
const int _segId
segment ID
TVectorD _parameters
parameter vector
double _maxSvar
max. relative arc-length variance for road (default: 0.15)
double _maxChi2
max. Chi2/Ndf for road (default 5.)
double _chi2CutOcto
max. Chi2/Ndf for octoboard segment matching (default: 30.)
virtual void check(EVENT::LCEvent *evt)
double _maxZmeas
max. measured Z value (default 600.)
TimePixLocalRoadSearchProcessor()
Construct processor.
const int _chipNum
chip number
std::vector< tp_PixelChip * > pixelChipListType
std::vector< double > _sList
arc length list
double _Bzc
magnetic field strength (Bz*c)
double _sigma2XY
resolution (squared) for XY measurement
double _xOffset
offset in x of (local) coordinate system (default 0.)
int _numPix
number of pixels in macro pixels
macroPixelListType _macroPixels
macro pixel
const int _entries
entries
macroPixelListType _macroPixels
macro pixels
double _yOffset
offset in y of (local) coordinate system (default 1500.)
const int _colNum
column number
std::pair< tp_MacroPixel *, tp_MacroPixel * > macroPixelPairType
double _chi2CutMod
max. Chi2/Ndf for module segment matching (default: 50.)
const double _sigma2Z
resolution (squared) for Z measurement
bool _refAtPCA
Use Pca as reference point (else 1. hit)
double _maxPull2XY
max. pull squared to road in XY (default: 15.)
const int _mpId1
ID of macro pixel 1.