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