#include <MatchDCWithLine.h>
|
| | MatchDCWithLine ()=default |
| | MatchDCWithLine (const Line &l, double deltaCut, MatchStrategy strategy, double tubeRadius) |
| void | set (const Line &l, double deltaCut, MatchStrategy strategy, double tubeRadius) |
| void | setTubeRadius (double radius) |
| const DCOnTrackVec & | match (const DCVec &dcs) |
| const DCOnTrackVec & | match (const DCOnTrackVec &dcs, const HitSelection *selection=nullptr, bool recoverMdtHits=true, bool usePreciseErrors=false) |
| unsigned int | deltas () const |
| unsigned int | hitsOutOfTime () const |
| unsigned int | hitsOnTrack () const |
| unsigned int | closeHits () const |
| unsigned int | showerHits () const |
| unsigned int | passedTubes () const |
| unsigned int | hitsMl1 () const |
| unsigned int | hitsMl2 () const |
| unsigned int | matchDifference () const |
| | returns the number of DCOnTrack that have a different status after the match, returns 0 if used with DCVec
|
|
| void | reset () |
| void | matchDC (DCOnTrack &dc, double &res, double &dline, bool forceOnTrack=false, bool forceOffTrack=false, bool usePreciseErrors=false) |
| bool | select (double residual, double error) const |
Definition at line 16 of file MatchDCWithLine.h.
◆ MatchStrategy
◆ MatchDCWithLine() [1/2]
| TrkDriftCircleMath::MatchDCWithLine::MatchDCWithLine |
( |
| ) |
|
|
default |
◆ MatchDCWithLine() [2/2]
| TrkDriftCircleMath::MatchDCWithLine::MatchDCWithLine |
( |
const Line & | l, |
|
|
double | deltaCut, |
|
|
MatchStrategy | strategy, |
|
|
double | tubeRadius ) |
|
inline |
Definition at line 22 of file MatchDCWithLine.h.
22 :
26 }
ResidualWithLine m_resWithLine
void setTubeRadius(double radius)
DCOnTrackVec m_dcOnTrackVec
l
Printing final latex table to .tex output file.
◆ closeHits()
| unsigned int TrkDriftCircleMath::MatchDCWithLine::closeHits |
( |
| ) |
const |
|
inline |
◆ deltas()
| unsigned int TrkDriftCircleMath::MatchDCWithLine::deltas |
( |
| ) |
const |
|
inline |
◆ hitsMl1()
| unsigned int TrkDriftCircleMath::MatchDCWithLine::hitsMl1 |
( |
| ) |
const |
|
inline |
◆ hitsMl2()
| unsigned int TrkDriftCircleMath::MatchDCWithLine::hitsMl2 |
( |
| ) |
const |
|
inline |
◆ hitsOnTrack()
| unsigned int TrkDriftCircleMath::MatchDCWithLine::hitsOnTrack |
( |
| ) |
const |
|
inline |
◆ hitsOutOfTime()
| unsigned int TrkDriftCircleMath::MatchDCWithLine::hitsOutOfTime |
( |
| ) |
const |
|
inline |
◆ match() [1/2]
| const DCOnTrackVec & TrkDriftCircleMath::MatchDCWithLine::match |
( |
const DCOnTrackVec & | dcs, |
|
|
const HitSelection * | selection = nullptr, |
|
|
bool | recoverMdtHits = true, |
|
|
bool | usePreciseErrors = false ) |
Definition at line 45 of file MatchDCWithLine.cxx.
46 {
47
49
52 unsigned int index = 0;
55 double rhit =
it->r() < 0. ? -
it->r() :
it->r();
56 if (dline < 0.) dline *= -1.;
57
58 double res = dline - rhit;
59
60 DCOnTrack dcOnTrack(*it,
res);
61 dcOnTrack.errorTrack(
it->errorTrack());
62
63
66
69 matchDC(dcOnTrack,
res, dline,
true,
false, usePrecise);
70 } else if (recoverMdtHits) {
71 matchDC(dcOnTrack,
res, dline,
false,
false, usePrecise);
72 } else {
73 matchDC(dcOnTrack,
res, dline,
false,
true, usePrecise);
74 }
75 } else {
76 matchDC(dcOnTrack,
res, dline,
false,
false, usePrecise);
77 }
78
80 }
82 }
std::pair< std::vector< unsigned int >, bool > res
@ OutsideRoad
inside road but too far to be on track
void matchDC(DCOnTrack &dc, double &res, double &dline, bool forceOnTrack=false, bool forceOffTrack=false, bool usePreciseErrors=false)
unsigned int m_matchDifference
const std::string selection
DCOnTrackVec::const_iterator DCOnTrackCit
◆ match() [2/2]
add check to remove hits in the same tube check whether
- this is not the first tube
- the tubes have the same id
Definition at line 9 of file MatchDCWithLine.cxx.
9 {
10
13 DCCit it_end = dcs.end();
14 for (;
it != it_end; ++
it) {
16 double rhit =
it->r() < 0. ? -
it->r() :
it->r();
17 if (dline < 0.) dline *= -1.;
18
19 double res = dline - rhit;
20
21 DCOnTrack dcOnTrack(*it,
res);
22
24
31
33
36 }
37 } else {
39 }
40 }
41 }
43 }
DCVec::const_iterator DCCit
◆ matchDC()
| void TrkDriftCircleMath::MatchDCWithLine::matchDC |
( |
DCOnTrack & | dc, |
|
|
double & | res, |
|
|
double & | dline, |
|
|
bool | forceOnTrack = false, |
|
|
bool | forceOffTrack = false, |
|
|
bool | usePreciseErrors = false ) |
|
private |
Definition at line 84 of file MatchDCWithLine.cxx.
85 {
86
87 double error = usePrecise ? dcOnTrack.drPrecise() : dcOnTrack.dr();
91 if (dcOnTrack.id().ml() == 0)
93 else
96 } else {
101 } else {
104 }
106 } else {
110 } else {
112 }
114 }
115 }
116 }
@ OutOfTime
delta electron
@ CloseDC
too large drift time
@ LateHit
drift time compatible with drift spectrum
@ InTime
drift time too small to be compatible with drift spectrum
unsigned int m_showerHits
bool select(double residual, double error) const
unsigned int m_passedTubes
◆ matchDifference()
| unsigned int TrkDriftCircleMath::MatchDCWithLine::matchDifference |
( |
| ) |
const |
|
inline |
◆ passedTubes()
| unsigned int TrkDriftCircleMath::MatchDCWithLine::passedTubes |
( |
| ) |
const |
|
inline |
◆ reset()
| void TrkDriftCircleMath::MatchDCWithLine::reset |
( |
| ) |
|
|
private |
◆ select()
| bool TrkDriftCircleMath::MatchDCWithLine::select |
( |
double | residual, |
|
|
double | error ) const |
|
private |
◆ set()
| void TrkDriftCircleMath::MatchDCWithLine::set |
( |
const Line & | l, |
|
|
double | deltaCut, |
|
|
MatchStrategy | strategy, |
|
|
double | tubeRadius ) |
|
inline |
◆ setTubeRadius()
| void TrkDriftCircleMath::MatchDCWithLine::setTubeRadius |
( |
double | radius | ) |
|
|
inline |
◆ showerHits()
| unsigned int TrkDriftCircleMath::MatchDCWithLine::showerHits |
( |
| ) |
const |
|
inline |
◆ m_closeByCut
| double TrkDriftCircleMath::MatchDCWithLine::m_closeByCut {0.} |
|
private |
◆ m_closeHits
| unsigned int TrkDriftCircleMath::MatchDCWithLine::m_closeHits {0} |
|
private |
◆ m_dcOnTrackVec
| DCOnTrackVec TrkDriftCircleMath::MatchDCWithLine::m_dcOnTrackVec |
|
private |
◆ m_deltaCut
| double TrkDriftCircleMath::MatchDCWithLine::m_deltaCut {0.} |
|
private |
◆ m_deltas
| unsigned int TrkDriftCircleMath::MatchDCWithLine::m_deltas {0} |
|
private |
◆ m_matchDifference
| unsigned int TrkDriftCircleMath::MatchDCWithLine::m_matchDifference {0} |
|
private |
◆ m_ml1
| unsigned int TrkDriftCircleMath::MatchDCWithLine::m_ml1 {0} |
|
private |
◆ m_ml2
| unsigned int TrkDriftCircleMath::MatchDCWithLine::m_ml2 {0} |
|
private |
◆ m_onTracks
| unsigned int TrkDriftCircleMath::MatchDCWithLine::m_onTracks {0} |
|
private |
◆ m_outOfTimes
| unsigned int TrkDriftCircleMath::MatchDCWithLine::m_outOfTimes {0} |
|
private |
◆ m_passedTubes
| unsigned int TrkDriftCircleMath::MatchDCWithLine::m_passedTubes {0} |
|
private |
◆ m_resWithLine
◆ m_showerCut
| double TrkDriftCircleMath::MatchDCWithLine::m_showerCut {0.} |
|
private |
◆ m_showerHits
| unsigned int TrkDriftCircleMath::MatchDCWithLine::m_showerHits {0} |
|
private |
◆ m_strategy
◆ m_tubeRadius
| double TrkDriftCircleMath::MatchDCWithLine::m_tubeRadius {0.} |
|
private |
The documentation for this class was generated from the following files: