diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/CMakeLists.txt b/PhysicsAnalysis/AnalysisCommon/PATCore/CMakeLists.txt deleted file mode 100644 index 2ee14f38e757ec65f1c6e30fb9a4450a5d967690..0000000000000000000000000000000000000000 --- a/PhysicsAnalysis/AnalysisCommon/PATCore/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ -################################################################################ -# Package: PATCore -################################################################################ - -# Declare the package name: -atlas_subdir( PATCore ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - Control/AthContainers - Control/AthToolSupport/AsgTools - GaudiKernel ) - -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint ) - -# tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake - -# Component(s) in the package: -atlas_add_library( PATCoreLib - Root/*.cxx - PUBLIC_HEADERS PATCore - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AsgTools GaudiKernel ) - -atlas_add_dictionary( PATCoreDict - PATCore/PATCoreDict.h - PATCore/selection.xml - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AsgTools GaudiKernel PATCoreLib ) - -# Install files from the package: -atlas_install_python_modules( python/*.py ) - diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/CombinatoricsOdometer.h b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/CombinatoricsOdometer.h index ca91ce4bbe69c95f83aba6fc177ebd194b06abd0..763c1687d66132201784eb95c07a57d054c978f0 100755 --- a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/CombinatoricsOdometer.h +++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/CombinatoricsOdometer.h @@ -50,6 +50,12 @@ and "jet" container has 4 elements, "lepton" 2, and "bjet" 2, then ********************************************************************/ +#ifdef ROOTCORE +#include <RootCore/Packages.h> +#endif + +#if !defined(ROOTCORE) || defined(ROOTCORE_PACKAGE_AthContainers) + #include <map> #include <set> #include <string> @@ -140,3 +146,5 @@ private: }; #endif + +#endif diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionWithVertexTool.h b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionWithVertexTool.h new file mode 100644 index 0000000000000000000000000000000000000000..deaa9a3e0d015be47fe9d3b65d4a196c75bade63 --- /dev/null +++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionWithVertexTool.h @@ -0,0 +1,61 @@ +///////////////////////// -*- C++ -*- ///////////////////////////// + +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// IAsgSelectionWithVertexTool.h.h +// Header file for class IAsgSelectionWithVertexTool.h +// Author: Karsten Koeneke <karsten.koeneke@cern.ch> +/////////////////////////////////////////////////////////////////// +#ifndef PATCORE_IASGSELECTIONWITHVERTEXTOOL_H +#define PATCORE_IASGSELECTIONWITHVERTEXTOOL_H 1 + +// STL includes + + +// FrameWork includes +#include "AsgTools/IAsgTool.h" + +// Include the return object +#include "PATCore/TAccept.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 plain TAccept. + This is needed so that one can already get the TAccept + and query what cuts are defined before the first object + is passed to the tool. */ + virtual const Root::TAccept& getTAccept( ) const = 0; + + + /** The main accept method: the actual cuts are applied here */ + virtual const Root::TAccept& accept( const xAOD::IParticle* /*part*/, + const xAOD::Vertex* /*vertex=0*/ ) const = 0; + + +}; + +#endif //> !PATCORE_IASGSELECTIONWITHVERTEXTOOL_H diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/PATCoreDict.h b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/PATCoreDict.h index d9b6b97822ff021bab1dff92103707b3b49c4e82..91643c61c55e7f642195d302b9987c2f137fd3de 100644 --- a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/PATCoreDict.h +++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/PATCoreDict.h @@ -22,6 +22,7 @@ #include "PATCore/IAthCalculatorTool.h" #include "PATCore/IUserDataCalcTool.h" #include "PATCore/IAthHistogramTool.h" - +#include "PATCore/IAsgSelectionTool.h" +#include "PATCore/IAsgSelectionWithVertexTool.h" #endif diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml index 290ea63df81fcc4e6312ccb01e2ae289582cb24d..a4d4a1b7ede609febd76d4137fab2ba628d95fcd 100644 --- a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml +++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml @@ -8,4 +8,6 @@ <class name="IAthCalculatorTool" /> <class name="IUserDataCalcTool" /> <class name="IAthHistogramTool" /> + <class name="IAsgSelectionTool" /> + <class name="IAsgSelectionWithVertexTool" /> </lcgdict> diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/Root/CombinatoricsOdometer.cxx b/PhysicsAnalysis/AnalysisCommon/PATCore/Root/CombinatoricsOdometer.cxx index b7fc513c196cb64788a1bc215cdc1b32e934942e..559e9cd02b43affcbcab457021c25d2f37696186 100755 --- a/PhysicsAnalysis/AnalysisCommon/PATCore/Root/CombinatoricsOdometer.cxx +++ b/PhysicsAnalysis/AnalysisCommon/PATCore/Root/CombinatoricsOdometer.cxx @@ -23,6 +23,8 @@ #include "PATCore/CombinatoricsOdometer.h" +#if !defined(ROOTCORE) || defined(ROOTCORE_PACKAGE_AthContainers) + //////////////////////FlexDigit FlexDigit::FlexDigit( int digitMax, FlexDigit* nextDigit ) { @@ -375,3 +377,4 @@ bool PairMeter::increment() } } +#endif diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/cmt/Makefile.RootCore b/PhysicsAnalysis/AnalysisCommon/PATCore/cmt/Makefile.RootCore index fc143fdc1df4fa9da7e7a194c223e8e09d3c2478..4a07d3f32f8d0b01cb7cd63a05d7743aed595aff 100644 --- a/PhysicsAnalysis/AnalysisCommon/PATCore/cmt/Makefile.RootCore +++ b/PhysicsAnalysis/AnalysisCommon/PATCore/cmt/Makefile.RootCore @@ -2,8 +2,8 @@ # PATCore root stand-alone makefile PACKAGE = PATCore -PACKAGE_DEP = AthContainers -PACKAGE_TRYDEP = D3PDReader +PACKAGE_DEP = +PACKAGE_TRYDEP = D3PDReader AthContainers PACKAGE_CXXFLAGS = PACKAGE_LDFLAGS = PACKAGE_CLEAN = PATCore/config.h