00001
00002
00003 #ifndef CPANALYSISEXAMPLES_IMUONSMEARINGTOOL_H
00004 #define CPANALYSISEXAMPLES_IMUONSMEARINGTOOL_H
00005
00006
00007 #include "AsgTools/IAsgTool.h"
00008
00009
00010 #include "xAODMuon/Muon.h"
00011
00012
00013 #include "PATInterfaces/CorrectionCode.h"
00014
00015 namespace CP {
00016
00026 class IMuonSmearingToolExample : public virtual asg::IAsgTool {
00027
00029 ASG_TOOL_INTERFACE( CP::IMuonSmearingToolExample )
00030
00031 public:
00033 virtual CorrectionCode applyCorrection( xAOD::Muon& mu ) = 0;
00035 virtual CorrectionCode correctedCopy( const xAOD::Muon& input,
00036 xAOD::Muon*& output ) = 0;
00037
00038 };
00039
00040 }
00041
00042 #endif // CPANALYSISEXAMPLES_IMUONSMEARINGTOOL_H