00001 #ifndef JETRESOLUTION_IJERSMEARINGTOOL_H 00002 #define JETRESOLUTION_IJERSMEARINGTOOL_H 00003 00004 // EDM includes 00005 #include "xAODJet/Jet.h" 00006 00007 // Other includes 00008 #include "PATInterfaces/CorrectionCode.h" 00009 #include "PATInterfaces/ISystematicsTool.h" 00010 00011 00016 class IJERSmearingTool : public virtual CP::ISystematicsTool 00017 { 00018 00019 // Declare the interface that the class provides 00020 ASG_TOOL_INTERFACE( IJERSmearingTool ) 00021 00022 public: 00023 00025 virtual ~IJERSmearingTool(){}; 00026 00028 virtual CP::CorrectionCode applyCorrection( xAOD::Jet& jet ) = 0; 00029 00031 virtual CP::CorrectionCode correctedCopy( const xAOD::Jet& input, 00032 xAOD::Jet*& output ) = 0; 00033 00036 virtual void setRandomSeed(long int) = 0; 00037 00038 }; // class IJERSmearingTool 00039 00040 #endif