diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionWithVertexTool.h b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionWithVertexTool.h new file mode 100644 index 0000000000000000000000000000000000000000..4247f4e23eb0711a632746d38a8f6aead671213a --- /dev/null +++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionWithVertexTool.h @@ -0,0 +1,55 @@ +///////////////////////// -*- C++ -*- ///////////////////////////// + +/* + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +*/ + +// IAsgSelectionWithVertexTool.h +// Header file for class IAsgSelectionWithVertexTool +// Author: Karsten Koeneke <karsten.koeneke@cern.ch> +/////////////////////////////////////////////////////////////////// +#ifndef PATCORE_IASGSELECTIONWITHVERTEXTOOL_H +#define PATCORE_IASGSELECTIONWITHVERTEXTOOL_H 1 + +// FrameWork includes +#include "AsgTools/IAsgTool.h" + +// Include the return object +#include "PATCore/AcceptInfo.h" +#include "PATCore/AcceptData.h" + +// Forward declaration +namespace xAOD { + class IParticle; + class Vertex_v1; + typedef Vertex_v1 Vertex; +} + +class IAsgSelectionWithVertexTool + : virtual public asg::IAsgTool +{ + /// Declare the interface ID for this pure-virtual interface class to the Athena framework + ASG_TOOL_INTERFACE(IAsgSelectionWithVertexTool) + + + /////////////////////////////////////////////////////////////////// + // Public methods: + /////////////////////////////////////////////////////////////////// +public: + + /////////////////////////////////////////////////////////////////// + // Const methods: + /////////////////////////////////////////////////////////////////// + + /** Method to get the AcceptInfo to query what cuts are defined. */ + virtual const asg::AcceptInfo& getAcceptInfo( ) const = 0; + + + /** The main accept method: the actual cuts are applied here */ + virtual asg::AcceptData accept( const xAOD::IParticle* /*part*/, + const xAOD::Vertex* /*vertex=0*/ ) const = 0; + + +}; + +#endif //> !PATCORE_IASGSELECTIONWITHVERTEXTOOL_H diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml index 2f639ec66ff925beda2d81939e78cecd799837e7..b83778a2b173a92005267243426c365c5179714c 100644 --- a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml +++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml @@ -3,4 +3,5 @@ <class name="asg::AcceptData" /> <!--<class name="std::bitset<32>" />--> <class name="IAsgSelectionTool" /> + <class name="IAsgSelectionWithVertexTool" /> </lcgdict>