File indexing completed on 2025-08-03 08:17:01
0001 #ifndef CALORECO_RAWCLUSTERPOSITIONCORRECTION_H
0002 #define CALORECO_RAWCLUSTERPOSITIONCORRECTION_H
0003
0004 #include <fun4all/SubsysReco.h>
0005
0006 #include <string>
0007 #include <vector>
0008
0009 class PHCompositeNode;
0010 class RawClusterContainer;
0011 class CDBHistos;
0012 class CDBInterface;
0013 class CDBTTree;
0014 class TH1;
0015 class TH2;
0016
0017 class RawClusterPositionCorrection : public SubsysReco
0018 {
0019 public:
0020 explicit RawClusterPositionCorrection(const std::string &name);
0021 ~RawClusterPositionCorrection() override;
0022 int InitRun(PHCompositeNode *topNode) override;
0023 int process_event(PHCompositeNode *topNode) override;
0024 int End(PHCompositeNode *topNode) override;
0025
0026 void CreateNodeTree(PHCompositeNode *topNode);
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054 void set_UseTowerInfo(const int useMode)
0055 {
0056 m_UseTowerInfo = useMode;
0057 }
0058
0059 private:
0060
0061
0062
0063 RawClusterContainer *_recalib_clusters{};
0064
0065 std::string _det_name;
0066
0067
0068
0069
0070
0071
0072 std::vector<std::vector<float>> calib_constants_north;
0073 std::vector<std::vector<float>> calib_constants_north_ecore;
0074 std::vector<std::vector<float>> calib_constants_south;
0075 std::vector<std::vector<float>> calib_constants_south_ecore;
0076
0077 int m_UseTowerInfo {0};
0078
0079 int bins_eta;
0080 int bins_phi;
0081 int iEvent;
0082
0083 TH2* h2NorthSector{nullptr};
0084 TH2* h2SouthSector{nullptr};
0085 TH1* pdcCorrFlat{nullptr};
0086
0087 CDBTTree *cdbttree{nullptr};
0088 CDBHistos *cdbHisto{nullptr};
0089 };
0090
0091 #endif