File indexing completed on 2025-08-06 08:14:23
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #define TRKSINJETQACLUSTMANAGER_CC
0011
0012
0013 #include "TrksInJetQAClustManager.h"
0014
0015
0016
0017
0018
0019 void TrksInJetQAClustManager::GetInfo(TrkrCluster* cluster, TrkrDefs::cluskey& clustKey, ActsGeometry* actsGeom) {
0020
0021
0022 const uint16_t layer = TrkrDefs::getLayer(clustKey);
0023 const bool isMvtx = IsInMvtx(layer);
0024 const bool isIntt = IsInIntt(layer);
0025 const bool isTpc = IsInTpc(layer);
0026
0027
0028 Acts::Vector3 actsPos = actsGeom -> getGlobalPosition(clustKey, cluster);
0029
0030
0031 ClustQAContent content {
0032 .x = actsPos(0),
0033 .y = actsPos(1),
0034 .z = actsPos(2),
0035 .r = std::hypot( actsPos(0), actsPos(1) )
0036 };
0037
0038
0039 FillHistograms(Type::All, content);
0040 if (isMvtx) {
0041 FillHistograms(Type::Mvtx, content);
0042 } else if (isIntt) {
0043 FillHistograms(Type::Intt, content);
0044 } else if (isTpc) {
0045 FillHistograms(Type::Tpc, content);
0046 }
0047
0048 }
0049
0050
0051
0052
0053
0054 void TrksInJetQAClustManager::FillHistograms(const int type, ClustQAContent& content) {
0055
0056
0057 m_vecHist1D.at(type).at(H1D::PosX) -> Fill(content.x);
0058 m_vecHist1D.at(type).at(H1D::PosY) -> Fill(content.y);
0059 m_vecHist1D.at(type).at(H1D::PosZ) -> Fill(content.z);
0060 m_vecHist1D.at(type).at(H1D::PosR) -> Fill(content.r);
0061
0062
0063 m_vecHist2D.at(type).at(H2D::PosYvsX) -> Fill(content.x, content.y);
0064 m_vecHist2D.at(type).at(H2D::PosRvsZ) -> Fill(content.z, content.r);
0065 return;
0066
0067 }
0068
0069
0070
0071 void TrksInJetQAClustManager::DefineHistograms() {
0072
0073
0074 std::vector<BinDef> vecBins = m_hist.GetVecHistBins();
0075
0076
0077 m_vecHistTypes.push_back( "Mvtx" );
0078 m_vecHistTypes.push_back( "Intt" );
0079 m_vecHistTypes.push_back( "Tpc" );
0080 m_vecHistTypes.push_back( "All" );
0081
0082
0083 m_vecHistDef1D.push_back( std::make_tuple( "ClustPosX", vecBins.at(TrksInJetQAHist::Var::PosXY) ));
0084 m_vecHistDef1D.push_back( std::make_tuple( "ClustPosY", vecBins.at(TrksInJetQAHist::Var::PosXY) ));
0085 m_vecHistDef1D.push_back( std::make_tuple( "ClustPosZ", vecBins.at(TrksInJetQAHist::Var::PosZ) ));
0086 m_vecHistDef1D.push_back( std::make_tuple( "ClustPosR", vecBins.at(TrksInJetQAHist::Var::PosR) ));
0087
0088
0089 m_vecHistDef2D.push_back(
0090 std::make_tuple(
0091 "ClustPosYvsX",
0092 vecBins.at(TrksInJetQAHist::Var::PosXY),
0093 vecBins.at(TrksInJetQAHist::Var::PosXY)
0094 )
0095 );
0096 m_vecHistDef2D.push_back(
0097 std::make_tuple(
0098 "ClustPosRvsZ",
0099 vecBins.at(TrksInJetQAHist::Var::PosZ),
0100 vecBins.at(TrksInJetQAHist::Var::PosR)
0101 )
0102 );
0103 return;
0104
0105 }
0106
0107