File indexing completed on 2025-08-05 08:17:37
0001
0002
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