Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:34

0001 #ifndef RAWCLUSTERLIKELIHOODPROFILE_H
0002 #define RAWCLUSTERLIKELIHOODPROFILE_H
0003 
0004 #include "ClusterCDFCalculator.h"
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 class PHCompositeNode;
0009 class RawClusterContainer;
0010 
0011 class RawClusterLikelihoodProfile : public SubsysReco
0012 {
0013  public:
0014   RawClusterLikelihoodProfile(const std::string &name = "RawClusterLikelihoodProfile");
0015 
0016   ~RawClusterLikelihoodProfile() override = default;
0017 
0018   int Init(PHCompositeNode *topNode) override;
0019 
0020   int process_event(PHCompositeNode *topNode) override;
0021 
0022   int End(PHCompositeNode *topNode) override;
0023 
0024   void Print(const std::string &what = "ALL") const override;
0025 
0026   void set_profile_filepath(const std::string &filepath) {m_profile_path = filepath;}
0027 
0028   void set_inputNodeName(const std::string &inputNodeName) { m_inputNodeName = inputNodeName; }
0029 
0030   void set_outputNodeName(const std::string &outputNodeName) { m_outputNodeName = outputNodeName; }
0031 
0032   void set_towerNodeName(const std::string &towerNodeName) { m_towerNodeName = towerNodeName; }
0033   
0034   void set_globalVertexNodeName(const std::string &globalvertexNodeName) { m_globalvtxNodeName = globalvertexNodeName; }
0035 
0036   void set_min_cluster_e(const float min_cluster_e) { m_min_cluster_e = min_cluster_e; }
0037   
0038   void set_tower_threshold(const float tower_thres_e) { m_tower_thres_e = tower_thres_e; }
0039   
0040   void set_profile_dimension(const int nProfDim) { m_profile_dimension = nProfDim; }
0041 
0042  private:
0043   ClusterCDFCalculator *cdfcalc{nullptr};
0044   
0045   const int inputDimx{7};
0046   const int inputDimy{7};
0047 
0048   std::string m_profile_path;
0049 
0050   std::string m_inputNodeName{"CLUSTERINFO_CEMC"};
0051   std::string m_outputNodeName{"CLUSTERINFO_CEMC_PROFILE"};
0052   std::string m_towerNodeName{"TOWERINFO_CALIB_CEMC"};
0053   std::string m_globalvtxNodeName{"GlobalVertexMap"};
0054 
0055   bool inplace{false};
0056 
0057   RawClusterContainer *_clusters{nullptr};
0058 
0059   float m_min_cluster_e{0.5};
0060   float m_tower_thres_e{0.070};
0061   int m_profile_dimension{3};
0062 
0063   float vx{0};
0064   float vy{0};
0065   float vz{0};
0066 
0067   void CreateNodes(PHCompositeNode* topNode);
0068 
0069 };
0070 
0071 #endif