00001 // Dear emacs, this is -*- c++ -*- 00002 // $Id: MuonEfficiencyToolExample.h 299750 2014-03-28 12:39:15Z krasznaa $ 00003 #ifndef CPANALYSISEXAMPLES_MUONEFFICIENCYTOOL_H 00004 #define CPANALYSISEXAMPLES_MUONEFFICIENCYTOOL_H 00005 00006 // Framework include(s): 00007 #include "AsgTools/AsgTool.h" 00008 00009 // Local include(s): 00010 #include "CPAnalysisExamples/IMuonEfficiencyToolExample.h" 00011 00012 namespace CP { 00013 00024 class MuonEfficiencyToolExample : public virtual IMuonEfficiencyToolExample, 00025 public asg::AsgTool { 00026 00028 ASG_TOOL_CLASS( MuonEfficiencyToolExample, CP::IMuonEfficiencyToolExample ) 00029 00030 public: 00032 MuonEfficiencyToolExample( const std::string& name ); 00033 00036 00038 virtual StatusCode initialize(); 00039 00041 00044 00046 virtual CorrectionCode getEfficiency( const xAOD::Muon& mu, 00047 float& eff ); 00049 virtual CorrectionCode applyEfficiency( xAOD::Muon& mu ); 00050 00052 virtual CorrectionCode getScaleFactor( const xAOD::Muon& mu, 00053 float& sf ); 00055 virtual CorrectionCode applyScaleFactor( xAOD::Muon& mu ); 00056 00058 00059 private: 00061 double m_dummyProperty; 00062 00063 }; // class MuonEfficiencyToolExample 00064 00065 } // namespace CP 00066 00067 #endif // CPANALYSISEXAMPLES_MUONEFFICIENCYTOOL_H