Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 // ----------------------------------------------------------------------------
0002 // 'TrksInJetQAHitManager.h'
0003 // Derek Anderson
0004 // 03.25.2024
0005 //
0006 // A submodule for the TrksInJetQA module
0007 // to generate QA plots for track hits
0008 // ----------------------------------------------------------------------------
0009 
0010 #ifndef TRKSINJETQAHITMANAGER_H
0011 #define TRKSINJETQAHITMANAGER_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/TrkrHit.h>
0022 #include <trackbase/TpcDefs.h>
0023 #include <trackbase/InttDefs.h>
0024 #include <trackbase/MvtxDefs.h>
0025 #include <trackbase/TrkrDefs.h>
0026 // submodule definitions
0027 #include "TrksInJetQABaseManager.h"
0028 
0029 
0030 
0031 // TrksInJetQAHitManager definition -------------------------------------------
0032 
0033 class TrksInJetQAHitManager : public TrksInJetQABaseManager {
0034 
0035   public:
0036 
0037     // histogram accessors
0038     enum Type {Mvtx, Intt, Tpc, All};
0039     enum H1D  {Ene, ADC, Layer, PhiBin, ZBin};
0040     enum H2D  {EneVsLayer, EneVsADC, PhiVsZBin};
0041 
0042     // histogram content
0043     struct HitQAContent {
0044       double   ene    = std::numeric_limits<double>::max();
0045       uint64_t adc    = std::numeric_limits<uint64_t>::max();
0046       uint16_t layer  = std::numeric_limits<uint16_t>::max();
0047       uint16_t phiBin = std::numeric_limits<uint16_t>::max();
0048       uint16_t zBin   = std::numeric_limits<uint16_t>::max();
0049     };
0050 
0051     // ctor/dtor
0052     using TrksInJetQABaseManager::TrksInJetQABaseManager;
0053     ~TrksInJetQAHitManager() {};
0054 
0055     // public methods
0056     void GetInfo(TrkrHit* hit, TrkrDefs::hitsetkey& setKey, TrkrDefs::hitkey& hitKey);
0057 
0058   private:
0059 
0060     // private methods
0061     void FillHistograms(const int type, HitQAContent& content);
0062 
0063     // inherited private methods
0064     void DefineHistograms() override;
0065 
0066 };  // end TrksInJetQAHitManager
0067 
0068 #endif
0069 
0070 // end ------------------------------------------------------------------------