|
MarlinTPC
1.2.0
|
Row based segment. More...
#include <RowTripletBasedTrackFinderProcessor.h>
Public Member Functions | |
| rb_Segment (double, trpListType) | |
| Construct row based segment from (unused hits of) triplets. More... | |
| rb_Segment (double, hitListType, unsigned int=1) | |
| Construct row based segment from (unused) hits in list. More... | |
| rb_Segment (std::vector< rb_Segment * > segments) | |
| Construct row based segment from other segments. More... | |
| double | getBzc () const |
| Get Bz*c. | |
| int | getFirstRow () const |
| Get first row number. | |
| int | getLastRow () const |
| Get first last number. | |
| void | getRefPoint (double *) const |
| Get reference point. More... | |
| int | getNdf () const |
| Get number of degrees of freedom (of segment fit). | |
| double | getChi2 () const |
| Get chi2 from segment fit. | |
| void | getPar (double *) const |
| Get (all five helix) parameters from segment fit. More... | |
| const hitListType & | getHitList () const |
| Get list of hits. | |
| const TVectorD & | getPar () const |
| Get parameter vector. | |
| const TMatrixDSym & | getCov () const |
| Get covariance matrix. | |
| bool | match (rb_Segment *, const double, const int) const |
| Match segment with other segment. More... | |
| bool | match (rb_Hit *, const double) const |
| Match segment with unused hit. More... | |
| void | match (hitListType &, hitListType &, const double) const |
| Match segment with (list of) unused hits. More... | |
| void | getLCIOStateAtRefPoint (const double *, TVectorD &, TMatrixDSym &) const |
| Get segment state at reference point. More... | |
| void | fillRowMap (std::map< int, int > &) const |
| Fill row map. More... | |
| int | getId () const |
| Get segment ID. | |
| void | setId (int) |
| Set segment ID. More... | |
| void | addHit (rb_Hit *) |
| Add (unused) hit to segment. More... | |
Row based segment.
Is build from (the unused hits) of matching triplets (from equivalence classes) and fitted in XY and ZS (or from other matching segments).
| marlintpc::rb_Segment::rb_Segment | ( | double | Bzc, |
| trpListType | triplets | ||
| ) |
Construct row based segment from (unused hits of) triplets.
Build and fit segments. Corresponding hits are flagged as used.
| [in] | Bzc | Bz*c |
| [in] | triplets | list of triplets |
References marlintpc::rb_Hit::getRow(), marlintpc::rb_Hit::getUsed(), and marlintpc::rb_Hit::setUsed().
| marlintpc::rb_Segment::rb_Segment | ( | double | Bzc, |
| hitListType | hits, | ||
| unsigned int | maxHitsPerRow = 1 |
||
| ) |
Construct row based segment from (unused) hits in list.
Build and fit segments. Corresponding hits are flagged as used.
| [in] | Bzc | Bz*c |
| [in] | hits | list of hits |
| [in] | maxHitsPerRow | maximum number of hits per row |
References marlintpc::rb_Hit::getRow(), marlintpc::rb_Hit::getUsed(), and marlintpc::rb_Hit::setUsed().
| marlintpc::rb_Segment::rb_Segment | ( | std::vector< rb_Segment * > | segments | ) |
Construct row based segment from other segments.
Combine segments.
| [in] | segments | list of segments |
References marlintpc::simpleHelix::getStateAt().
| void marlintpc::rb_Segment::addHit | ( | rb_Hit * | hit | ) |
Add (unused) hit to segment.
Keeping row based ordering of hits. Hit is flagged as used.
| hit | hit to add |
References marlintpc::rb_Hit::getRow(), and marlintpc::rb_Hit::setUsed().
Referenced by marlintpc::RowBasedFastHoughTransformationProcessor::processEvent().
| void marlintpc::rb_Segment::fillRowMap | ( | std::map< int, int > & | rowMap | ) | const |
Fill row map.
| [in,out] | rowMap | row map |
Referenced by marlintpc::RowBasedFastHoughTransformationProcessor::processEvent().
| void marlintpc::rb_Segment::getLCIOStateAtRefPoint | ( | const double * | refPos, |
| TVectorD & | newPar, | ||
| TMatrixDSym & | newCov | ||
| ) | const |
Get segment state at reference point.
Propagate track state at point and transform from helix to LCIO representation.
| [in] | refPos | reference point (X coordinate) |
| [out] | newPar | parameter vector |
| [out] | newCov | covariance matrix |
References getCov(), getPar(), getRefPoint(), marlintpc::simpleHelix::getStateAt(), and marlintpc::simpleHelix::helixToLCIOJacobian().
| void marlintpc::rb_Segment::getPar | ( | double * | par | ) | const |
Get (all five helix) parameters from segment fit.
| [out] | par | helix parameter (curvature is zero for Bz*c = 0.) |
Referenced by match().
| void marlintpc::rb_Segment::getRefPoint | ( | double * | position | ) | const |
Get reference point.
| [out] | position | position of reference point |
Referenced by getLCIOStateAtRefPoint(), and match().
| bool marlintpc::rb_Segment::match | ( | rb_Segment * | seg, |
| const double | chi2Cut, | ||
| const int | trpStepSize | ||
| ) | const |
Match segment with other segment.
Compare the (4 (line) or 5 (helix)) track parameters (at the mid point). The segments must not overlap (in rows) and the (row) gap must be smaller than the average length.
| [in] | seg | segment to compare with |
| [in] | chi2Cut | chi2/ndf cut for segment matching |
| [in] | trpStepSize | triplet step size (=2) |
References getCov(), getFirstRow(), getLastRow(), getPar(), getRefPoint(), and marlintpc::simpleHelix::getStateAt().
Referenced by match(), and marlintpc::RowBasedFastHoughTransformationProcessor::processEvent().
| bool marlintpc::rb_Segment::match | ( | rb_Hit * | hit, |
| const double | chi2Cut | ||
| ) | const |
Match segment with unused hit.
Compare the (2) positional track parameters at the hit with the hit measurements (are zero there) and errors.
| [in] | hit | hit to compare with |
| [in] | chi2Cut | chi2 cut for hit matching |
References getCov(), marlintpc::simpleHelix::getExpectedPlanePos(), getPar(), marlintpc::rb_Hit::getPhiMeas(), marlintpc::rb_Hit::getPos(), getRefPoint(), marlintpc::simpleHelix::getStateAt(), marlintpc::rb_Hit::getVarXY(), and marlintpc::rb_Hit::getVarZ().
| void marlintpc::rb_Segment::match | ( | hitListType & | hits, |
| hitListType & | matchingHits, | ||
| const double | chi2Cut | ||
| ) | const |
Match segment with (list of) unused hits.
| [in] | hits | hits to compare with |
| [in] | matchingHits | matching hits |
| [in] | chi2Cut | chi2 cut for hit matching |
References match().
| void marlintpc::rb_Segment::setId | ( | int | id | ) |
Set segment ID.
| [in] | id | ID |
1.8.6