File indexing completed on 2025-12-17 09:21:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "TrksInJetQATrkManager.h"
0014
0015
0016 #include <TVector3.h>
0017
0018
0019
0020
0021
0022
0023 void TrksInJetQATrkManager::GetInfo(SvtxTrack* track,
0024 std::optional<Jet*> jet)
0025 {
0026
0027 TrackQAContent content = {
0028 .eta = track->get_eta(),
0029 .phi = track->get_phi(),
0030 .pt = track->get_pt(),
0031 .qual = track->get_quality()};
0032
0033
0034 if (jet.has_value())
0035 {
0036
0037 TVector3 pTrk(track->get_px(), track->get_py(), track->get_pz());
0038 TVector3 pJet(jet.value()->get_px(), jet.value()->get_py(), jet.value()->get_pz());
0039
0040
0041 content.z = pJet.Dot(pTrk) / pJet.Mag2();
0042 content.jt = pJet.Cross(pTrk).Mag() / pJet.Mag2();
0043 }
0044
0045
0046 FillHistograms(Type::All, content);
0047 }
0048
0049
0050
0051
0052
0053
0054 void TrksInJetQATrkManager::FillHistograms(const int type, TrackQAContent& content)
0055 {
0056
0057 m_mapHist1D[Index(type, H1D::Eta)]->Fill(content.eta);
0058 m_mapHist1D[Index(type, H1D::Phi)]->Fill(content.phi);
0059 m_mapHist1D[Index(type, H1D::Pt)]->Fill(content.pt);
0060 m_mapHist1D[Index(type, H1D::Z)]->Fill(content.z);
0061 m_mapHist1D[Index(type, H1D::Jt)]->Fill(content.jt);
0062 m_mapHist1D[Index(type, H1D::Qual)]->Fill(content.qual);
0063
0064
0065 m_mapHist2D[Index(type, H2D::EtaVsPhi)]->Fill(content.phi, content.eta);
0066 m_mapHist2D[Index(type, H2D::PtVsQual)]->Fill(content.qual, content.pt);
0067 }
0068
0069
0070
0071
0072 void TrksInJetQATrkManager::DefineHistograms()
0073 {
0074
0075 std::vector<TrksInJetQADefs::BinDef> vecBins = m_hist.GetVecHistBins();
0076
0077
0078 m_mapHistTypes[Type::All] = "All";
0079
0080
0081 m_mapHistDef1D[H1D::Eta] = std::tuple("TrackEta", vecBins.at(TrksInJetQAHist::Var::Eta));
0082 m_mapHistDef1D[H1D::Phi] = std::tuple("TrackPhi", vecBins.at(TrksInJetQAHist::Var::Phi));
0083 m_mapHistDef1D[H1D::Pt] = std::tuple("TrackPt", vecBins.at(TrksInJetQAHist::Var::Ene));
0084 m_mapHistDef1D[H1D::Z] = std::tuple("TrackZ", vecBins.at(TrksInJetQAHist::Var::Frac));
0085 m_mapHistDef1D[H1D::Jt] = std::tuple("TrackJt", vecBins.at(TrksInJetQAHist::Var::Frac));
0086 m_mapHistDef1D[H1D::Qual] = std::tuple("TrackQual", vecBins.at(TrksInJetQAHist::Var::Qual));
0087
0088
0089 m_mapHistDef2D[H2D::EtaVsPhi] = std::tuple("TrackEtaVsPhi",
0090 vecBins.at(TrksInJetQAHist::Var::Phi),
0091 vecBins.at(TrksInJetQAHist::Var::Eta));
0092 m_mapHistDef2D[H2D::PtVsQual] = std::tuple("TrackPtVsQual",
0093 vecBins.at(TrksInJetQAHist::Var::Qual),
0094 vecBins.at(TrksInJetQAHist::Var::Ene));
0095 }
0096
0097