Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:26

0001 #ifndef CALORECO_RAWCLUSTERDEADHOTMASK_H
0002 #define CALORECO_RAWCLUSTERDEADHOTMASK_H
0003 
0004 #include <fun4all/SubsysReco.h>
0005 
0006 #include <string>
0007 
0008 class PHCompositeNode;
0009 class RawClusterContainer;
0010 class RawTowerContainer;
0011 class RawTowerGeomContainer;
0012 class RawTowerDeadMap;
0013 class TowerInfoContainer;
0014 
0015 class RawClusterDeadHotMask : public SubsysReco
0016 {
0017  public:
0018   explicit RawClusterDeadHotMask(const std::string &name = "RawClusterDeadHotMask");
0019 
0020   int InitRun(PHCompositeNode *topNode) override;
0021   int process_event(PHCompositeNode *topNode) override;
0022   int End(PHCompositeNode *topNode) override;
0023 
0024   //! half width of the dead area around the center of a dead tower, if cluster center fall into this region it is rejected.
0025   void deadTowerMaskHalfWidth(double deadTowerMaskHalfWidth)
0026   {
0027     m_deadTowerMaskHalfWidth = deadTowerMaskHalfWidth;
0028   }
0029 
0030   void detector(const std::string &detector)
0031   {
0032     m_detector = detector;
0033   }
0034 
0035   void set_UseTowerInfo(const bool useMode)
0036   {
0037     m_UseTowerInfo = useMode;
0038   }
0039 
0040  private:
0041   void CreateNodeTree(PHCompositeNode *topNode);
0042 
0043   std::string m_detector;
0044 
0045   //! half width of the dead area around the center of a dead tower, if cluster center fall into this region it is rejected.
0046   double m_deadTowerMaskHalfWidth;
0047 
0048   RawClusterContainer *m_rawClusters;
0049   RawClusterContainer *m_towerinfoClusters;
0050   RawTowerDeadMap *m_deadMap;
0051   RawTowerContainer *m_calibTowers;
0052   TowerInfoContainer *m_calibTowerInfos;
0053   RawTowerGeomContainer *m_geometry;
0054   bool m_UseTowerInfo = true;
0055 };
0056 
0057 #endif