Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:14:23

0001 // ----------------------------------------------------------------------------
0002 // 'TrksInJetQATrkManager.cc'
0003 // Derek Anderson
0004 // 03.25.2024
0005 //
0006 // A submodule for the TrksInJetQA module to generate
0007 // QA plots for tracks
0008 // ----------------------------------------------------------------------------
0009 
0010 #define TRKSINJETQATRKMANAGER_CC
0011 
0012 // submodule definition
0013 #include "TrksInJetQATrkManager.h"
0014 
0015 
0016 
0017 // public methods -------------------------------------------------------------
0018 
0019 void TrksInJetQATrkManager::GetInfo(SvtxTrack* track) {
0020 
0021   // collect track info
0022   TrackQAContent content = {
0023     .eta  = track -> get_eta(),
0024     .phi  = track -> get_phi(),
0025     .pt   = track -> get_pt(),
0026     .qual = track -> get_quality()
0027   };
0028 
0029   // fill histograms
0030   FillHistograms(Type::All, content);
0031   return;
0032 
0033 }  // end 'GetInfo(SvtxTrack*)'
0034 
0035 
0036 
0037 // private methods ------------------------------------------------------------
0038 
0039 void TrksInJetQATrkManager::FillHistograms(const int type, TrackQAContent& content) {
0040 
0041   // fill 1d histograms
0042   m_vecHist1D.at(type).at(H1D::Eta)  -> Fill(content.eta);
0043   m_vecHist1D.at(type).at(H1D::Phi)  -> Fill(content.phi);
0044   m_vecHist1D.at(type).at(H1D::Pt)   -> Fill(content.pt);
0045   m_vecHist1D.at(type).at(H1D::Qual) -> Fill(content.qual);
0046 
0047   // fill 2d histograms
0048   m_vecHist2D.at(type).at(H2D::EtaVsPhi) -> Fill(content.phi, content.eta);
0049   m_vecHist2D.at(type).at(H2D::PtVsQual) -> Fill(content.qual, content.pt);
0050   return;
0051 
0052 }  //  end 'FillHistograms(Type, TrackQAContent&)'
0053 
0054 
0055 
0056 void TrksInJetQATrkManager::DefineHistograms() {
0057 
0058   // grab binning schemes
0059   std::vector<BinDef> vecBins = m_hist.GetVecHistBins();
0060 
0061   // set histogram types
0062   m_vecHistTypes.push_back( "All" );
0063 
0064   // define 1d histograms
0065   m_vecHistDef1D.push_back( std::make_tuple( "TrackEta",  vecBins.at(TrksInJetQAHist::Var::Eta)  ));
0066   m_vecHistDef1D.push_back( std::make_tuple( "TrackPhi",  vecBins.at(TrksInJetQAHist::Var::Phi)  ));
0067   m_vecHistDef1D.push_back( std::make_tuple( "TrackPt",   vecBins.at(TrksInJetQAHist::Var::Ene)  ));
0068   m_vecHistDef1D.push_back( std::make_tuple( "TrackQual", vecBins.at(TrksInJetQAHist::Var::Qual) ));
0069 
0070   // define 2d histograms
0071   m_vecHistDef2D.push_back(
0072     std::make_tuple(
0073       "TrackEtaVsPhi",
0074       vecBins.at(TrksInJetQAHist::Var::Phi),
0075       vecBins.at(TrksInJetQAHist::Var::Eta)
0076     )
0077   );
0078   m_vecHistDef2D.push_back(
0079     std::make_tuple(
0080       "TrackPtVsQual",
0081       vecBins.at(TrksInJetQAHist::Var::Qual),
0082       vecBins.at(TrksInJetQAHist::Var::Ene)
0083     )
0084   );
0085   return;
0086 
0087 }  // end 'BuildHistograms()'
0088 
0089 // end ------------------------------------------------------------------------