MyMarlinTPC
170316
|
Row based triplet. More...
#include <RowTripletBasedTrackFinderProcessor.h>
Public Member Functions | |
rb_Triplet (rb_Doublet &, rb_Hit *) | |
Construct row based triplet. More... | |
int | getRow () const |
Get row number (of center hit). More... | |
double | getX () const |
Get X coordinate. More... | |
double | getY () const |
Get Y coordinate. More... | |
double | getZ () const |
Get Z coordinate. More... | |
void | getPos (double *) const |
Get position. More... | |
double | getVarXYPos (const double=0.) const |
Get XY variance (position). More... | |
double | getVarXYDir () const |
Get XY variance (direction: phi). More... | |
double | getVarZPos (const double=0.) const |
Get Z variance (position). More... | |
double | getVarZDir () const |
Get Z variance (direction: tan(lambda)). More... | |
double | getPhiMeas () const |
Get XY measurement direction (average of outer hits). More... | |
double | getPhi () const |
Get direction in XY. More... | |
double | getTanl () const |
Get slope in ZS. More... | |
void | getPosCloseTo (const double, const double, double *, double &) const |
Get position close to reference point. More... | |
rb_Hit * | getHit (const int) const |
Get hit. More... | |
bool | match (rb_Triplet *, const double, const double) const |
Match triplet with other triplet. More... | |
double | getCosBeta () const |
Get cos(beta). More... | |
Private Attributes | |
rb_Hit * | _hit [3] |
pointers to hits More... | |
double | _phiMeas |
(average) measurement direction in XY More... | |
double | _posX |
X position. More... | |
double | _posY |
Y position. More... | |
double | _posZ |
Z position. More... | |
double | _varXY [2] |
(diagonal of) XY covariance matrix (position, slope) More... | |
double | _phi |
XY direction. More... | |
double | _tanl |
slope in ZS More... | |
double | _varZ [2] |
(diagonal of) ZS covariance matrix (position, slope) More... | |
double | _length |
length More... | |
double | _cosb |
cos(beta) More... | |
Row based triplet.
Is build from matching hits in even or odd rows and has a position and a direction (determined from seeding doublet) in XY and ZS with corresponding covariances.
Definition at line 207 of file RowTripletBasedTrackFinderProcessor.h.
marlintpc::rb_Triplet::rb_Triplet | ( | rb_Doublet & | doublet, |
rb_Hit * | hit | ||
) |
Construct row based triplet.
[in] | doublet | doublet of outer hits |
[in] | hit | center hit |
Definition at line 726 of file RowTripletBasedTrackFinderProcessor.cc.
References marlintpc::rb_Hit::_cosb, marlintpc::rb_Doublet::getHit(), and marlintpc::rb_Doublet::getParameters().
double marlintpc::rb_Triplet::getCosBeta | ( | ) | const |
Get cos(beta).
Definition at line 813 of file RowTripletBasedTrackFinderProcessor.cc.
References marlintpc::rb_Hit::_cosb.
rb_Hit * marlintpc::rb_Triplet::getHit | ( | const int | ihit | ) | const |
Get hit.
[in] | ihit | hit index |
Definition at line 879 of file RowTripletBasedTrackFinderProcessor.cc.
double marlintpc::rb_Triplet::getPhi | ( | ) | const |
Get direction in XY.
Definition at line 803 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
double marlintpc::rb_Triplet::getPhiMeas | ( | ) | const |
Get XY measurement direction (average of outer hits).
Definition at line 798 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
void marlintpc::rb_Triplet::getPos | ( | double * | position | ) | const |
Get position.
[out] | position | position |
Definition at line 765 of file RowTripletBasedTrackFinderProcessor.cc.
void marlintpc::rb_Triplet::getPosCloseTo | ( | const double | xref, |
const double | yref, | ||
double * | position, | ||
double & | ds | ||
) | const |
Get position close to reference point.
[in] | xref | X of reference point |
[in] | yref | Y of reference point |
[out] | position | position |
[out] | ds | arc length (to position) |
Definition at line 865 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
int marlintpc::rb_Triplet::getRow | ( | ) | const |
Get row number (of center hit).
Definition at line 742 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
double marlintpc::rb_Triplet::getTanl | ( | ) | const |
Get slope in ZS.
Definition at line 808 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
double marlintpc::rb_Triplet::getVarXYDir | ( | ) | const |
Get XY variance (direction: phi).
Definition at line 780 of file RowTripletBasedTrackFinderProcessor.cc.
References marlintpc::rb_Hit::_cosb.
Referenced by match().
double marlintpc::rb_Triplet::getVarXYPos | ( | const double | ds = 0. | ) | const |
Get XY variance (position).
[in] | ds | arc length |
Definition at line 775 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
double marlintpc::rb_Triplet::getVarZDir | ( | ) | const |
Get Z variance (direction: tan(lambda)).
Definition at line 793 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
double marlintpc::rb_Triplet::getVarZPos | ( | const double | ds = 0. | ) | const |
Get Z variance (position).
[in] | ds | arc length |
Definition at line 788 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
double marlintpc::rb_Triplet::getX | ( | ) | const |
Get X coordinate.
Definition at line 747 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
double marlintpc::rb_Triplet::getY | ( | ) | const |
Get Y coordinate.
Definition at line 752 of file RowTripletBasedTrackFinderProcessor.cc.
Referenced by match().
double marlintpc::rb_Triplet::getZ | ( | ) | const |
Get Z coordinate.
Definition at line 757 of file RowTripletBasedTrackFinderProcessor.cc.
bool marlintpc::rb_Triplet::match | ( | rb_Triplet * | trp, |
const double | posCut, | ||
const double | dirCut | ||
) | const |
Match triplet with other triplet.
Match triplets in position and direction in XY and ZS.
[in] | trp | triplet to compare with |
[in] | posCut | cuts in normalized variance for position matching of (disjunct, overlapping) triplets |
[in] | dirCut | cuts in normalized variance for direction matching of (disjunct, overlapping) triplets |
Chi2 values calculated from differences in position (at mid point) and direction and covariance matrices in XY and ZS are used as matching criteria (separately).
Matching cuts at ~4 sigma.
Definition at line 831 of file RowTripletBasedTrackFinderProcessor.cc.
References getPhi(), marlintpc::rb_Hit::getPhiMeas(), getPhiMeas(), getPosCloseTo(), marlintpc::rb_Hit::getRow(), getRow(), getTanl(), getVarXYDir(), getVarXYPos(), getVarZDir(), getVarZPos(), getX(), and getY().
|
private |
cos(beta)
Definition at line 238 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
pointers to hits
Definition at line 228 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
length
Definition at line 237 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
XY direction.
Definition at line 234 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
(average) measurement direction in XY
Definition at line 229 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
X position.
Definition at line 230 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
Y position.
Definition at line 231 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
Z position.
Definition at line 232 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
slope in ZS
Definition at line 235 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
(diagonal of) XY covariance matrix (position, slope)
Definition at line 233 of file RowTripletBasedTrackFinderProcessor.h.
|
private |
(diagonal of) ZS covariance matrix (position, slope)
Definition at line 236 of file RowTripletBasedTrackFinderProcessor.h.