File indexing completed on 2025-08-06 08:14:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #define TRKSINJETQABASEFILLER_CC
0011
0012 #include "TrksInJetQABaseFiller.h"
0013
0014
0015
0016
0017
0018 TrksInJetQABaseFiller::TrksInJetQABaseFiller(
0019 TrksInJetQAConfig& config,
0020 TrksInJetQAHist& hist
0021 ) {
0022
0023
0024 m_config = config;
0025 m_hist = hist;
0026
0027
0028 if (m_config.doHitQA) m_hitManager = std::make_unique<TrksInJetQAHitManager>(m_config, m_hist);
0029 if (m_config.doClustQA) m_clustManager = std::make_unique<TrksInJetQAClustManager>(m_config, m_hist);
0030 if (m_config.doTrackQA) m_trackManager = std::make_unique<TrksInJetQATrkManager>(m_config, m_hist);
0031 if (m_config.doJetQA) m_jetManager = std::make_unique<TrksInJetQAJetManager>(m_config, m_hist);
0032
0033 }
0034
0035
0036
0037 TrksInJetQABaseFiller::~TrksInJetQABaseFiller() {
0038
0039
0040
0041 }
0042
0043
0044
0045
0046
0047 void TrksInJetQABaseFiller::MakeHistograms(std::string label) {
0048
0049
0050 if (m_config.doHitQA) m_hitManager -> MakeHistograms(label);
0051 if (m_config.doClustQA) m_clustManager -> MakeHistograms(label);
0052 if (m_config.doTrackQA) m_trackManager -> MakeHistograms(label);
0053 if (m_config.doJetQA) m_jetManager -> MakeHistograms(label);
0054 return;
0055
0056 }
0057
0058
0059
0060 void TrksInJetQABaseFiller::SaveHistograms(TFile* outFile, std::string outDirName) {
0061
0062 TDirectory* outDir = outFile -> mkdir(outDirName.data());
0063 if (!outDir) {
0064 std::cerr << PHWHERE << ": PANIC: unable to make output directory!" << std::endl;
0065 assert(outDir);
0066 }
0067
0068 if (m_config.doHitQA) m_hitManager -> SaveHistograms(outDir, m_config.hitOutDir);
0069 if (m_config.doClustQA) m_clustManager -> SaveHistograms(outDir, m_config.clustOutDir);
0070 if (m_config.doTrackQA) m_trackManager -> SaveHistograms(outDir, m_config.trackOutDir);
0071 if (m_config.doJetQA) m_jetManager -> SaveHistograms(outDir, m_config.jetOutDir);
0072 return;
0073
0074 }
0075
0076
0077
0078 void TrksInJetQABaseFiller::GrabHistograms(
0079 std::vector<TH1D*>& vecOutHist1D,
0080 std::vector<TH2D*>& vecOutHist2D
0081 ) {
0082
0083 if (m_config.doHitQA) m_hitManager -> GrabHistograms(vecOutHist1D, vecOutHist2D);
0084 if (m_config.doClustQA) m_clustManager -> GrabHistograms(vecOutHist1D, vecOutHist2D);
0085 if (m_config.doTrackQA) m_trackManager -> GrabHistograms(vecOutHist1D, vecOutHist2D);
0086 if (m_config.doJetQA) m_jetManager -> GrabHistograms(vecOutHist1D, vecOutHist2D);
0087 return;
0088
0089 }
0090
0091
0092
0093
0094
0095 void TrksInJetQABaseFiller::GetNodes(PHCompositeNode* topNode) {
0096
0097
0098 if (m_config.doJetQA) {
0099 m_jetMap = findNode::getClass<JetContainer>(topNode, m_config.jetInNode.data());
0100 if (!m_jetMap) {
0101 std::cerr << PHWHERE << ": PANIC: couldn't grab jet map from node tree!" << std::endl;
0102 assert(m_jetMap);
0103 }
0104 }
0105
0106
0107 if (m_config.doTrackQA) {
0108 m_trkMap = findNode::getClass<SvtxTrackMap>(topNode, m_config.trkInNode.data());
0109 if (!m_trkMap) {
0110 std::cerr << PHWHERE << ": PANIC: couldn't grab track map from node tree!" << std::endl;
0111 assert(m_trkMap);
0112 }
0113 }
0114
0115
0116 if (m_config.doClustQA) {
0117
0118 m_actsGeom = findNode::getClass<ActsGeometry>(topNode, "ActsGeometry");
0119 if (!m_actsGeom) {
0120 std::cerr << PHWHERE << ": PANIC: couldn't grab ACTS geometry from node tree!" << std::endl;
0121 assert(m_actsGeom);
0122 }
0123
0124 m_clustMap = findNode::getClass<TrkrClusterContainer>(topNode, m_config.clustInNode.data());
0125 if (!m_clustMap) {
0126 std::cerr << PHWHERE << ": PANIC: couldn't grab cluster map from node tree!" << std::endl;
0127 assert(m_clustMap);
0128 }
0129 }
0130
0131
0132 if (m_config.doHitQA) {
0133 m_hitMap = findNode::getClass<TrkrHitSetContainer>(topNode, m_config.hitInNode.data());
0134 if (!m_hitMap) {
0135 std::cerr << PHWHERE << ": PANIC: couldn't grab hit map from node tree!" << std::endl;
0136 assert(m_hitMap);
0137 }
0138 }
0139 return;
0140
0141 }
0142
0143