00001 #ifndef ISOLATIONSELECTION_IISOLATIONCLOSEBYCORRECTIONTOOL_H
00002 #define ISOLATIONSELECTION_IISOLATIONCLOSEBYCORRECTIONTOOL_H
00003
00004 #include "PATInterfaces/CorrectionCode.h"
00005 #include <xAODBase/IParticle.h>
00006 #include "xAODPrimitives/IsolationType.h"
00007 #include "PATCore/TAccept.h"
00008 #include "IsolationSelection/IsolationSelectionTool.h"
00009
00010 namespace CP {
00011
00012 class IIsolationCloseByCorrectionTool : public virtual asg::IAsgTool {
00013
00014 ASG_TOOL_INTERFACE(CP::IIsolationCloseByCorrectionTool)
00015
00016 public:
00017
00018
00019
00020
00021 virtual const Root::TAccept& acceptCorrected(const xAOD::IParticle& x, const std::vector<const xAOD::IParticle*>& closePar, int topoetconeModel = -1) const = 0;
00022
00023
00024
00025
00026 virtual const CP::CorrectionCode getCloseByCorrection(std::vector<float>& corrections, const xAOD::IParticle& par, const std::vector<xAOD::Iso::IsolationType>& types, const std::vector<const xAOD::IParticle*>& closePar, int topoetconeModel = -1) const = 0;
00027
00028 };
00029
00030 }
00031 #endif