00001 // IJetCalibrationTool.h 00002 00009 00010 #ifndef JETCALIBTOOL_IJETCALIBRATIONTOOL_H 00011 #define JETCALIBTOOL_IJETCALIBRATIONTOOL_H 00012 00013 #include "PATInterfaces/CorrectionCode.h" 00014 #include "AsgTools/IAsgTool.h" 00015 #include "JetInterface/IJetModifier.h" 00016 #include "JetInterface/ISingleJetModifier.h" 00017 00018 //EDM includes 00019 #include "xAODJet/Jet.h" 00020 00021 //Package includes 00022 #include "JetCalibTools/JetEventInfo.h" 00023 00024 class IJetCalibrationTool : virtual public asg::IAsgTool { 00025 00026 ASG_TOOL_INTERFACE( IJetCalibrationTool ) 00027 00028 public: 00029 00031 virtual StatusCode initializeTool(const std::string& name) = 0; 00032 00034 virtual StatusCode applyCalibration(xAOD::Jet& jet) const = 0; 00035 00037 virtual CP::CorrectionCode applyCorrection(xAOD::Jet& jet) = 0; 00038 00040 virtual CP::CorrectionCode calibratedCopy(const xAOD::Jet& jet, xAOD::Jet*& jetReceivingCalibration) = 0; 00041 00043 virtual CP::CorrectionCode correctedCopy(const xAOD::Jet& jet, xAOD::Jet*& jetReceivingCalibration) = 0; 00044 00046 virtual int modify(xAOD::JetContainer& jets) const = 0; 00047 00049 virtual int modifyJet(xAOD::Jet& jet) const = 0; 00050 00051 }; 00052 00053 #endif