00001 #ifndef _IELECTRONPHOTONSHOWERSHAPEFUDGETOOL_H 00002 #define _IELECTRONPHOTONSHOWERSHAPEFUDGETOOL_H 00003 00014 // Framework include(s): 00015 #include "AsgTools/IAsgTool.h" 00016 00017 // EDM include(s): 00018 #include "xAODEgamma/EgammaFwd.h" 00019 #include "xAODEgamma/PhotonFwd.h" 00020 #include "xAODEgamma/ElectronFwd.h" 00021 00022 // Local include(s): 00023 #include "PATInterfaces/CorrectionCode.h" 00024 00025 00026 class IElectronPhotonShowerShapeFudgeTool : public virtual asg::IAsgTool { 00027 00029 ASG_TOOL_INTERFACE(IElectronPhotonShowerShapeFudgeTool) 00030 00031 public: 00033 virtual const CP::CorrectionCode applyCorrection(xAOD::Photon& ph ) const = 0; 00034 00035 virtual const CP::CorrectionCode applyCorrection(xAOD::Electron& el ) const = 0; 00036 00037 virtual const CP::CorrectionCode correctedCopy( const xAOD::Photon& ph, xAOD::Photon*& output ) const = 0; 00038 00039 virtual const CP::CorrectionCode correctedCopy( const xAOD::Electron& el, xAOD::Electron*& output ) const = 0; 00040 00041 00042 00043 }; // class IElectronPhotonShowerShapeFudgeTool 00044 00045 #endif // _IASGFUDGEMCTOOL_H