CbmRoot
|
#include <CaQa.h>
Public Member Functions | |
Qa (std::shared_ptr< HistogramSender > pSender) | |
Default destructor. | |
Qa ()=default | |
Constructor from the configuration object. | |
Qa (const Qa &)=delete | |
Copy constructor. | |
Qa (Qa &&)=delete | |
Move constructor. | |
~Qa ()=default | |
Destructor. | |
Qa & | operator= (const Qa &)=delete |
Copy assignment operator. | |
Qa & | operator= (Qa &&)=delete |
Move assignment operator. | |
void | Exec () |
QA execution function. | |
void | Init () |
Initializes the QA. | |
bool | CheckInit () const |
Check initialization. | |
bool | IsSenderDefined () const |
Checks, if the histogram sender is defined. | |
void | RegisterInputData (const InputData *pInputData) |
Registers tracking input data object. | |
void | RegisterTracks (const Vector< Track > *pvTracks) |
Registers track vector. | |
void | RegisterRecoHitIndices (const Vector< HitIndex_t > *pvRecoHits) |
Registers reco hits indices vector. | |
void | RegisterParameters (const Parameters< fvec > *pParameters) |
Registers tracking parameters object. | |
Private Types | |
enum class | EHitSet { Input , Used , END } |
Hit set entries. More... | |
template<typename T > | |
using | HitSetArray_t = EnumArray<EHitSet, T> |
Definition of enum array over EHitSet entries. | |
using | OccupHistContainer_t = std::vector<HitSetArray_t<qa::H2D*>> |
Private Member Functions | |
void | FillHitDistributionsForHitSet (EHitSet hitSet, const ca::Hit &hit) |
Fills hit distributions. | |
Private Attributes | |
double | fMinHitTime = std::numeric_limits<double>::max() |
double | fMaxHitTime = std::numeric_limits<double>::lowest() |
qa::Data | fQaData |
QA data. | |
std::shared_ptr< HistogramSender > | fpSender = nullptr |
Histogram sender. | |
const Parameters< fvec > * | fpParameters = nullptr |
Pointer to tracking parameters. | |
const InputData * | fpInputData = nullptr |
Pointer to input data. | |
const Vector< Track > * | fpvTracks = nullptr |
Pointer to tracks vector. | |
const Vector< HitIndex_t > * | fpvRecoHits = nullptr |
Pointer to reco hit indices. | |
OccupHistContainer_t | fvphHitOccupXY |
hist: Hit occupancy in different stations in XY plane | |
OccupHistContainer_t | fvphHitOccupZX |
hist: Hit occupancy in different stations in ZX plane | |
OccupHistContainer_t | fvphHitOccupZY |
hist: Hit occupancy in different stations in ZY plane | |
std::vector< qa::Prof2D * > | fvphHitUsageXY |
prof: Hit usage in different stations in XY plane | |
HitSetArray_t< qa::H1D * > | fvphHitFrontKeyIndex = {nullptr, nullptr} |
Indices of front hit keys. | |
HitSetArray_t< qa::H1D * > | fvphHitBackKeyIndex = {nullptr, nullptr} |
Indices of back hit keys. | |
std::vector< HitSetArray_t< qa::H1D * > > | fvphHitTime |
Time distribution of hits. | |
std::array< qa::H1D *, knTrkParPoints > | fvphTrkTheta = {{0}} |
hist: theta at first/last hit | |
std::array< qa::H1D *, knTrkParPoints > | fvphTrkPhi = {{0}} |
hist: phi at first/last hit | |
std::array< qa::H1D *, knTrkParPoints > | fvphTrkChi2Ndf = {{0}} |
hist: chi2/NDF at first/last hit | |
std::array< qa::H2D *, knTrkParPoints > | fvphTrkPhiTheta = {{0}} |
hist: theta vs. phi at first/last hit | |
qa::H2D * | fphTrkFstLstSta = nullptr |
hist: fst vs lst station index | |
qa::H1D * | fphTrkNofHits = nullptr |
hist: number of hits in track | |
Static Private Attributes | |
static constexpr HitSetArray_t< EHitSet > | kHitSets = {EHitSet::Input, EHitSet::Used} |
Array of EHitSet entries for iteration. | |
static constexpr double | kXYZMargin = 0.05 |
Margin for occupancy distributions in XY plane. | |
static constexpr int | knHitSets = 2 |
Number of hit sets: input/used. | |
static constexpr int | knTrkParPoints = 2 |
Number of track points to build par distributions. | |
static constexpr int | knStaMax = 16 |
Max number of stations (histogram binning) | |
static constexpr bool | kDebug = false |
Additional histograms. | |
|
private |
|
private |
|
strongprivate |
|
inline |
|
default |
Constructor from the configuration object.
config | QA configuration object |
|
delete |
Copy constructor.
|
delete |
Move constructor.
|
default |
Destructor.
bool Qa::CheckInit | ( | ) | const |
Check initialization.
Definition at line 30 of file CaQa.cxx.
References fpInputData, fpParameters, fpvRecoHits, fpvTracks, and L_.
Referenced by Exec().
void Qa::Exec | ( | ) |
QA execution function.
Definition at line 305 of file CaQa.cxx.
References CheckInit(), cbm::algo::qa::H1D::Fill(), cbm::algo::qa::H2D::Fill(), FillHitDistributionsForHitSet(), fMaxHitTime, fMinHitTime, fphTrkFstLstSta, fphTrkNofHits, fpInputData, fpSender, fpvRecoHits, fpvTracks, fQaData, fvphHitUsageXY, fvphTrkChi2Ndf, fvphTrkPhi, fvphTrkPhiTheta, fvphTrkTheta, cbm::algo::ca::InputData::GetHit(), cbm::algo::ca::InputData::GetHits(), cbm::algo::ca::InputData::GetNhits(), hits, Input, kDebug, knTrkParPoints, L_, cbm::algo::qa::Data::Send(), cbm::algo::ca::Hit::Station(), Used, x, and y.
Referenced by cbm::algo::TrackingChain::PrepareOutput().
|
private |
Fills hit distributions.
hitSet | Hit set enum entry |
hit | Reference to hit |
Definition at line 384 of file CaQa.cxx.
References cbm::algo::ca::Hit::BackKey(), fMaxHitTime, fMinHitTime, fpInputData, fpParameters, cbm::algo::ca::Hit::FrontKey(), fvphHitBackKeyIndex, fvphHitFrontKeyIndex, fvphHitOccupXY, fvphHitOccupZX, fvphHitOccupZY, fvphHitTime, cbm::algo::ca::InputData::GetNhitKeys(), kDebug, cbm::algo::ca::Hit::Station(), cbm::algo::ca::Hit::T(), cbm::algo::ca::Hit::X(), x, cbm::algo::ca::Hit::Y(), y, and cbm::algo::ca::Hit::Z().
Referenced by Exec().
void Qa::Init | ( | ) |
Initializes the QA.
Definition at line 54 of file CaQa.cxx.
References cbm::algo::qa::Data::AddCanvasConfig(), fphTrkFstLstSta, fphTrkNofHits, fpParameters, fpSender, fQaData, fvphHitBackKeyIndex, fvphHitFrontKeyIndex, fvphHitOccupXY, fvphHitOccupZX, fvphHitOccupZY, fvphHitTime, fvphHitUsageXY, fvphTrkChi2Ndf, fvphTrkPhi, fvphTrkPhiTheta, fvphTrkTheta, cbm::algo::qa::Data::Init(), Input, kDebug, cbm::algo::ca::kDetName, kHitSets, knStaMax, knTrkParPoints, kXYZMargin, and cbm::algo::qa::Data::MakeObj().
Referenced by cbm::algo::TrackingChain::Init().
|
inline |
Checks, if the histogram sender is defined.
Definition at line 91 of file CaQa.h.
References fpSender.
Referenced by cbm::algo::TrackingChain::Init(), and cbm::algo::TrackingChain::PrepareOutput().
|
inline |
Registers tracking input data object.
Definition at line 95 of file CaQa.h.
References fpInputData.
Referenced by cbm::algo::TrackingChain::PrepareOutput().
|
inline |
Registers tracking parameters object.
Definition at line 107 of file CaQa.h.
References fpParameters.
Referenced by cbm::algo::TrackingChain::Init().
|
inline |
Registers reco hits indices vector.
Definition at line 103 of file CaQa.h.
References fpvRecoHits.
Referenced by cbm::algo::TrackingChain::PrepareOutput().
Registers track vector.
Definition at line 99 of file CaQa.h.
References fpvTracks.
Referenced by cbm::algo::TrackingChain::PrepareOutput().
|
private |
Definition at line 123 of file CaQa.h.
Referenced by Exec(), and FillHitDistributionsForHitSet().
|
private |
Definition at line 122 of file CaQa.h.
Referenced by Exec(), and FillHitDistributionsForHitSet().
|
private |
|
private |
|
private |
Pointer to input data.
Definition at line 130 of file CaQa.h.
Referenced by CheckInit(), Exec(), FillHitDistributionsForHitSet(), and RegisterInputData().
|
private |
Pointer to tracking parameters.
Definition at line 129 of file CaQa.h.
Referenced by CheckInit(), FillHitDistributionsForHitSet(), Init(), and RegisterParameters().
|
private |
Histogram sender.
Definition at line 128 of file CaQa.h.
Referenced by Exec(), Init(), and IsSenderDefined().
|
private |
Pointer to reco hit indices.
Definition at line 132 of file CaQa.h.
Referenced by CheckInit(), Exec(), and RegisterRecoHitIndices().
Pointer to tracks vector.
Definition at line 131 of file CaQa.h.
Referenced by CheckInit(), Exec(), and RegisterTracks().
|
private |
|
private |
Indices of back hit keys.
Definition at line 143 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
Indices of front hit keys.
Definition at line 142 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
hist: Hit occupancy in different stations in XY plane
Definition at line 136 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
hist: Hit occupancy in different stations in ZX plane
Definition at line 137 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
hist: Hit occupancy in different stations in ZY plane
Definition at line 138 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
Time distribution of hits.
Definition at line 145 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticconstexprprivate |
Additional histograms.
Definition at line 120 of file CaQa.h.
Referenced by Exec(), FillHitDistributionsForHitSet(), and Init().
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |