26 :
CbmQaIO(Form(
"%s_%s", prefix, typeName), pObjList)
61 fph_reco_p->SetTitle(
"Total momentum of reconstructed track;p^{reco} [GeV/c];Counts");
62 fph_reco_pt->SetTitle(
"Transverse momentum of reconstructed track;p_{T}^{reco} [GeV/c];Counts");
63 fph_reco_phi->SetTitle(
"Azimuthal angle of reconstructed track;#phi^{reco} [rad];Counts");
64 fph_reco_theta->SetTitle(
"Polar angle of reconstructed track;#theta^{reco} [rad];Counts");
66 "Polar angle vs. azimuthal angle of reconstructed track;#phi^{reco} [rad];#theta^{reco} [rad];Counts");
67 fph_reco_tx->SetTitle(
"Slope along x-axis of reconstructed tracks;t_{x}^{reco};Counts");
68 fph_reco_ty->SetTitle(
"Slope along y-axis of reconstructed tracks;t_{y}^{reco};Counts");
69 fph_reco_ty_tx->SetTitle(
"Slope along y-axis vs. x-axis of reconstructed tracks;t_{x}^{reco};t_{y}^{reco};");
70 fph_reco_eta->SetTitle(
"Pseudorapidity of reconstructed track;#eta^{reco};Counts");
71 fph_reco_fhitR->SetTitle(
"Distance of the first hit from z-axis for reconstructed tracks;R^{reco} [cm];Counts");
72 fph_reco_nhits->SetTitle(
"Number of hits of reconstructed tracks;N_{hits};Counts");
73 fph_reco_fsta->SetTitle(
"First station index of reconstructed tracks;ID_{station};Counts");
74 fph_reco_lsta->SetTitle(
"Last station index of reconstructed tracks;ID_{station};Counts");
75 fph_reco_chi2_ndf->SetTitle(
"#chi^{2}/NDF of reconstructed tracks;#chi^{2}/NDF;Counts");
96 fph_reco_pMC->SetTitle(
"MC total momentum of reconstructed track;p^{MC} [GeV/c];Counts");
97 fph_reco_ptMC->SetTitle(
"MC transverse momentum of reconstructed track;p_{T}^{MC} [GeV/c];Counts");
98 fph_reco_yMC->SetTitle(
"MC rapidity of reconstructed track;y^{MC};Counts");
99 fph_reco_etaMC->SetTitle(
"MC pseudorapidity of reconstructed track;#eta^{MC};Counts");
100 fph_reco_ptMC_yMC->SetTitle(
"MC Transverse momentum of reconstructed track;y^{MC};p_{T}^{MC} [GeV/c];Counts");
101 fph_reco_phiMC->SetTitle(
"MC Azimuthal angle of reconstructed track;#phi^{MC} [rad];Counts");
102 fph_reco_thetaMC->SetTitle(
"MC Polar angle of reconstructed track;#theta^{MC} [rad];Counts");
104 "MC Polar angle vs. MC azimuthal angle of reconstructed track;#phi^{MC} [rad];#theta^{MC} [rad];Counts");
105 fph_reco_txMC->SetTitle(
"MC Slope along x-axis of reconstructed tracks;t_{x}^{MC};Counts");
106 fph_reco_tyMC->SetTitle(
"MC Slope along y-axis of reconstructed tracks;t_{y}^{MC};Counts");
125 fph_mc_pMC->SetTitle(
"Total momentum of MC tracks;p^{MC} [GeV/c];Counts");
126 fph_mc_etaMC->SetTitle(
"Pseudorapidity of MC tracks;#eta^{MC};Counts");
127 fph_mc_yMC->SetTitle(
"Rapidity of MC tracks;y^{MC};Counts");
128 fph_mc_ptMC_yMC->SetTitle(
"Transverse momentum vs. rapidity of MC tracks;y^{MC};p_{T}^{MC} [GeV/c];Counts");
129 fph_mc_ptMC->SetTitle(
"Transverse momentum of MC track;p_{T}^{MC} [GeV/c];Counts");
130 fph_mc_phiMC->SetTitle(
"Azimuthal angle of MC track;#phi^{MC} [rad];Counts");
131 fph_mc_thetaMC->SetTitle(
"Polar angle of MC track;#theta^{MC} [rad];Counts");
132 fph_mc_thetaMC_phiMC->SetTitle(
"Polar angle vs. azimuthal angle of MC track;#phi^{MC} [rad];#theta^{MC} [rad]");
133 fph_mc_txMC->SetTitle(
"Slope along x-axis of MC tracks;t_{x}^{MC};Counts");
134 fph_mc_tyMC->SetTitle(
"Slope along y-axis of MC tracks;t_{y}^{MC};Counts");
135 fph_mc_tyMC_txMC->SetTitle(
"Slope along y-axis vs. x-axis of MC tracks;t_{x}^{MC};t_{y}^{MC};");
178 fph_eff_int->SetTitle(
"Integrated efficiency;;#epsilon_{CA}");
179 fph_eff_pMC->SetTitle(
"Efficiency vs. MC total momentum;p_{MC} [GeV/c];#epsilon_{CA}");
180 fph_eff_yMC->SetTitle(
"Efficiency vs. MC rapidity;y_{MC};#epsilon");
181 fph_eff_ptMC->SetTitle(
"Efficiency vs. MC transverse momentum;p_{T}^{MC} [GeV/c];#epsilon_{CA}");
182 fph_eff_thetaMC->SetTitle(
"Efficiency vs. MC polar angle;#theta^{MC};#epsilon_{CA}");
183 fph_eff_etaMC->SetTitle(
"Efficiency vs. MC pseudorapidity;#eta^{MC};#epsilon_{CA}");
184 fph_eff_phiMC->SetTitle(
"Efficiency vs. MC azimuthal angle;#phi^{MC};#epsilon_{CA}");
185 fph_eff_nhitsMC->SetTitle(
"Efficiency vs. number of hits;N_{hit}^{MC};#epsilon_{CA}");
186 fph_eff_txMC->SetTitle(
"Efficiency vs. MC slope along x-axis;t_{x}^{MC};#epsilon_{CA}");
187 fph_eff_tyMC->SetTitle(
"Efficiency vs. MC slope along y-axis;t_{y}^{MC};#epsilon_{CA}");
194 "Efficiency vs. MC transverse momentum and MC rapidity;y^{MC};p_{T}^{MC} [GeV/c];#epsilon_{CA}");
196 "Efficiency vs. MC polar and MC azimuthal angles;#phi^{MC} [rad];#theta^{MC} [rad];#epsilon_{CA}");
198 fph_clone_pMC->SetTitle(
"Clone rate vs. MC total momentum;p_{MC} [GeV/c];clone rate_{CA}");
199 fph_clone_yMC->SetTitle(
"Clone vs. MC rapidity;y_{MC};clone rate_{CA}");
200 fph_clone_ptMC->SetTitle(
"Clone vs. MC transverse momentum;p_{T}^{MC} [GeV/c];clone rate_{CA}");
201 fph_clone_thetaMC->SetTitle(
"Clone vs. MC polar angle;#theta^{MC};clone rate_{CA}");
202 fph_clone_etaMC->SetTitle(
"Clone vs. MC pseudorapidity;#eta^{MC};clone rate_{CA}");
203 fph_clone_phiMC->SetTitle(
"Clone vs. MC azimuthal angle;#phi^{MC};clone rate_{CA}");
204 fph_clone_nhitsMC->SetTitle(
"Clone vs. number of hits;N_{hit}^{MC};clone rate_{CA}");
205 fph_clone_txMC->SetTitle(
"Clone vs. MC slope along x-axis;t_{x}^{MC};clone rate_{CA}");
206 fph_clone_tyMC->SetTitle(
"Clone vs. MC slope along y-axis;t_{y}^{MC};clone rate_{CA}");
214 "Clone vs. MC transverse momentum and MC rapidity;y^{MC};p_{T}^{MC} [GeV/c];clone rate_{CA}");
216 "Clone vs. MC polar and MC azimuthal angles;#phi^{MC} [rad];#theta^{MC} [rad];clone rate_{CA}");
250 const auto& recoTrack = (*fpvRecoTracks)[iTrkReco];
251 const auto& fstHit = (*fpvHits)[recoTrack.GetFirstHitIndex()];
252 const auto& lstHit = (*fpvHits)[recoTrack.GetLastHitIndex()];
262 fph_reco_ty_tx->Fill(recoTrack.GetTx(), recoTrack.GetTy(), weight);
272 int iTrkMC = recoTrack.GetMatchedMCTrackIndex();
291 int nTimeMeasurements = 0;
292 for (
int iH : recoTrack.GetHitIndexes()) {
293 int iSt = (*fpvHits)[iH].GetStationId();
298 bool isTimeFitted = (nTimeMeasurements > 1);
303 int iHfst = recoTrack.GetFirstHitIndex();
304 int iPfst = (*fpvHits)[iHfst].GetBestMcPointId();
314 int iHlst = recoTrack.GetLastHitIndex();
315 int iPlst = (*fpvHits)[iHlst].GetBestMcPointId();
326 MCPoint mcTrkVertex = mcTrack.GetVertexPoint();
331 int iStFst = (*fpvHits)[recoTrack.GetFirstHitIndex()].GetStationId();
333 int direction = (dZ > 0.) ? 1 : -1;
334 for (
int iSt = iStFst; (iSt >= 0) && (iSt <
fpParameters->GetNstationsActive())
335 && (direction * (mcTrkVertex.
GetZ() -
fpParameters->GetStation(iSt).GetZ()) > 0);
342 (direction > 0) ? kf::FitDirection::kDownstream : kf::FitDirection::kUpstream);
346 if (mcTrkVertex.
GetZ() == trParExtr.
GetZ()[0]) {
350 LOG(warn) <<
"iTrkReco = " << iTrkReco <<
", mcTrkVertex = " << mcTrkVertex.
GetZ()
351 <<
", par = " << trParExtr.
GetZ()[0];
395 const auto& recoTrack = (*fpvRecoTracks)[iTrkReco];
396 fRecoLength +=
static_cast<double>(recoTrack.GetNofHits()) * recoTrack.GetMaxPurity() / nStaWithHit;
436 fLineColor = (lineCol > -1) ? lineCol : markerCol;
444 pHist->SetStats(
true);
QA submodule for track fit results (residuals and puls) at selected z-coordinate (header)
QA submodule for different track types (header)
ROOT object IO interface for QA.
T * MakeQaObject(TString sName, TString sTitle, Args... args)
TString fsPrefix
Unique prefix for all writeable root.
std::shared_ptr< ObjList_t > fpvObjList
List of registered ROOT objects.
TString fsRootFolderName
Name of root folder.
@ kSAMEDIR
Objects of different type will be stored to root directory.
EStoringMode fStoringMode
Objects storing mode.
Magnetic field region, corresponding to a hit triplet.
static EFieldType fgOriginalFieldType
Global field type.
static FieldFn_t fgOriginalField
Global variable to store the fielf funciton (x,y,z)->(Bx,By,Bz)
void Extrapolate(DataT z, const kf::FieldRegion< DataT > &F)
void SetMask(const DataTmask &m)
kf::TrackParam< DataT > & Tr()
void MultipleScattering(DataT radThick, DataT tx0, DataT ty0, DataT qp0)
apply multiple scattering correction to the track with the given Qp0
void EnergyLossCorrection(DataT radThick, FitDirection direction)
void SetParticleMass(DataT mass)
set particle mass for the fit
void SetTrack(const kf::TrackParam< T > &t)
void SetDoFitVelocity(bool v)
T GetZ() const
Gets z position [cm].
T GetY() const
Gets y position [cm].
T GetX() const
Gets x position [cm].
Unified QA for a group of tracks.
static constexpr double kLoTY
Lower boundary, slope along y.
static constexpr double kLoCHI2NDF
Lower boundary, chi2 over NDF.
int fCounterMC
Counter of MC tracks.
static constexpr double kUpCHI2NDF
Upper boundary, chi2 over NDF.
tools::MCData * fpMCData
Pointer to MC data object.
bool fbUseMC
Flag: true - MC information is used.
TH1F * fph_mc_ptMC
Transverse momentum over charge of MC tracks.
TH1F * fph_reco_nhits
Hit number of reconstructed tracks.
std::unique_ptr< TrackFitQa > fpFitQaLastHit
void FillRecoTrack(int iTrkReco, double weight=1)
Fills histograms with various track information.
static constexpr double kLoY
Lower boundary, rapidity.
TH1F * fph_reco_etaMC
MC pseudo-rapidity of reconstructed tracks.
void SetDrawAtt(Color_t markerCol=1, Style_t markerSty=20, Color_t lineCol=-1, Style_t lineSty=1)
Sets drawing attributes for histograms.
TH2F * fph_reco_ptMC_yMC
MC transverse momentum vs MC rapidity of reconstructed tracks.
TH1F * fph_reco_fhitR
Distance of the first hit from z-axis for reconstructed tracks.
TProfile * fph_clone_ptMC
Efficiency vs. MC transverse momentum.
TProfile * fph_clone_nhitsMC
Efficiency vs. MC number of hits (total number of stations with a)
TProfile * fph_stations_hit
Average number of stations with hit.
TProfile2D * fph_eff_ptMC_yMC
Efficiency vs. MC transverse momentum and MC rapidity.
static constexpr double kLoP
Lower boundary, total momentum [GeV/c].
static constexpr double kLoETA
Lower boundary, pseudo-rapidity.
Style_t fLineStyle
Line style.
static constexpr double kLoNSTA
Lower boundary, number of stations.
TH2F * fph_mc_thetaMC_phiMC
Polar angle vs. azimuthal angle of MC tracks.
static constexpr int kBinsTHETA
Number of bins, polar angle.
TH1F * fph_reco_tyMC
MC Slope along y-axis of reconstructed tracks.
static constexpr int kBinsCHI2NDF
Number of bins, chi2 over NDF.
TH1F * fph_reco_fsta
First station index of reconstructed tracks.
TH1F * fph_reco_phiMC
MC Azimuthal angle of reconstructed tracks.
int fCounterRecoTotal
Counter of reco tracks (total = reco + ghost + clones)
TH1F * fph_reco_txMC
MC Slope along x-axis of reconstructed tracks.
TH1F * fph_mc_phiMC
Azimuthal angle of MC tracks.
ca::Vector< CbmL1Track > * fpvRecoTracks
Pointer to vector of reconstructed tracks.
static constexpr int kBinsTX
Number of bins, slope along x.
static constexpr int kBinsFHITR
Number of bins, transverse dist. of the 1st hit from z-axis.
TProfile * fph_eff_pMC
Efficiency vs. MC momentum.
ca::Vector< CbmL1HitDebugInfo > * fpvHits
Pointer to vector of reconstructed hits.
double fMCLength
Total length of MC tracks.
TH1F * fph_mc_pMC
MC total momentum over charge of MC tracks.
TProfile * fph_eff_yMC
Efficiency vs. MC rapidity.
TProfile * fph_eff_thetaMC
Efficiency vs. MC polar angle.
TH1F * fph_reco_lsta
Last station index of reconstructed tracks.
TH1F * fph_mc_txMC
Slope along x-axis of MC tracks.
TProfile * fph_clone_etaMC
Efficiency vs. MC pseudorapidity.
static constexpr int kBinsPT
Number of bins, transverse momentum.
TProfile * fph_rate_clones
Rate of clone tracks / mc.
TH1F * fph_reco_tx
Slope along x-axis of reconstructed tracks.
TProfile * fph_eff_ptMC
Efficiency vs. MC transverse momentum.
TH2F * fph_mc_ptMC_yMC
MC transverse momentum vs. MC rapidity of MC tracks.
static constexpr double kUpTX
Upper boundary, slope along x.
void Init()
Initializes histograms.
static constexpr double kLoPHI
Lower boundary, azimuthal angle [rad].
static constexpr double kUpTHETA
Upper boundary, polar angle [rad].
static constexpr double kUpNSTA
Upper boundary, number of stations.
static constexpr double kUpY
Upper boundary, rapidity.
Color_t fMarkerColor
Marker color.
TH1F * fph_reco_eta
Pseudo-rapidity of reconstructed tracks.
std::unique_ptr< TrackFitQa > fpFitQaFirstHit
TH1F * fph_reco_phi
Azimuthal angle of reconstructed tracks.
TH1F * fph_reco_ptMC
MC transverse momentum over charge of reconstructed tracks.
static constexpr int kBinsNHITS
Number of bins, number of hits.
TProfile2D * fph_clone_ptMC_yMC
Efficiency vs. MC transverse momentum and MC rapidity.
TH1F * fph_reco_chi2_ndf_time
Fit chi2 over NDF of reconstructed tracks for time.
static constexpr double kUpFHITR
Upper boundary, transverse dist. of the 1st hit from z-axis [cm].
TProfile * fph_clone_tyMC
Efficiency vs. MC slope along y-axis.
TH2F * fph_reco_ty_tx
Slope along x-axis vs y-axis of reconstructed tracks.
TProfile * fph_clone_phiMC
Efficiency vs. MC azimuthal angle.
double fFakeLength
Total length of fake tracks.
static constexpr int kBinsPHI
Number of bins, azimuthal angle.
TH2F * fph_reco_theta_phi
Polar angle vs. azimuthal angle of reconstructed tracks.
TH1F * fph_reco_chi2_ndf
Fit chi2 over NDF of reconstructed tracks.
static constexpr int kBinsP
Number of bins, total momentum.
TH1F * fph_mc_yMC
MC rapidity of MC tracks.
TH1F * fph_reco_ty
Slope along y-axis of reconstructed tracks.
TH1F * fph_mc_thetaMC
Polar angle of MC tracks.
static constexpr double kUpPT
Upper boundary, transverse momentum [GeV/c].
TProfile * fph_clone_pMC
Clone rate vs. MC momentum.
int fCounterClones
Counter of clone tracks.
TProfile * fph_clone_txMC
Efficiency vs. MC slope along x-axis.
static constexpr double kUpNHITS
Upper boundary, number of hits.
TProfile * fph_rate_killed
Rate of killed tracks / mc.
TProfile * fph_rate_reco
Rate of reconstructed tracks / mc.
TH2F * fph_mc_tyMC_txMC
Slope along x-axis vs y-axis of MC tracks.
TH1F * fph_reco_pMC
MC total momentum over charge of reconstructed tracks.
TProfile * fph_eff_txMC
Efficiency vs. MC slope along x-axis.
TH1F * fph_reco_yMC
MC rapidity of reconstructed tracks.
std::shared_ptr< ca::Parameters< float > > fpParameters
Pointer to parameters object.
TProfile * fph_eff_nhitsMC
Efficiency vs. MC number of hits (total number of stations with a)
static constexpr double kUpPHI
Upper boundary, azimuthal angle [rad].
Color_t fLineColor
Line color.
TProfile2D * fph_clone_thetaMC_phiMC
Efficiency vs. MC theta and MC phi.
TProfile * fph_eff_phiMC
Efficiency vs. MC azimuthal angle.
cbm::algo::kf::TrackKalmanFilter< double > fTrackFit
Track fitter.
TProfile2D * fph_eff_thetaMC_phiMC
Efficiency vs. MC theta and MC phi.
TH1F * fph_mc_etaMC
MC pseudo-rapidity of MC tracks.
TH1F * fph_reco_pt
Transverse momentum over charge of reconstructed tracks.
TH1F * fph_reco_p
Total momentum over charge of reconstructed tracks.
std::unique_ptr< TrackFitQa > fpFitQaVertex
static constexpr double kLoTHETA
Lower boundary, polar angle [rad].
static constexpr double kLoNHITS
Lower boundary, number of hits.
static constexpr double kUpTY
Upper boundary, slope along y.
TH1F * fph_reco_thetaMC
MC Polar angle of reconstructed tracks.
double fRecoLength
Total length of reconstructed tracks.
static constexpr double kLoPT
Lower boundary, transverse momentum [GeV/c].
TH2F * fph_reco_thetaMC_phiMC
MC Polar angle vs. azimuthal angle of reconstructed tracks.
cbm::algo::kf::FieldRegion< double > fFieldRegion
Magnetic field.
TProfile * fph_eff_tyMC
Efficiency vs. MC slope along y-axis.
TProfile * fph_eff_int
Integrated efficiency.
static constexpr int kBinsTY
Number of bins, slope along y.
static constexpr double kLoTX
Lower boundary, slope along x.
TProfile * fph_eff_etaMC
Efficiency vs. MC pseudorapidity.
virtual void SetTH1Properties(TH1 *pHist) const override
Overrided virtual function of the CbmQaIO class, defines properties of the histograms.
TH1F * fph_reco_theta
Polar angle of reconstructed tracks.
static constexpr int kBinsNSTA
Number of bins, number of stations.
TProfile * fph_clone_thetaMC
Efficiency vs. MC polar angle.
TProfile * fph_clone_yMC
Efficiency vs. MC rapidity.
void FillMCTrack(int iTrkMC, double weight=1)
Fills histograms with mc track information.
static constexpr int kBinsY
Number of bins, rapidity.
static constexpr double kLoFHITR
Lower boundary, transverse dist. of the 1st hit from z-axis [cm].
static constexpr int kBinsETA
Number of bins, pseudo-rapidity.
TH1F * fph_mc_tyMC
Slope along y-axis of MC tracks.
static constexpr double kUpETA
Upper boundary, pseudo-rapidity.
Style_t fMarkerStyle
Marker style.
static constexpr double kUpP
Upper boundary, total momentum [GeV/c].
TrackTypeQa(const char *typeName, const char *prefixName, bool bUseMC, std::shared_ptr< ObjList_t > pObjList)
Constructor.
TProfile * fph_stations_point
Average number of stations with MC point.