|
|
|||
File indexing completed on 2026-09-27 09:14:59
0001 /** 0002 * @file LCContent/include/LCParticleId/PhotonRecoveryAlgorithm.h 0003 * 0004 * @brief Header file for the photon recovery algorithm class. 0005 * 0006 * $Log: $ 0007 */ 0008 #ifndef LC_PHOTON_RECOVERY_ALGORITHM_H 0009 #define LC_PHOTON_RECOVERY_ALGORITHM_H 1 0010 0011 #include "Pandora/Algorithm.h" 0012 0013 namespace lc_content { 0014 0015 /** 0016 * @brief PhotonRecoveryAlgorithm class 0017 */ 0018 class PhotonRecoveryAlgorithm : public pandora::Algorithm { 0019 public: 0020 /** 0021 * @brief Default constructor 0022 */ 0023 PhotonRecoveryAlgorithm(); 0024 0025 private: 0026 pandora::StatusCode Run(); 0027 pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle); 0028 0029 /** 0030 * @brief Examine clusters in a specified list, identifying and flagging those clusters that are likely photons 0031 * 0032 * @param pClusterList address of the cluster list 0033 */ 0034 void FindPhotonsIdentifiedAsHadrons(const pandora::ClusterList* const pClusterList) const; 0035 0036 /** 0037 * @brief Get the maximum of 1) the fraction of total cluster electromagnetic energy deposited in the barrel, or 0038 * 2) the fraction of total cluster electromagnetic energy deposited in the endcap 0039 * 0040 * @param pCluster address of the cluster 0041 * 0042 * @return the barrel endcap energy split 0043 */ 0044 float GetBarrelEndCapEnergySplit(const pandora::Cluster* const pCluster) const; 0045 0046 /** 0047 * @brief Examine clusters in a specified list, identifying and flagging candidate "soft" photons 0048 * 0049 * @param pClusterList address of the cluster list 0050 */ 0051 void PerformSoftPhotonId(const pandora::ClusterList* const pClusterList) const; 0052 0053 /** 0054 * @brief Whether a cluster should be considered as a "soft" photon cluster 0055 * 0056 * @param pCluster address of the cluster 0057 * 0058 * @return boolean 0059 */ 0060 bool IsSoftPhoton(const pandora::Cluster* const pCluster) const; 0061 0062 std::string m_trackClusterAssociationAlgName; ///< The name of the track-cluster association algorithm to run 0063 0064 float m_minElectromagneticEnergy; ///< Minimum cluster electromagnetic energy for identification as a photon 0065 unsigned int m_maxInnerLayer; ///< Maximum cluster inner layer 0066 0067 float m_profileStartCut1; ///< Initial cut on shower profile start for identification as a photon 0068 float m_profileStartEnergyCut; ///< Electromagnetic energy above which shower profile start cut will be altered 0069 float m_profileStartCut2; ///< Cut on shower profile start for clusters passing energy cut 0070 float m_profileStartCut3; ///< Cut on shower profile start for clusters also passing profile discrepancy cuts 0071 0072 float m_profileDiscrepancyCut1; ///< Initial cut on shower profile discrepancy for identification as a photon 0073 float m_profileDiscrepancyEnergyCut; ///< Electromagnetic energy above which profile discrepancy cut will be altered 0074 float m_profileDiscrepancyCutParameter1; ///< Parameter1 for calculation of discrepancy cut (for clusters passing 0075 ///< energy cut) 0076 float m_profileDiscrepancyCutParameter2; ///< Parameter2 for calculation of discrepancy cut (for clusters passing 0077 ///< energy cut) 0078 float m_minProfileDiscrepancy; ///< Minimum shower profile discrepancy for identification as a photon 0079 float m_profileDiscrepancyCut2; ///< Cut on shower profile discrepancy for clusters also passing profile start cuts 0080 0081 unsigned int m_maxOverlapInnerLayer; ///< Maximum inner layer for clusters in barrel-endcap overlap region 0082 float m_maxOverlapMipFraction; ///< Maximum mip fraction for clusters in barrel-endcap overlap region 0083 float m_minOverlapRadialDirectionCosine; ///< Minimum radial direction cosine for clusters in barrel-endcap overlap 0084 ///< region 0085 float m_maxBarrelEndCapSplit; ///< Maximum barrel-endcap electromagnetic energy split for cluster 0086 0087 unsigned int m_softPhotonMinCaloHits; ///< Soft photon id min number of calo hits in cluster 0088 unsigned int m_softPhotonMaxCaloHits; ///< Soft photon id max number of calo hits in cluster 0089 float m_softPhotonMaxEnergy; ///< Soft photon id max cluster electromagnetic energy 0090 unsigned int m_softPhotonMaxInnerLayer; ///< Soft photon id max cluster inner pseudolayer 0091 float m_softPhotonMaxDCosR; ///< Soft photon id max cluster radial direction cosine 0092 float m_softPhotonLowEnergyCut; ///< Soft photon id low electromagnetic energy cut 0093 float m_softPhotonLowEnergyMaxDCosR; ///< Soft photon id max radial direction cosine for low energy cluster 0094 }; 0095 0096 } // namespace lc_content 0097 0098 #endif // #ifndef LC_PHOTON_RECOVERY_ALGORITHM_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|