00001 // Dear emacs, this is -*- c++ -*- 00002 // $Id: IMuonEfficiencyToolExample.h 299754 2014-03-28 15:37:02Z krasznaa $ 00003 #ifndef CPANALYSISEXAMPLES_IMUONEFFICIENCYTOOL_H 00004 #define CPANALYSISEXAMPLES_IMUONEFFICIENCYTOOL_H 00005 00006 // Framework include(s): 00007 #include "AsgTools/IAsgTool.h" 00008 00009 // EDM include(s): 00010 #include "xAODMuon/Muon.h" 00011 00012 // Local include(s): 00013 #include "PATInterfaces/CorrectionCode.h" 00014 00015 namespace CP { 00016 00027 class IMuonEfficiencyToolExample : public virtual asg::IAsgTool { 00028 00030 ASG_TOOL_INTERFACE( CP::IMuonEfficiencyToolExample ) 00031 00032 public: 00034 virtual CorrectionCode getEfficiency( const xAOD::Muon& mu, 00035 float& eff ) = 0; 00037 virtual CorrectionCode applyEfficiency( xAOD::Muon& mu ) = 0; 00038 00040 virtual CorrectionCode getScaleFactor( const xAOD::Muon& mu, 00041 float& sf ) = 0; 00043 virtual CorrectionCode applyScaleFactor( xAOD::Muon& mu ) = 0; 00044 00045 }; // class IMuonEfficiencyToolExample 00046 00047 } // namespace CP 00048 00049 #endif // CPANALYSISEXAMPLES_IMUONEFFICIENCYTOOL_H