Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 // ----------------------------------------------------------------------------
0002 // 'TrksInJetQAClustManager.h'
0003 // Derek Anderson
0004 // 03.25.2024
0005 //
0006 // A submodule for the TrksInJetQA module to generate
0007 // QA plots for track clusters
0008 // ----------------------------------------------------------------------------
0009 
0010 #ifndef TRKSINJETQACLUSTMANAGER_H
0011 #define TRKSINJETQACLUSTMANAGER_H
0012 
0013 // c++ utilities
0014 #include <limits>
0015 #include <vector>
0016 #include <utility>
0017 // root libraries
0018 #include <TH1.h>
0019 #include <TH2.h>
0020 // tracking libraries
0021 #include <trackbase/TrkrDefs.h>
0022 #include <trackbase/TrkrHitSet.h>
0023 #include <trackbase/TrkrCluster.h>
0024 #include <trackbase/ActsGeometry.h>
0025 // submodule definitions
0026 #include "TrksInJetQABaseManager.h"
0027 
0028 
0029 
0030 // TrksInJetQAClustManager definition -----------------------------------------
0031 
0032 class TrksInJetQAClustManager : public TrksInJetQABaseManager {
0033 
0034   public:
0035 
0036     // histogram accessors
0037     enum Type {Mvtx, Intt, Tpc, All};
0038     enum H1D  {PosX, PosY, PosZ, PosR};
0039     enum H2D  {PosYvsX, PosRvsZ};
0040 
0041     // histogram content
0042     struct ClustQAContent {
0043       double x = std::numeric_limits<double>::max();
0044       double y = std::numeric_limits<double>::max();
0045       double z = std::numeric_limits<double>::max();
0046       double r = std::numeric_limits<double>::max();
0047     };
0048 
0049     // ctor/dtor
0050     using TrksInJetQABaseManager::TrksInJetQABaseManager;
0051     ~TrksInJetQAClustManager() {};
0052 
0053     // public methods
0054     void GetInfo(TrkrCluster* cluster, TrkrDefs::cluskey& clustKey, ActsGeometry* actsGeom);
0055 
0056   private:
0057 
0058     // private methods
0059     void FillHistograms(const int type, ClustQAContent& content);
0060 
0061     // inherited private methods
0062     void DefineHistograms() override;
0063 
0064 };  // end TrksInJetQAClustManager
0065 
0066 #endif
0067 
0068 // end ------------------------------------------------------------------------