00001 //IAsgElectronEfficiencyCorrection.h to be used in the tool. 00002 #ifndef __IASGELECTRONEFFICIENCYCORRECTION__ 00003 #define __IASGELECTRONEFFICIENCYCORRECTION__ 00004 00005 #include "AsgTools/IAsgTool.h" 00006 #include "xAODEgamma/ElectronFwd.h" 00007 #include "PATInterfaces/CorrectionCode.h" 00008 #include "PATInterfaces/ISystematicsTool.h" 00009 namespace xAOD{ 00010 class IParticle; 00011 } 00012 00013 00014 class IAsgElectronEfficiencyCorrectionTool : virtual public CP::ISystematicsTool 00015 { 00016 ASG_TOOL_INTERFACE(IAsgElectronEfficiencyCorrectionTool) 00017 00018 public: 00020 virtual CP::CorrectionCode getEfficiencyScaleFactor(const xAOD::Electron& inputObject, double& efficiencyScaleFactor) const = 0; 00021 virtual CP::CorrectionCode applyEfficiencyScaleFactor(const xAOD::Electron& inputObject) const = 0; 00022 virtual ~IAsgElectronEfficiencyCorrectionTool() {} 00023 00024 }; 00025 00026 00027 00028 00029 00030 00031 00032 00033 #endif