00001 //IAsgPhotonEfficiencyCorrection.h to be used in the tool. 00002 #ifndef __IASGPHOTONEFFICIENCYCORRECTION__ 00003 #define __IASGPHOTONEFFICIENCYCORRECTION__ 00004 00005 // Framework include(s): 00006 #include "AsgTools/IAsgTool.h" 00007 00008 // EDM include(s): 00009 #include "xAODEgamma/Egamma.h" 00010 00011 // Local include(s): 00012 #include "PATInterfaces/CorrectionCode.h" 00013 #include "PATInterfaces/ISystematicsTool.h" 00014 00015 namespace xAOD{ 00016 class IParticle; 00017 } 00018 00019 class IAsgPhotonEfficiencyCorrectionTool : virtual public asg::IAsgTool, virtual public CP::ISystematicsTool 00020 { 00021 ASG_TOOL_INTERFACE(IAsgPhotonEfficiencyCorrectionTool) 00022 00023 public: 00024 //virtual StatusCode initialize() = 0; 00025 00027 virtual CP::CorrectionCode getEfficiencyScaleFactor(const xAOD::Egamma&, double&) const = 0; 00028 00030 virtual CP::CorrectionCode getEfficiencyScaleFactorError(const xAOD::Egamma&, double&) const = 0; 00031 00033 virtual CP::CorrectionCode applyEfficiencyScaleFactor(xAOD::Egamma&) const = 0; 00034 00035 virtual ~IAsgPhotonEfficiencyCorrectionTool() {} 00036 }; // class IAsgPhotonEfficiencyCorrectionTool 00037 00038 #endif 00039