diff --git a/Event/xAOD/xAODPrimitives/CMakeLists.txt b/Event/xAOD/xAODPrimitives/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f3c474e61159dc8ae278dabe4cdb80bc278f78d --- /dev/null +++ b/Event/xAOD/xAODPrimitives/CMakeLists.txt @@ -0,0 +1,36 @@ +################################################################################ +# Package: xAODPrimitives +################################################################################ + +# Declare the package name: +atlas_subdir( xAODPrimitives ) + +# Declare the package's dependencies: +atlas_depends_on_subdirs( PUBLIC + Control/AthContainers + PRIVATE + AtlasTest/TestTools ) + +# External dependencies: +find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) + +# Component(s) in the package: +atlas_add_library( xAODPrimitives + Root/*.cxx + PUBLIC_HEADERS xAODPrimitives + PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES AthContainers + PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} TestTools ) + +atlas_add_dictionary( xAODPrimitivesDict + xAODPrimitives/xAODPrimitivesDict.h + xAODPrimitives/selection.xml + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers TestTools xAODPrimitives ) + +atlas_add_test( ut_xAOD_primitives_enums_test + SOURCES + test/ut_xAOD_primitives_enums_test.cxx + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers TestTools xAODPrimitives ) + diff --git a/Event/xAOD/xAODPrimitives/cmt/requirements b/Event/xAOD/xAODPrimitives/cmt/requirements index 8388387189996ca75e7e17b87cc1133b98cad643..a2c7eb2d55b1f708709f9ca61bdb7614cb2b5e1d 100644 --- a/Event/xAOD/xAODPrimitives/cmt/requirements +++ b/Event/xAOD/xAODPrimitives/cmt/requirements @@ -1,5 +1,5 @@ package xAODPrimitives -# $Id: requirements 625835 2014-11-03 17:30:11Z neldik $ +# $Id: requirements 725506 2016-02-22 14:21:10Z krasznaa $ author Edward Moyse <Edward.Moyse@cern.ch> author Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch> @@ -21,10 +21,7 @@ private use TestTools TestTools-* AtlasTest use AtlasReflex AtlasReflex-* External -apply_pattern UnitTest_run unit_test=ut_xAOD_primitives_enums_test - -macro_append ut_xAOD_primitives_enums_test_dependencies " xAODPrimitives " -application ut_xAOD_primitives_enums_test ../test/ut_xAOD_primitives_enums_test.cxx +apply_pattern UnitTest_run unit_test=ut_xAOD_primitives_enums apply_pattern lcgdict dict=xAODPrimitives selectionfile=selection.xml \ headerfiles="../xAODPrimitives/xAODPrimitivesDict.h" \ diff --git a/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationConeSize.h b/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationConeSize.h index e76fd06deaff5505433e7385006ccc17c447152d..aa2acaeda3cef9ab4b1044b21b2756343ad123a7 100644 --- a/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationConeSize.h +++ b/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationConeSize.h @@ -23,7 +23,8 @@ namespace xAOD { cone35 = 5, cone40 = 6, cone45 = 7, - numIsolationConeSizes=8 + cone50 = 8, + numIsolationConeSizes=9 }; static inline const char* toString(IsolationConeSize conesize) @@ -38,6 +39,7 @@ namespace xAOD { case cone35: return "cone35"; case cone40: return "cone40"; case cone45: return "cone45"; + case cone50: return "cone50"; case numIsolationConeSizes: default: return "Unknown size"; diff --git a/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationHelpers.h b/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationHelpers.h index 1cadbdfbd4a3e829345d3634d4a23ef89c5f093d..32c2cfdac4cb05b0e932a5286855373196633b52 100644 --- a/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationHelpers.h +++ b/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationHelpers.h @@ -31,9 +31,10 @@ namespace xAOD { /// convert float (e.g. 0.3) into IsolationConeSize. An assert is thrown inline IsolationConeSize coneSize( float size ){ int index = static_cast<int>(size*20)-2; // *20 equiv. to /0.05; - assert ( (size - float(index))<0.0001 ); assert ( (index>-1) && (index < static_cast<int>(numIsolationConeSizes) ) ); - return static_cast<IsolationConeSize>(index); + IsolationConeSize rel = static_cast<IsolationConeSize>(index); + assert ( fabs(size-coneSize(rel) )<0.0001 ); // this will fail if the input size is 0.3001... + return rel; } /// convert Isolation Type into cone size diff --git a/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationType.h b/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationType.h index a5ab16ed3321b2ea9e485a94477bda6193958093..d84f0319a4c926b1459806b2c894ef8dd7adddc2 100644 --- a/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationType.h +++ b/Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationType.h @@ -4,7 +4,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: IsolationType.h 636772 2014-12-18 15:33:07Z mnowak $ +// $Id: IsolationType.h 718726 2016-01-20 12:10:22Z dzhang $ #ifndef XAODPRIMITIVES_ISOLATIONTYPE_H #define XAODPRIMITIVES_ISOLATIONTYPE_H @@ -41,7 +41,7 @@ namespace xAOD { ptcone20 = 12, ptcone30 = 14, ptcone40 = 16, - + ptcone50 = 18, /// Topo-cluster E<sub>T</sub>-sum /// /// E<sub>T</sub>-sum of the topo-clusters in a cone @@ -83,6 +83,7 @@ namespace xAOD { case ptcone20: return "ptcone20"; case ptcone30: return "ptcone30"; case ptcone40: return "ptcone40"; + case ptcone50: return "ptcone50"; case ptvarcone20: return "ptvarcone20"; case ptvarcone30: return "ptvarcone30";