diff --git a/reco/L1/qa/CbmCaInputQaSts.cxx b/reco/L1/qa/CbmCaInputQaSts.cxx index be0dddbd415abce04e77cd9a07e33fc5885a4b7c..57711228296b698b31eb5e3b5c6a4f430a91f7e8 100644 --- a/reco/L1/qa/CbmCaInputQaSts.cxx +++ b/reco/L1/qa/CbmCaInputQaSts.cxx @@ -251,6 +251,7 @@ void CbmCaInputQaSts::DeInit() fvph_hit_dy.clear(); fvph_hit_du.clear(); fvph_hit_dv.clear(); + fvph_hit_kuv.clear(); fvph_hit_dt.clear(); fvph_n_points_per_hit.clear(); @@ -357,6 +358,9 @@ void CbmCaInputQaSts::FillHistograms() double dxHit = pHit->GetDx(); double dyHit = pHit->GetDy(); + double duvHit = Cxx * cosU * cosV + Cxy * (sinU * cosV + cosU * sinV) + Cyy * sinU * sinV; + double kuvHit = duvHit / duHit / dvHit; + // Hit time double tHit = pHit->GetTime(); double dtHit = pHit->GetTimeError(); @@ -371,6 +375,7 @@ void CbmCaInputQaSts::FillHistograms() fvph_hit_dy[iSt]->Fill(dyHit); fvph_hit_du[iSt]->Fill(duHit); fvph_hit_dv[iSt]->Fill(dvHit); + fvph_hit_kuv[iSt]->Fill(kuvHit); fvph_hit_dt[iSt]->Fill(dtHit); fvph_hit_xy[nSt]->Fill(xHit, yHit); @@ -383,6 +388,7 @@ void CbmCaInputQaSts::FillHistograms() fvph_hit_dy[nSt]->Fill(dyHit); fvph_hit_du[nSt]->Fill(duHit); fvph_hit_dv[nSt]->Fill(dvHit); + fvph_hit_kuv[nSt]->Fill(kuvHit); fvph_hit_dt[nSt]->Fill(dtHit); // ********************** @@ -835,6 +841,23 @@ InitStatus CbmCaInputQaSts::InitCanvases() fvph_reco_eff[nSt]->DrawCopy("colz", ""); } + { + auto* canv = MakeQaObject<CbmQaCanvas>("err", "Hit Errors", 1600, 800); + canv->Divide2D(6); + canv->cd(1); + fvph_hit_dx[nSt]->DrawCopy(); + canv->cd(2); + fvph_hit_dy[nSt]->DrawCopy(); + canv->cd(3); + fvph_hit_dt[nSt]->DrawCopy(); + canv->cd(4); + fvph_hit_du[nSt]->DrawCopy(); + canv->cd(5); + fvph_hit_dv[nSt]->DrawCopy(); + canv->cd(6); + fvph_hit_kuv[nSt]->DrawCopy(); + } + { auto* canv = MakeQaObject<CbmQaCanvas>("other", "Other histograms", 1600, 800); canv->Divide2D(3); @@ -1149,6 +1172,7 @@ InitStatus CbmCaInputQaSts::InitHistograms() fvph_hit_dy.resize(nSt + 1, nullptr); fvph_hit_dt.resize(nSt + 1, nullptr); fvph_hit_dv.resize(nSt + 1, nullptr); + fvph_hit_kuv.resize(nSt + 1, nullptr); fvph_hit_du.resize(nSt + 1, nullptr); for (int iSt = 0; iSt <= nSt; ++iSt) { @@ -1203,6 +1227,10 @@ InitStatus CbmCaInputQaSts::InitHistograms() sT = (TString) "Hit position error across back strips" + tsuff + ";dv_{hit} [cm]"; fvph_hit_dv[iSt] = MakeQaObject<TH1F>(sF + "err/" + sN, sT, kNbins, kRHitDv[0], kRHitDv[1]); + sN = (TString) "hit_kuv" + nsuff; + sT = (TString) "Hit error correlation between front and back strips" + tsuff + ";kuv_{hit} [unitless]"; + fvph_hit_kuv[iSt] = MakeQaObject<TH1F>(sF + "err/" + sN, sT, kNbins / 2 * 2 + 1, -1.1, 1.1); + sN = (TString) "hit_dt" + nsuff; sT = (TString) "Hit time error" + tsuff + ";dt_{hit} [ns]"; fvph_hit_dt[iSt] = MakeQaObject<TH1F>(sF + "err/" + sN, sT, kNbins, kRHitDt[0], kRHitDt[1]); diff --git a/reco/L1/qa/CbmCaInputQaSts.h b/reco/L1/qa/CbmCaInputQaSts.h index c50b2d9ab16fc5c9a3a3e93f25285e398314a96e..651965088989293be4cb29a2aa5b6cc4c2e97a53 100644 --- a/reco/L1/qa/CbmCaInputQaSts.h +++ b/reco/L1/qa/CbmCaInputQaSts.h @@ -142,6 +142,7 @@ private: std::vector<TH1F*> fvph_hit_dy; std::vector<TH1F*> fvph_hit_du; std::vector<TH1F*> fvph_hit_dv; + std::vector<TH1F*> fvph_hit_kuv; std::vector<TH1F*> fvph_hit_dt; // MC points occupancy