Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:37

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef SILICONSEEDSQA_H
0004 #define SILICONSEEDSQA_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 #include <trackbase/ActsGeometry.h>
0008 #include <trackbase/TrkrDefs.h>
0009 
0010 #include <string>
0011 #include <vector>
0012 
0013 class SvtxTrack;
0014 class PHCompositeNode;
0015 class TH1;
0016 class TH2;
0017 class TProfile2D;
0018 
0019 class SiliconSeedsQA : public SubsysReco
0020 {
0021  public:
0022   SiliconSeedsQA(const std::string &name = "SiliconSeedsQA");
0023 
0024   ~SiliconSeedsQA() override = default;
0025 
0026   int InitRun(PHCompositeNode *topNode) override;
0027   int process_event(PHCompositeNode *topNode) override;
0028   int EndRun(const int runnumber) override;
0029   int End(PHCompositeNode *topNode) override;
0030   void setTrackMapName(const std::string &name) { m_trackMapName = name; }
0031   void setVertexMapName(const std::string &name) { m_vertexMapName = name; }
0032 
0033  private:
0034   static std::vector<TrkrDefs::cluskey> get_cluster_keys(SvtxTrack *track);
0035   void createHistos();
0036   std::string getHistoPrefix() const;
0037 
0038   std::string m_clusterContainerName = "TRKR_CLUSTER";
0039   std::string m_actsgeometryName = "ActsGeometry";
0040   std::string m_trackMapName = "SvtxTrackMap";
0041   std::string m_vertexMapName = "SvtxVertexMap";
0042 
0043   TH1 *h_ntrack1d = nullptr;
0044   TH2 *h_ntrack = nullptr;
0045   TH1 *h_nmaps = nullptr;
0046   TH1 *h_nintt = nullptr;
0047   TH2 *h_nmaps_nintt = nullptr;
0048   TProfile2D *h_avgnclus_eta_phi = nullptr;
0049   TH1 *h_trackcrossing = nullptr;
0050   TH1 *h_trackchi2ndf = nullptr;
0051   TH2 *h_dcaxyorigin_phi = nullptr;
0052   TH2 *h_dcaxyvtx_phi = nullptr;
0053   TH2 *h_dcazorigin_phi = nullptr;
0054   TH2 *h_dcazvtx_phi = nullptr;
0055   TH1 *h_ntrack_isfromvtx = nullptr;
0056   TH1 *h_trackpt_inclusive = nullptr;
0057   TH1 *h_trackpt_pos = nullptr;
0058   TH1 *h_trackpt_neg = nullptr;
0059   TH1 *h_ntrack_IsPosCharge = nullptr;
0060 
0061   TH1 *h_nvertex = nullptr;
0062   TH1 *h_vx = nullptr;
0063   TH1 *h_vy = nullptr;
0064   TH1 *h_vz = nullptr;
0065   TH2 *h_vx_vy = nullptr;
0066   TH1 *h_vt = nullptr;
0067   TH1 *h_vcrossing = nullptr;
0068   TH1 *h_vchi2dof = nullptr;
0069   TH1 *h_ntrackpervertex = nullptr;
0070 };
0071 
0072 #endif  // SILICONSEEDSQA_H