File indexing completed on 2025-08-06 08:18:43
0001
0002
0003 #ifndef JETSEEDCOUNT_H
0004 #define JETSEEDCOUNT_H
0005
0006 #include "JetQADefs.h"
0007
0008 #include <fun4all/Fun4AllHistoManager.h>
0009 #include <fun4all/SubsysReco.h>
0010
0011 #include <qautils/QAHistManagerDef.h>
0012
0013 #include <limits>
0014 #include <string>
0015 #include <vector>
0016
0017
0018 class PHCompositeNode;
0019 class TH1;
0020 class TH2;
0021 class TriggerAnalyzer;
0022
0023 class JetSeedCount : public SubsysReco
0024 {
0025 public:
0026 JetSeedCount(const std::string &moduleName = "JetSeedCount",
0027 const std::string &recojetname = "AntiKt_Tower_r04",
0028 const std::string &rawSeedName = "AntiKt_TowerInfo_HIRecoSeedsRaw_r02",
0029 const std::string &subSeedName = "AntiKt_TowerInfo_HIRecoSeedsSub_r02",
0030 const std::string &truthjetname = "AntiKt_Truth_r04",
0031 const std::string &outputfilename = "myjetanalysis.root");
0032
0033 ~JetSeedCount() override = default;
0034
0035 void
0036 setEtaRange(double low, double high)
0037 {
0038 m_etaRange.first = low;
0039 m_etaRange.second = high;
0040 }
0041 void
0042 setPtRange(double low, double high)
0043 {
0044 m_ptRange.first = low;
0045 m_ptRange.second = high;
0046 }
0047 void
0048 setWriteToOutputFile(bool write)
0049 {
0050 m_writeToOutputFile = write;
0051 }
0052 void
0053 setHistTag(const std::string &tag)
0054 {
0055 m_histTag = tag;
0056 }
0057 void
0058 setTrgToSelect(const uint32_t trig = JetQADefs::GL1::MBDNSJet1)
0059 {
0060 m_doTrgSelect = true;
0061 m_trgToSelect = trig;
0062 }
0063 void
0064 setPPMode(const bool pp)
0065 {
0066 m_inPPMode = pp;
0067 }
0068
0069 int Init(PHCompositeNode *topNode) override;
0070
0071 int InitRun(PHCompositeNode *topNode) override;
0072
0073 int process_event(PHCompositeNode *topNode) override;
0074
0075
0076 int End(PHCompositeNode *topNode) override;
0077
0078 void Print(const std::string &what = "ALL") const override;
0079
0080 private:
0081 Fun4AllHistoManager *m_manager{nullptr};
0082 TriggerAnalyzer *m_analyzer{nullptr};
0083
0084 bool m_writeToOutputFile{false};
0085 bool m_inPPMode{false};
0086
0087 int m_event{0};
0088
0089 std::string m_moduleName;
0090 std::string m_recoJetName;
0091 std::string m_rawSeedName;
0092 std::string m_subSeedName;
0093 std::string m_truthJetName;
0094 std::string m_outputFileName;
0095 std::string m_histTag {"AllTrig_AntiKt_Tower_r04_Sub1"};
0096
0097 std::pair<double, double> m_etaRange {-1,1};
0098 std::pair<double, double> m_ptRange{5,100};
0099
0100
0101 bool m_doTrgSelect {false};
0102 uint32_t m_trgToSelect {JetQADefs::GL1::MBDNSJet1};
0103
0104 TH1* m_hRawSeedCount{nullptr};
0105 TH1* m_hRawPt{nullptr};
0106 TH1* m_hRawPt_All{nullptr};
0107 TH2* m_hRawEtaVsPhi{nullptr};
0108 TH1* m_hSubSeedCount{nullptr};
0109 TH1* m_hSubPt{nullptr};
0110 TH1* m_hSubPt_All{nullptr};
0111 TH2* m_hSubEtaVsPhi{nullptr};
0112 TH2* m_hRawSeedEnergyVsCent{nullptr};
0113 TH2* m_hSubSeedEnergyVsCent{nullptr};
0114 TH1* m_hCentMbd{nullptr};
0115 TH2* m_hRawSeedVsCent{nullptr};
0116 TH2* m_hSubSeedVsCent{nullptr};
0117
0118 };
0119
0120 #endif