Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 /**
0002  * @file mvtx/MvtxClusterPruner.h
0003  * @author Hugo Pereira Da Costa <hugo.pereira-da-costa@lanl.gov>
0004  * @date May 2025
0005  * @brief Pruner to handle multiple copies of clusters for the MVTX
0006  */
0007 #ifndef MVTX_MVTXCLUSTERPRUNER_H
0008 #define MVTX_MVTXCLUSTERPRUNER_H
0009 
0010 #include <fun4all/SubsysReco.h>
0011 #include <trackbase/TrkrDefs.h>
0012 
0013 #include <string>  // for string
0014 #include <utility>
0015 
0016 // forward declarations
0017 class PHCompositeNode;
0018 
0019 
0020 /**
0021  * @brief cluster pruner for the MVTX
0022  */
0023 class MvtxClusterPruner : public SubsysReco
0024 {
0025   public:
0026 
0027   //! constructor
0028   MvtxClusterPruner(const std::string &name = "MvtxClusterPruner");
0029 
0030   //! module initialization
0031   int Init(PHCompositeNode * /*topNode*/) override { return 0; }
0032 
0033   //! run initialization
0034   int InitRun(PHCompositeNode * /*topNode*/) override;
0035 
0036   //! event processing
0037   int process_event(PHCompositeNode * /*topNode*/) override;
0038 
0039   //! end of process
0040   int End(PHCompositeNode * /*topNode*/) override;
0041 
0042   //! strict matching
0043   void set_use_strict_matching( bool value )
0044   { m_use_strict_matching = value; }
0045 
0046   private:
0047 
0048   //! strict matching
0049   bool m_use_strict_matching = false;
0050 
0051   //!@name counters
0052   //@{
0053   uint64_t m_cluster_counter_total = 0;
0054   uint64_t m_cluster_counter_deleted = 0;
0055   //@}
0056 };
0057 
0058 #endif  // MVTX_MVTXHITPRUNER_H