Back to home page

sPhenix code displayed by LXR

 
 

    


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   // const PHParameters &Get_eclus_CalibrationParameters() const
0029   // {
0030   //   return _eclus_calib_params;
0031   // }
0032   // PHParameters &Get_eclus_CalibrationParameters()
0033   // {
0034   //   return _eclus_calib_params;
0035   // }
0036   // const PHParameters &Get_eore_CalibrationParameters() const
0037   // {
0038   //   return _ecore_calib_params;
0039   // }
0040   // PHParameters &Get_ecore_CalibrationParameters()
0041   // {
0042   //   return _ecore_calib_params;
0043   // }
0044 
0045   // void Set_eclus_CalibrationParameters(const PHParameters &calib_params)
0046   // {
0047   //   _eclus_calib_params = calib_params;
0048   // }
0049   // void Set_ecore_CalibrationParameters(const PHParameters &calib_params)
0050   // {
0051   //   _ecore_calib_params = calib_params;
0052   // }
0053 
0054   void set_UseTowerInfo(const int useMode)
0055   {  // 0 only old tower, 1 only new (TowerInfo based),
0056     m_UseTowerInfo = useMode;
0057   }
0058 
0059  private:
0060   // PHParameters _eclus_calib_params;
0061   // PHParameters _ecore_calib_params;
0062   // void SetDefaultParameters(PHParameters &param);
0063   RawClusterContainer *_recalib_clusters{};
0064 
0065   std::string _det_name;
0066 
0067   // std::vector<float> binvals;
0068   // std::vector<std::vector<double> > eclus_calib_constants;
0069   // std::vector<std::vector<double> > ecore_calib_constants;
0070 
0071   // key: phibin, etabin
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};  // 0 only old tower, 1 only new (TowerInfo based),
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