25#include "FairRootManager.h"
28#include "TClonesArray.h"
32#include "TGraphAsymmErrors.h"
37#include "TProfile2D.h"
119 auto SetRange = [](std::array<double, 2>& range,
double min,
double max) {
124 SetRange(
fRHitDx, 0.0000, 0.0050);
125 SetRange(
fRHitDy, 0.0000, 0.0200);
126 SetRange(
fRHitDu, 0.0000, 0.0050);
127 SetRange(
fRHitDv, 0.0000, 0.0050);
128 SetRange(
fRHitDt, 0.0000, 10.000);
130 SetRange(
fRResX, -0.02, 0.02);
131 SetRange(
fRResY, -0.10, 0.10);
132 SetRange(
fRResU, -0.02, 0.02);
133 SetRange(
fRResV, -0.02, 0.02);
134 SetRange(
fRResT, -25.0, 25.0);
146 int nDigis = pCluster->GetNofDigis();
156 int nDigis = pCluster->GetNofDigis();
177 if (initStatus != kSUCCESS) {
183 fpClusters =
dynamic_cast<TClonesArray*
>(FairRootManager::Instance()->GetObject(
"StsCluster"));
184 LOG_IF(fatal, !
fpClusters) <<
"\033[1;31m" << fName <<
": container of hit clusters in STS is not found\033[0m";
192 for (
int iSt = 0; iSt <= nSt; ++iSt) {
193 TString tsuff = (iSt == nSt) ?
"" : Form(
" in %s station %d", detName.c_str(), iSt);
194 fvph_hit_du[iSt]->SetTitle((TString)
"Hit position error across front strips" + tsuff);
195 fvph_hit_dv[iSt]->SetTitle((TString)
"Hit position error across back strips" + tsuff);
196 fvph_hit_kuv[iSt]->SetTitle((TString)
"Hit error correlation between front and back strips" + tsuff);
198 fvph_res_u[iSt]->SetTitle((TString)
"Residuals for Front strip coordinate" + tsuff);
199 fvph_res_v[iSt]->SetTitle((TString)
"Residuals for Back strip coordinate" + tsuff);
200 fvph_pull_u[iSt]->SetTitle((TString)
"Pulls for Front strip coordinate" + tsuff);
201 fvph_pull_v[iSt]->SetTitle((TString)
"Pulls for Back strip coordinate" + tsuff);
202 fvph_res_u_vs_u[iSt]->SetTitle((TString)
"Residuals for Front strip coordinate" + tsuff);
203 fvph_res_v_vs_v[iSt]->SetTitle((TString)
"Residuals for Back strip coordinate" + tsuff);
204 fvph_pull_u_vs_u[iSt]->SetTitle((TString)
"Pulls for Front strip coordinate" + tsuff);
205 fvph_pull_v_vs_v[iSt]->SetTitle((TString)
"Pulls for Back strip coordinate" + tsuff);
214 TString sN =
"All stations/pull/Ndigi/pull_u_";
215 TString sT =
"Pulls for Front strip coordinate, hits with ";
221 sN += Form(
"%d_digi", idig);
222 sT += Form(
"%d digi", idig);
224 sT +=
"; (u_{reco} - u_{MC}) / #sigma_{u}^{reco}";
229 TString sN =
"All stations/pull/Ndigi/pull_v_";
230 TString sT =
"Pulls for Back strip coordinate, hits with ";
236 sN += Form(
"%d_digi", idig);
237 sT += Form(
"%d digi", idig);
239 sT +=
"; (v_{reco} - v_{MC}) / #sigma_{v}^{reco}";
Definition of the CbmQaCanvas class.
Definition of CbmQaTable class.
Useful utilities for CBM QA tasks.
Data class for STS clusters.
Data class for a reconstructed hit in the STS.
friend fscal max(fscal x, fscal y)
friend fscal min(fscal x, fscal y)
T * MakeQaObject(TString sName, TString sTitle, Args... args)
void StoreCheckResult(const std::string &tag, bool result, const std::string &msg="")
Stores check flag to the check-list.
bool IsMCUsed() const
Returns flag, whether MC information is used or not in the task.
Data class for STS clusters.
data class for a reconstructed 3-d hit in the STS
static CbmStsTrackingInterface * Instance()
Gets pointer to the instance of the CbmStsTrackingInterface class.
int GetNtrackingStations() const
Gets actual number of stations, provided by the current geometry setup.
virtual std::string GetDetectorName() const =0
Returns the name of the detector subsystem.
double GetPullU() const
Gets pull of u-coordinate.
double GetPullV() const
Gets pull of v-coordinate.
int GetHitIndex() const
Gets hit index.
void SetLargeStats(TH1 *pHist)
Set large stat. window.