00001
00002 #ifndef TAUANALYSISTOOLS_ITAUSMEARINGTOOL_H
00003 #define TAUANALYSISTOOLS_ITAUSMEARINGTOOL_H
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "AsgTools/IAsgTool.h"
00017
00018
00019 #include "xAODTau/TauJet.h"
00020 #include "PATInterfaces/CorrectionCode.h"
00021 #include "PATInterfaces/ISystematicsTool.h"
00022
00023 namespace TauAnalysisTools
00024 {
00025
00026 class ITauSmearingTool
00027 : public virtual asg::IAsgTool
00028 , public virtual CP::ISystematicsTool
00029 {
00030
00032 ASG_TOOL_INTERFACE( TauAnalysisTools::ITauSmearingTool )
00033
00034 public:
00035
00037 virtual CP::CorrectionCode applyCorrection( xAOD::TauJet& xTau ) = 0;
00039 virtual CP::CorrectionCode correctedCopy( const xAOD::TauJet& input,
00040 xAOD::TauJet*& output ) = 0;
00041
00042 };
00043
00044 }
00045
00046 #endif // TAUANALYSISTOOLS_ITAUSMEARINGTOOL_H