|
CbmRoot
|
#include <HitFactory2D.h>
Classes | |
| struct | signal |
Public Member Functions | |
| HitFactory2D (int ncols) | |
| bit map for cluster topology classification | |
| void | reset () |
| bool | HasLeftSgn () const |
| bool | HasOvf () const |
| bool | IsBiasX () const |
| bool | IsBiasXleft () const |
| bool | IsBiasXmid () const |
| bool | IsBiasXright () const |
| bool | IsBiasY () const |
| bool | IsBiasYleft () const |
| bool | IsLeftHit () const |
| bool | IsMaxTilt () const |
| bool | IsOpenLeft () const |
| bool | IsOpenRight () const |
| bool | IsSymmHit () const |
| void | SetBiasX (bool set=1) |
| void | SetBiasXleft (bool set=1) |
| void | SetBiasXmid (bool set=1) |
| void | SetBiasXright (bool set=1) |
| void | SetBiasY (bool set=1) |
| void | SetBiasYleft (bool set=1) |
| void | SetBiasYmid (bool set=1) |
| void | SetBiasYright (bool set=1) |
| void | SetLeftSgn (bool set=1) |
| void | SetLeftHit (bool set=1) |
| void | SetSymmHit (bool set=1) |
| void | SetMaxTilt (bool set=1) |
| void | SetOvf (bool set=1) |
| uint16_t | GetHitMap () const |
| std::pair< double, double > | GetDxDy (const int n0) |
| double | GetXoffset (int n0=0) const |
| double | GetYoffset (int n0=0) const |
| void | RecenterXoffset (double &dx) |
| void | RecenterYoffset (double &dy) |
| Shift graph representation to [-0.5, 0.5]. | |
| int | GetHitClass () const |
| Hit classification wrt center pad. | |
| int | GetHitRcClass (int a0) const |
| Hit classification wrt signal bias. | |
| double | GetXcorr (double dx, int typ, int cls=0) const |
| double | GetYcorr (double dy, int cls=0) const |
| y position correction based on LUT | |
| std::pair< double, double > | CorrectPosition (double dx, double dy, const double xcorr, const double padSizeX, const double padSizeY) |
| Shift graph representation to [-0.5, 0.5]. | |
| template<typename T> | |
| int | Nint (T x) const |
| discretized correction LUT | |
Public Attributes | |
| std::vector< signal > | fSignal |
| int | nCols |
| uint64_t | vt0 = 0 |
| uint8_t | vcM = 0 |
| start time of current hit [clk] | |
| uint8_t | vrM = 0 |
| maximum col | |
| uint8_t | viM = 0 |
| maximum row | |
| uint16_t | vyM = 0 |
| index of maximum signal in the projection | |
Static Public Attributes | |
| static float | fgCorrXdx = 0.01 |
| static float | fgCorrXval [3][NBINSCORRX] |
| step of the discretized correction LUT | |
| static float | fgCorrYval [NBINSCORRY][2] |
| discretized correction LUT | |
| static float | fgCorrRcXval [2][NBINSCORRX] |
| discretized correction params | |
| static float | fgCorrRcXbiasXval [3][NBINSCORRX] |
| discretized correction LUT | |
Definition at line 21 of file HitFactory2D.h.
|
inline |
| std::pair< double, double > cbm::algo::trd::HitFactory2D::CorrectPosition | ( | double | dx, |
| double | dy, | ||
| const double | xcorr, | ||
| const double | padSizeX, | ||
| const double | padSizeY ) |
Shift graph representation to [-0.5, 0.5].
| [in] | dx | offset wrt center pad [pw] |
Definition at line 18 of file HitFactory2D.cxx.
References GetYcorr(), RecenterXoffset(), and RecenterYoffset().
Referenced by cbm::algo::trd::HitFinder2D::BuildHit(), and cbm::algo::trd::HitMerger2D::MergeHits().
| std::pair< double, double > cbm::algo::trd::HitFactory2D::GetDxDy | ( | const int | n0 | ) |
Definition at line 36 of file HitFactory2D.cxx.
References GetXoffset(), GetYoffset(), IsMaxTilt(), IsOpenLeft(), IsOpenRight(), IsSymmHit(), RecenterXoffset(), and viM.
Referenced by cbm::algo::trd::HitFinder2D::BuildHit(), and cbm::algo::trd::HitMerger2D::MergeHits().
| int cbm::algo::trd::HitFactory2D::GetHitClass | ( | ) | const |
Hit classification wrt center pad.
Incapsulate hit classification criteria based on signal topology [0] : center hit type [1] : side hit type
Definition at line 150 of file HitFactory2D.cxx.
References fSignal, HasOvf(), IsMaxTilt(), and IsSymmHit().
Referenced by cbm::algo::trd::HitFinder2D::BuildHit(), and cbm::algo::trd::HitMerger2D::MergeHits().
|
inline |
Definition at line 81 of file HitFactory2D.h.
References vyM.
| int cbm::algo::trd::HitFactory2D::GetHitRcClass | ( | int | a0 | ) | const |
Hit classification wrt signal bias.
Definition at line 167 of file HitFactory2D.cxx.
References IsBiasXleft(), IsBiasXmid(), IsBiasXright(), and vyM.
Referenced by cbm::algo::trd::HitMerger2D::MergeHits().
| double cbm::algo::trd::HitFactory2D::GetXcorr | ( | double | dx, |
| int | typ, | ||
| int | cls = 0 ) const |
Give the linear interpolation of SYS correction for current position offset "dx" based on LUT calculated wrt MC EbyE data. The position offset is expresed in [pw] units while the output is in [cm]
Definition at line 187 of file HitFactory2D.cxx.
References fgCorrRcXbiasXval, fgCorrRcXval, fgCorrXdx, fgCorrXval, NBINSCORRX, and Nint().
Referenced by cbm::algo::trd::HitFinder2D::BuildHit(), and cbm::algo::trd::HitMerger2D::MergeHits().
| double cbm::algo::trd::HitFactory2D::GetXoffset | ( | int | n0 = 0 | ) | const |
| double cbm::algo::trd::HitFactory2D::GetYcorr | ( | double | dy, |
| int | cls = 0 ) const |
y position correction based on LUT
| [in] | dy | offset computed on charge sharing expressed in [ph] |
| [in] | cls | correction class |
Process y offset. Apply systematic correction for y (MC derived). The position offset is expresed in [pw] units while the output is in [cm]
Definition at line 224 of file HitFactory2D.cxx.
References fgCorrYval, fSignal, IsLeftHit(), IsMaxTilt(), and IsSymmHit().
Referenced by CorrectPosition().
| double cbm::algo::trd::HitFactory2D::GetYoffset | ( | int | n0 = 0 | ) | const |
|
inline |
Definition at line 55 of file HitFactory2D.h.
|
inline |
Definition at line 56 of file HitFactory2D.h.
Referenced by cbm::algo::trd::HitFinder2D::CalibrateHit(), cbm::algo::trd::HitMerger2D::CalibrateHit(), and GetHitClass().
|
inline |
Definition at line 57 of file HitFactory2D.h.
Referenced by cbm::algo::trd::HitMerger2D::MergeHits().
|
inline |
Definition at line 58 of file HitFactory2D.h.
Referenced by GetHitRcClass(), and cbm::algo::trd::HitMerger2D::MergeHits().
|
inline |
Definition at line 59 of file HitFactory2D.h.
Referenced by GetHitRcClass().
|
inline |
Definition at line 60 of file HitFactory2D.h.
Referenced by GetHitRcClass().
|
inline |
Definition at line 61 of file HitFactory2D.h.
|
inline |
Definition at line 62 of file HitFactory2D.h.
|
inline |
Definition at line 63 of file HitFactory2D.h.
Referenced by GetYcorr().
|
inline |
Definition at line 64 of file HitFactory2D.h.
Referenced by cbm::algo::trd::HitFinder2D::CalibrateHit(), cbm::algo::trd::HitMerger2D::CalibrateHit(), GetDxDy(), GetHitClass(), GetYcorr(), IsOpenLeft(), and IsOpenRight().
|
inline |
Definition at line 65 of file HitFactory2D.h.
References IsMaxTilt(), and viM.
Referenced by GetDxDy().
|
inline |
Definition at line 276 of file HitFactory2D.cxx.
References fSignal, IsMaxTilt(), and viM.
Referenced by GetDxDy().
|
inline |
Definition at line 67 of file HitFactory2D.h.
Referenced by GetDxDy(), GetHitClass(), and GetYcorr().
|
inline |
discretized correction LUT
Definition at line 124 of file HitFactory2D.h.
References x.
Referenced by GetXcorr().
| void cbm::algo::trd::HitFactory2D::RecenterXoffset | ( | double & | dx | ) |
Shift graph representation to fit dx[pw] in [-0.5, 0.5]
Definition at line 120 of file HitFactory2D.cxx.
References fSignal, nCols, vcM, and x.
Referenced by CorrectPosition(), GetDxDy(), and cbm::algo::trd::HitMerger2D::MergeHits().
| void cbm::algo::trd::HitFactory2D::RecenterYoffset | ( | double & | dy | ) |
Shift graph representation to [-0.5, 0.5].
| [in] | dy | offset wrt center pad [ph] |
Shift graph representation to fit dy[ph] in [-0.5, 0.5]
Definition at line 139 of file HitFactory2D.cxx.
Referenced by CorrectPosition().
|
inline |
Definition at line 45 of file HitFactory2D.h.
References fSignal, vcM, viM, vrM, vt0, and vyM.
Referenced by cbm::algo::trd::HitFinder2D::ProjectDigis(), and cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 68 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitFinder2D::ProjectDigis(), and cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 69 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 70 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 71 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 72 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitFinder2D::ProjectDigis(), and cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 73 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 74 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 75 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 77 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitFinder2D::ProjectDigis(), and cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 76 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitFinder2D::ProjectDigis(), and cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 79 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitFinder2D::ProjectDigis(), and cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 80 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitFinder2D::ProjectDigis(), and cbm::algo::trd::HitMerger2D::ProjectDigis().
|
inline |
Definition at line 78 of file HitFactory2D.h.
References CLRBIT, SETBIT, and vyM.
Referenced by cbm::algo::trd::HitFinder2D::ProjectDigis(), and cbm::algo::trd::HitMerger2D::ProjectDigis().
|
static |
discretized correction LUT
Definition at line 120 of file HitFactory2D.h.
Referenced by GetXcorr().
|
static |
discretized correction params
Definition at line 119 of file HitFactory2D.h.
Referenced by GetXcorr().
|
static |
Definition at line 116 of file HitFactory2D.h.
Referenced by GetXcorr().
|
static |
step of the discretized correction LUT
Definition at line 117 of file HitFactory2D.h.
Referenced by GetXcorr().
|
static |
discretized correction LUT
Definition at line 118 of file HitFactory2D.h.
Referenced by GetYcorr().
| std::vector<signal> cbm::algo::trd::HitFactory2D::fSignal |
Definition at line 34 of file HitFactory2D.h.
Referenced by cbm::algo::trd::HitFinder2D::BuildHit(), GetHitClass(), GetXoffset(), GetYcorr(), GetYoffset(), IsOpenRight(), cbm::algo::trd::HitMerger2D::MergeHits(), cbm::algo::trd::HitFinder2D::ProjectDigis(), cbm::algo::trd::HitMerger2D::ProjectDigis(), RecenterXoffset(), and reset().
| int cbm::algo::trd::HitFactory2D::nCols |
Definition at line 35 of file HitFactory2D.h.
Referenced by HitFactory2D(), and RecenterXoffset().
| uint8_t cbm::algo::trd::HitFactory2D::vcM = 0 |
start time of current hit [clk]
Definition at line 38 of file HitFactory2D.h.
Referenced by cbm::algo::trd::HitFinder2D::CalibrateHit(), cbm::algo::trd::HitMerger2D::CalibrateHit(), HitFactory2D(), cbm::algo::trd::HitFinder2D::ProjectDigis(), cbm::algo::trd::HitMerger2D::ProjectDigis(), RecenterXoffset(), and reset().
| uint8_t cbm::algo::trd::HitFactory2D::viM = 0 |
maximum row
Definition at line 40 of file HitFactory2D.h.
Referenced by GetDxDy(), HitFactory2D(), IsOpenLeft(), IsOpenRight(), cbm::algo::trd::HitFinder2D::ProjectDigis(), cbm::algo::trd::HitMerger2D::ProjectDigis(), and reset().
| uint8_t cbm::algo::trd::HitFactory2D::vrM = 0 |
maximum col
Definition at line 39 of file HitFactory2D.h.
Referenced by cbm::algo::trd::HitFinder2D::CalibrateHit(), cbm::algo::trd::HitMerger2D::CalibrateHit(), HitFactory2D(), cbm::algo::trd::HitFinder2D::ProjectDigis(), cbm::algo::trd::HitMerger2D::ProjectDigis(), and reset().
| uint64_t cbm::algo::trd::HitFactory2D::vt0 = 0 |
Definition at line 37 of file HitFactory2D.h.
Referenced by cbm::algo::trd::HitFinder2D::CalibrateHit(), cbm::algo::trd::HitMerger2D::CalibrateHit(), HitFactory2D(), cbm::algo::trd::HitFinder2D::ProjectDigis(), cbm::algo::trd::HitMerger2D::ProjectDigis(), and reset().
| uint16_t cbm::algo::trd::HitFactory2D::vyM = 0 |
index of maximum signal in the projection
Definition at line 41 of file HitFactory2D.h.
Referenced by GetHitMap(), GetHitRcClass(), HasLeftSgn(), HasOvf(), HitFactory2D(), IsBiasX(), IsBiasXleft(), IsBiasXmid(), IsBiasXright(), IsBiasY(), IsBiasYleft(), IsLeftHit(), IsMaxTilt(), IsSymmHit(), cbm::algo::trd::HitMerger2D::MergeHits(), reset(), SetBiasX(), SetBiasXleft(), SetBiasXmid(), SetBiasXright(), SetBiasY(), SetBiasYleft(), SetBiasYmid(), SetBiasYright(), SetLeftHit(), SetLeftSgn(), SetMaxTilt(), SetOvf(), and SetSymmHit().