Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:14:59

0001 /**
0002  *  @file   LCContent/include/LCParticleId/PhotonSplittingAlgorithm.h
0003  *
0004  *  @brief  Header file for the photon splitting algorithm class.
0005  *
0006  *  $Log: $
0007  */
0008 #ifndef PHOTON_SPLITTING_ALGORITHM_H
0009 #define PHOTON_SPLITTING_ALGORITHM_H 1
0010 
0011 #include "Pandora/Algorithm.h"
0012 
0013 namespace lc_content {
0014 
0015 /**
0016  *  @brief  PhotonSplittingAlgorithm class
0017  */
0018 class PhotonSplittingAlgorithm : public pandora::Algorithm {
0019 public:
0020   /**
0021    *  @brief  Default constructor
0022    */
0023   PhotonSplittingAlgorithm();
0024 
0025   /**
0026    *  @brief  Destructor
0027    */
0028   ~PhotonSplittingAlgorithm();
0029 
0030 private:
0031   pandora::StatusCode Run();
0032   pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
0033 
0034   unsigned int m_maxSearchLayer;   ///< Max pseudo layer to examine when calculating track-cluster distance
0035   float m_parallelDistanceCut;     ///< Max allowed projection of track-hit separation along track direction
0036   float m_minTrackClusterCosAngle; ///< Min cos(angle) between track and cluster initial direction
0037   float m_maxDistanceToTrackCut;   ///< Minimum distance to track to separate clusters close to track or not
0038   bool m_transProfileEcalOnly;     ///< Transverse profile shower calculator uses ecal only. Can be overridden by the
0039                                    ///< m_transProfileMaxLayer
0040   unsigned int m_transProfileMaxLayer; ///< Maximum layer to consider in calculation of shower transverse profiles
0041   float m_minClusterEnergy1;           ///< Minimum cluster energy for cluster far from tracks
0042   float m_minDaughterEnergy1;          ///< Minimum daughter cluster energy for cluster far from tracks
0043   float m_minClusterEnergy2;           ///< Minimum cluster energy for cluster close to 1 track
0044   float m_minDaughterEnergy2;          ///< Minimum daughter cluster energy for cluster close to 1 track
0045   float m_minClusterEnergy3;           ///< Minimum cluster energy for cluster close to more than 1 track
0046   float m_minDaughterEnergy3;          ///< Minimum daughter cluster energy for cluster to more than 1 track
0047   unsigned int m_maxNPeaks;            ///< Max peaks to split
0048 };
0049 
0050 } // namespace lc_content
0051 
0052 #endif // #ifndef PHOTON_SPLITTING_ALGORITHM_H