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 |
bit map for cluster topology classification
Definition at line 43 of file HitFactory2D.h.
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 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(), 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(), 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(), 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(), 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(), 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().