File indexing completed on 2025-08-06 08:18:50
0001
0002
0003 #ifndef TRACKFITTINGQA_H
0004 #define TRACKFITTINGQA_H
0005
0006 #include <fun4all/SubsysReco.h>
0007
0008 #include <string>
0009 #include <limits>
0010
0011 class TH1;
0012 class PHCompositeNode;
0013
0014 class TrackFittingQA : public SubsysReco
0015 {
0016 public:
0017 TrackFittingQA(const std::string& name = "TrackFittingQA");
0018 ~TrackFittingQA() override = default;
0019
0020
0021
0022 void set_min_quality ( float const& min_quality ) { m_min_quality = min_quality; }
0023 void set_max_quality ( float const& max_quality ) { m_max_quality = max_quality; }
0024 void set_min_p ( float const& min_p ) { m_min_p = min_p; }
0025 void set_min_pt ( float const& min_pt ) { m_min_pt = min_pt; }
0026 void set_max_abs_eta ( float const& max_abs_eta ) { m_max_abs_eta = max_abs_eta; }
0027 void set_min_intt_states ( int const& min_intt_states ) { m_min_intt_states = min_intt_states; }
0028 void set_min_mvtx_states ( int const& min_mvtx_states ) { m_min_mvtx_states = min_mvtx_states; }
0029 void set_min_tpc_states ( int const& min_tpc_states ) { m_min_tpc_states = min_tpc_states; }
0030 void set_min_tpot_states ( int const& min_tpot_states ) { m_min_tpot_states = min_tpot_states; }
0031 void set_min_crossing ( short const& min_crossing ) { m_min_crossing = min_crossing; }
0032 void set_max_crossing ( short const& max_crossing ) { m_max_crossing = max_crossing; }
0033
0034
0035 void set_track_map_name(std::string const& track_map_node_name) { m_track_map_node_name = track_map_node_name; }
0036
0037
0038
0039
0040 int Init(PHCompositeNode*) override;
0041 int InitRun(PHCompositeNode*) override;
0042
0043 int process_event(PHCompositeNode*) override;
0044
0045 int ResetEvent(PHCompositeNode*) override;
0046
0047 int EndRun(const int runnumber) override;
0048 int End(PHCompositeNode*) override;
0049
0050 int Reset(PHCompositeNode*) override;
0051 void Print(std::string const& = "ALL") const override;
0052
0053 private:
0054 TH1* m_quality_hist[2]{};
0055 TH1* m_p_hist[2]{};
0056 TH1* m_pt_hist[2]{};
0057 TH1* m_eta_hist[2]{};
0058 TH1* m_phi_eta_hist[2]{};
0059 TH1* m_intt_states_hist[2]{};
0060 TH1* m_mvtx_states_hist[2]{};
0061 TH1* m_tpc_states_hist[2]{};
0062 TH1* m_tpot_states_hist[2]{};
0063
0064
0065
0066 std::string m_track_map_node_name = "SvtxTrackMap";
0067
0068
0069 float m_min_quality{0};
0070 float m_max_quality{std::numeric_limits<float>::max()};
0071 float m_min_p{0};
0072 float m_min_pt{0};
0073 float m_max_abs_eta{std::numeric_limits<float>::max()};
0074 int m_min_intt_states{0};
0075 int m_min_mvtx_states{0};
0076 int m_min_tpc_states{0};
0077 int m_min_tpot_states{0};
0078 short m_min_crossing{0};
0079 short m_max_crossing{std::numeric_limits<short>::max()};
0080 };
0081
0082 #endif