|
CbmRoot
|
#include <CaQa.h>
Public Member Functions | |
| Qa (const std::unique_ptr< qa::Manager > &pManager, std::string_view name) | |
| Constructor. | |
| 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. | |
| 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. | |
| bool | IsActive () const |
| Checks, if the task is active. | |
| const std::string & | GetTaskName () |
| Gets name of the task. | |
Protected Member Functions | |
| void | AddCanvasConfig (const CanvasConfig &canvas) |
| Adds a canvas configuration. | |
| template<class Obj, typename... Args> | |
| Obj * | MakeObj (Args... args) |
| Creates a QA-object and returns the pointer to it. | |
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() |
| 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 * | fphTrkOriginXY = nullptr |
| hist: origin of tracks in x-y plane [cm] | |
| qa::H2D * | fphTrkFstLstSta = nullptr |
| hist: fst vs lst station index | |
| qa::H1D * | fphTrkNofHits = nullptr |
| hist: number of hits in track | |
| std::string | fsName {} |
| Name of the task. | |
| std::shared_ptr< Data > | fpData {nullptr} |
| An instance of the QA data (shared between different tasks) | |
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. | |
| static constexpr int | kOriginB = 400 |
| Track X(Y) at origin: n bins. | |
| static constexpr double | kOriginL = -1. |
| Track X(Y) at origin: lower bound [cm]. | |
| static constexpr double | kOriginU = +1. |
| Track X(Y) at origin: upper bound [cm]. | |
|
private |
|
private |
|
strongprivate |
|
inline |
Constructor.
| pManager | Pointer to the QA manager |
| name | Name of the QA (directory) |
Definition at line 60 of file CaQa.h.
References cbm::algo::qa::TaskHeader::TaskHeader().
Referenced by operator=(), operator=(), Qa(), and Qa().
|
default |
Constructor from the configuration object.
| config | QA configuration object |
|
default |
Destructor.
|
inlineprotectedinherited |
Adds a canvas configuration.
| canvas | A CanvasConfig object |
Definition at line 62 of file QaTaskHeader.h.
References fpData.
Referenced by cbm::algo::bmon::HitfindQa::Init(), cbm::algo::ca::Qa::Init(), cbm::algo::evbuild::V0TriggerQa::Init(), cbm::algo::kfp::V0FinderQa::Init(), and cbm::algo::tof::HitfindQa::Init().
| bool Qa::CheckInit | ( | ) | const |
Check initialization.
Definition at line 30 of file CaQa.cxx.
References CheckInit(), fpInputData, fpParameters, fpvRecoHits, fpvTracks, and L_.
Referenced by CheckInit(), and Exec().
| void Qa::Exec | ( | ) |
QA execution function.
Definition at line 316 of file CaQa.cxx.
References CheckInit(), FillHitDistributionsForHitSet(), fMaxHitTime, fMinHitTime, fphTrkFstLstSta, fphTrkNofHits, fphTrkOriginXY, fpInputData, fpvRecoHits, fpvTracks, fvphHitUsageXY, fvphTrkChi2Ndf, fvphTrkPhi, fvphTrkPhiTheta, fvphTrkTheta, hits, Input, cbm::algo::qa::TaskHeader::IsActive(), kDebug, knTrkParPoints, L_, Pi, Used, x, and y.
|
private |
Fills hit distributions.
| hitSet | Hit set enum entry |
| hit | Reference to hit |
Definition at line 394 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, 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().
|
inlineinherited |
Gets name of the task.
Definition at line 57 of file QaTaskHeader.h.
References fsName.
Referenced by cbm::algo::bmon::HitfindQa::Init(), cbm::algo::ca::Qa::Init(), cbm::algo::evbuild::V0TriggerQa::Init(), and cbm::algo::tof::HitfindQa::Init().
| void Qa::Init | ( | ) |
Initializes the QA.
Definition at line 54 of file CaQa.cxx.
References cbm::algo::qa::TaskHeader::AddCanvasConfig(), fphTrkFstLstSta, fphTrkNofHits, fphTrkOriginXY, fpParameters, fvphHitBackKeyIndex, fvphHitFrontKeyIndex, fvphHitOccupXY, fvphHitOccupZX, fvphHitOccupZY, fvphHitTime, fvphHitUsageXY, fvphTrkChi2Ndf, fvphTrkPhi, fvphTrkPhiTheta, fvphTrkTheta, cbm::algo::qa::TaskHeader::GetTaskName(), Input, cbm::algo::qa::TaskHeader::IsActive(), kDebug, cbm::algo::ca::kDetName, kHitSets, knStaMax, knTrkParPoints, kOriginB, kOriginL, kOriginU, kXYZMargin, and cbm::algo::qa::TaskHeader::MakeObj().
|
inlineinherited |
Checks, if the task is active.
The task can be inactive, if a nullptr qa::Manager was passed to the constructor. If it is the case, the fpData instance is not defined, and no actions on the task should be performed
Definition at line 54 of file QaTaskHeader.h.
References fpData.
Referenced by cbm::algo::bmon::HitfindQa::Exec(), cbm::algo::ca::Qa::Exec(), cbm::algo::tof::HitfindQa::Exec(), cbm::algo::bmon::HitfindQa::Init(), cbm::algo::ca::Qa::Init(), and cbm::algo::tof::HitfindQa::Init().
|
inlineprotectedinherited |
Creates a QA-object and returns the pointer to it.
| Obj | A type of the histogram (H1D, H2D, Prof1D, Prof2D) |
| Args... | A signature of the histogram constructor |
| args | Parameters, passed to a histogram constructor |
Definition at line 69 of file QaTaskHeader.h.
References fpData.
Referenced by cbm::algo::bmon::HitfindQa::Init(), cbm::algo::ca::Qa::Init(), cbm::algo::evbuild::V0TriggerQa::Init(), cbm::algo::kfp::V0FinderQa::Init(), and cbm::algo::tof::HitfindQa::Init().
|
inline |
Registers tracking input data object.
Definition at line 94 of file CaQa.h.
References fpInputData.
|
inline |
Registers tracking parameters object.
Definition at line 106 of file CaQa.h.
References fpParameters.
|
inline |
Registers reco hits indices vector.
Definition at line 102 of file CaQa.h.
References fpvRecoHits.
|
private |
Definition at line 125 of file CaQa.h.
Referenced by Exec(), and FillHitDistributionsForHitSet().
|
private |
Definition at line 124 of file CaQa.h.
Referenced by Exec(), and FillHitDistributionsForHitSet().
|
privateinherited |
An instance of the QA data (shared between different tasks)
Definition at line 76 of file QaTaskHeader.h.
Referenced by AddCanvasConfig(), IsActive(), MakeObj(), and TaskHeader().
|
private |
|
private |
|
private |
|
private |
Pointer to input data.
Definition at line 128 of file CaQa.h.
Referenced by CheckInit(), Exec(), FillHitDistributionsForHitSet(), and RegisterInputData().
|
private |
Pointer to tracking parameters.
Definition at line 127 of file CaQa.h.
Referenced by CheckInit(), FillHitDistributionsForHitSet(), Init(), and RegisterParameters().
|
private |
Pointer to reco hit indices.
Definition at line 130 of file CaQa.h.
Referenced by CheckInit(), Exec(), and RegisterRecoHitIndices().
Pointer to tracks vector.
Definition at line 129 of file CaQa.h.
Referenced by CheckInit(), Exec(), and RegisterTracks().
|
privateinherited |
Name of the task.
Definition at line 75 of file QaTaskHeader.h.
Referenced by GetTaskName(), and TaskHeader().
|
private |
Indices of back hit keys.
Definition at line 141 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
Indices of front hit keys.
Definition at line 140 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
hist: Hit occupancy in different stations in XY plane
Definition at line 134 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
hist: Hit occupancy in different stations in ZX plane
Definition at line 135 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
hist: Hit occupancy in different stations in ZY plane
Definition at line 136 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
Time distribution of hits.
Definition at line 143 of file CaQa.h.
Referenced by FillHitDistributionsForHitSet(), and Init().
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticconstexprprivate |
Additional histograms.
Definition at line 119 of file CaQa.h.
Referenced by Exec(), FillHitDistributionsForHitSet(), and Init().
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |