diff --git a/Event/xAOD/xAODAssociations/xAODAssociations/xAODAssociationsDict.h b/Event/xAOD/xAODAssociations/xAODAssociations/xAODAssociationsDict.h index 6350678bb1806a758f3ff3b3411619389d05a644..caa256a45e20649b0103ae2c3b078b5af989f1a1 100644 --- a/Event/xAOD/xAODAssociations/xAODAssociations/xAODAssociationsDict.h +++ b/Event/xAOD/xAODAssociations/xAODAssociations/xAODAssociationsDict.h @@ -16,4 +16,16 @@ // EDM include(s). #include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODASSOCIATIONS { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, + TrackParticleClusterAssociationContainer_v1 ); + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrackParticleContainer ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CaloClusterContainer ); + }; +} + #endif // XAODASSOCIATIONS_XAODASSOCIATIONSDICT_H diff --git a/Event/xAOD/xAODBase/CMakeLists.txt b/Event/xAOD/xAODBase/CMakeLists.txt index 60db4aa1e07c0d97966edf07542b1997e650a8e7..97c640fda79fad99ba7e6784d4c0f636712cfc9c 100644 --- a/Event/xAOD/xAODBase/CMakeLists.txt +++ b/Event/xAOD/xAODBase/CMakeLists.txt @@ -1,29 +1,19 @@ -# $Id: CMakeLists.txt 744422 2016-05-03 11:34:39Z krasznaa $ -################################################################################ -# Package: xAODBase -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODBase ) -# Extra dependencies based on what environment we are in: +# Extra dependencies based on what environment we are in. +set( extra_libs ) if( NOT XAOD_STANDALONE ) - set( extra_deps Control/AthenaKernel ) set( extra_libs AthenaKernel ) endif() -# Declare the package's dependencies: -atlas_depends_on_subdirs( - PUBLIC - Control/AthContainers - ${extra_deps} - PRIVATE - Control/AthLinks ) - -# External dependencies: +# External dependencies. find_package( ROOT COMPONENTS Core Physics ) +find_package( xAODUtilities ) -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODBase xAODBase/*.h Root/*.cxx PUBLIC_HEADERS xAODBase @@ -31,21 +21,27 @@ atlas_add_library( xAODBase LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers ${extra_libs} PRIVATE_LINK_LIBRARIES AthLinks ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODBase/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::IParticleContainer" ) + atlas_add_dictionary( xAODBaseDict xAODBase/xAODBaseDict.h - xAODBase/selection.xml - LINK_LIBRARIES xAODBase ) + ${_selectionFile} + LINK_LIBRARIES AthContainers AthLinks xAODBase ) atlas_add_dictionary( xAODBaseObjectTypeDict xAODBase/xAODBaseObjectTypeDict.h - xAODBase/selection-ObjectType.xml) + xAODBase/selection-ObjectType.xml ) +# Install files from the package. atlas_install_python_modules( python/*.py ) -# Test(s) in the package: +# Test(s) in the package. atlas_add_test( ut_xAODObjectType_test SOURCES test/ut_xAODObjectType_test.cxx LINK_LIBRARIES xAODBase ) atlas_add_test( ut_xAODObjectType_pytest - SCRIPT test/ut_xAODObjectType_pytest.py) + SCRIPT test/ut_xAODObjectType_pytest.py ) diff --git a/Event/xAOD/xAODBase/xAODBase/selection.xml b/Event/xAOD/xAODBase/xAODBase/selection.xml index 89f4f352ab142c612210b546f0003c83d76fbb1a..e6cc6e4c323132d8a701069bfb91189933c463ed 100644 --- a/Event/xAOD/xAODBase/xAODBase/selection.xml +++ b/Event/xAOD/xAODBase/xAODBase/selection.xml @@ -1,4 +1,4 @@ -<!-- $Id: selection.xml 618909 2014-09-29 10:16:52Z krasznaa $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> <!-- All the dictionaries for xAOD::IParticle: --> @@ -6,22 +6,7 @@ <class name="xAOD::IParticleContainer" /> <class name="std::vector<xAOD::IParticle*>" /> - <!-- All smart pointer dictionaries for xAOD::IParticle --> - <class name="DataLink<xAOD::IParticleContainer>" /> - <class name="std::vector<DataLink<xAOD::IParticleContainer> >" /> - - <class name="ElementLink<xAOD::IParticleContainer>" /> - <class name="std::vector<ElementLink<xAOD::IParticleContainer> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::IParticleContainer> > >" /> - <!-- The helper functions: --> <function pattern="xAOD::*" /> - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - </exclusion> - </lcgdict> diff --git a/Event/xAOD/xAODBase/xAODBase/xAODBaseDict.h b/Event/xAOD/xAODBase/xAODBase/xAODBaseDict.h index 62bf3ed6647e63f1bf5cd1adf5e19f1a0ff9e53a..fe51d07835b9c794658d7b1c560146b8293f110f 100644 --- a/Event/xAOD/xAODBase/xAODBase/xAODBaseDict.h +++ b/Event/xAOD/xAODBase/xAODBase/xAODBaseDict.h @@ -1,10 +1,7 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODBaseDict.h 618909 2014-09-29 10:16:52Z krasznaa $ #ifndef XAODBASE_XAODBASEDICT_H #define XAODBASE_XAODBASEDICT_H @@ -14,12 +11,13 @@ // EDM include(s): #include "AthLinks/DataLink.h" #include "AthLinks/ElementLink.h" +#include "AthContainers/tools/AuxTypeVectorFactory.h" // Local include(s): -#include "xAODBase/ObjectType.h" #include "xAODBase/IParticleContainer.h" #include "xAODBase/IParticleHelpers.h" +// Instantiate all necessary types for the dictionary. namespace { struct GCCXML_DUMMY_INSTANTIATION_XAODBASE { xAOD::IParticleContainer c1; @@ -28,79 +26,37 @@ namespace { ElementLink< xAOD::IParticleContainer > l3; std::vector< ElementLink< xAOD::IParticleContainer > > l4; std::vector< std::vector< ElementLink< xAOD::IParticleContainer > > > l5; + SG::AuxTypeVectorFactory< DataLink< xAOD::IParticleContainer > > l6; + SG::AuxTypeVectorFactory< ElementLink< xAOD::IParticleContainer > > l7; + SG::AuxTypeVectorFactory< std::vector< ElementLink< xAOD::IParticleContainer > > > l8; }; } +// Not sure if this line is necessary but it shouldn't hurt... template class DataVector<xAOD::IParticle>; -template -bool& xAOD::IParticle::auxdata< bool >( const std::string& name, - const std::string& clsname = "" ); - -template -float& xAOD::IParticle::auxdata< float >( const std::string& name, - const std::string& clsname = "" ); - -template -int& xAOD::IParticle::auxdata< int >( const std::string& name, - const std::string& clsname = "" ); -template -unsigned int& -xAOD::IParticle::auxdata< unsigned int >( const std::string& name, - const std::string& clsname = "" ); - -template -uint8_t& xAOD::IParticle::auxdata< uint8_t >( const std::string& name, - const std::string& clsname = "" ); - -template -const bool& -xAOD::IParticle::auxdata< bool >( const std::string& name, - const std::string& clsname = "" ) const; - -template -const float& -xAOD::IParticle::auxdata< float >( const std::string& name, - const std::string& clsname = "" ) const; - -template -const int& -xAOD::IParticle::auxdata< int >( const std::string& name, - const std::string& clsname = "" ) const; - -template -const unsigned int& -xAOD::IParticle::auxdata< unsigned int >( const std::string& name, - const std::string& clsname = "" ) const; - -template -const uint8_t& -xAOD::IParticle::auxdata< uint8_t >( const std::string& name, - const std::string& clsname = "" ) const; - -template -bool -xAOD::IParticle::isAvailable< bool >( const std::string& name, - const std::string& clsname = "" ) const; - -template -bool -xAOD::IParticle::isAvailable< float >( const std::string& name, - const std::string& clsname = "" ) const; - -template -bool -xAOD::IParticle::isAvailable< int >( const std::string& name, - const std::string& clsname = "" ) const; - -template -bool -xAOD::IParticle::isAvailable< unsigned int >( const std::string& name, - const std::string& clsname = "" ) const; - -template -bool -xAOD::IParticle::isAvailable< uint8_t >( const std::string& name, - const std::string& clsname = "" ) const; +/// Helper macro for instantiating all the template functions that we need a +/// dictionary for. +#define INST_AUXFUNC( TYPE ) \ + template TYPE& \ + xAOD::IParticle::auxdata< TYPE >( const std::string& name, \ + const std::string& clsname = "" ); \ + template const TYPE& \ + xAOD::IParticle::auxdata< TYPE >( const std::string& name, \ + const std::string& clsname = "" ) const; \ + template bool \ + xAOD::IParticle::isAvailable< TYPE >( const std::string& name, \ + const std::string& clsname = "" ) const + +// Instantiate the functions for a couple of regularly used types. +INST_AUXFUNC( bool ); +INST_AUXFUNC( float ); +INST_AUXFUNC( double ); +INST_AUXFUNC( int ); +INST_AUXFUNC( unsigned int ); +INST_AUXFUNC( uint8_t ); + +// Clean up. +#undef INST_AUXFUNC #endif // XAODBASE_XAODBASEDICT_H diff --git a/Event/xAOD/xAODCore/xAODCore/tools/DictHelpers.h b/Event/xAOD/xAODCore/xAODCore/tools/DictHelpers.h index b19c04e1bc66f0eb7348f7f49bdb469bd81af783..e8c503b898815ceb6427eae1e0439c975002a192 100644 --- a/Event/xAOD/xAODCore/xAODCore/tools/DictHelpers.h +++ b/Event/xAOD/xAODCore/xAODCore/tools/DictHelpers.h @@ -13,4 +13,49 @@ // System include(s). #include <vector> +/// Macro instantiating all the container "interface" and smart pointer types +/// that we need a dictionary for. +#define XAOD_INSTANTIATE_CONTAINER_TYPES( TYPE ) \ + TYPE dummy_##TYPE##_1; \ + DataLink< TYPE > dummy_##TYPE##_2; \ + ElementLink< TYPE > dummy_##TYPE##_3; \ + std::vector< DataLink< TYPE > > dummy_##TYPE##_4; \ + std::vector< ElementLink< TYPE > > dummy_##TYPE##_5; \ + std::vector< std::vector< ElementLink< TYPE > > > dummy_##TYPE##_6; \ + SG::AuxTypeVectorFactory< DataLink< TYPE > > dummy_##TYPE##_7; \ + SG::AuxTypeVectorFactory< ElementLink< TYPE > > dummy_##TYPE##_8; \ + SG::AuxTypeVectorFactory< std::vector< ElementLink< TYPE > > > \ + dummy_##TYPE##_9 + +/// Macro instantiating all the container "interface" and smart pointer types +/// that we need a dictionary for. +#define XAOD_INSTANTIATE_NS_CONTAINER_TYPES( NS, TYPE ) \ + NS::TYPE dummy_##NS##_##TYPE##_1; \ + DataLink< NS::TYPE > dummy_##NS##_##TYPE##_2; \ + ElementLink< NS::TYPE > dummy_##NS##_##TYPE##_3; \ + std::vector< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_4; \ + std::vector< ElementLink< NS::TYPE > > dummy_##NS##_##TYPE##_5; \ + std::vector< std::vector< ElementLink< NS::TYPE > > > \ + dummy_##NS##_##TYPE##_6; \ + SG::AuxTypeVectorFactory< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_7; \ + SG::AuxTypeVectorFactory< ElementLink< NS::TYPE > > dummy_##NS##_##TYPE##_8;\ + SG::AuxTypeVectorFactory< std::vector< ElementLink< NS::TYPE > > > \ + dummy_##NS##_##TYPE##_9 + +/// Macro instantiating all the single object smart pointer types that we need +/// a dictionary for. +#define XAOD_INSTANTIATE_OBJECT_TYPES( TYPE ) \ + TYPE dummy_##TYPE##_1; \ + DataLink< TYPE > dummy_##TYPE##_2; \ + std::vector< DataLink< TYPE > > dummy_##TYPE##_3; \ + SG::AuxTypeVectorFactory< DataLink< TYPE > > dummy_##TYPE##_4 + +/// Macro instantiating all the single object smart pointer types that we need +/// a dictionary for. +#define XAOD_INSTANTIATE_NS_OBJECT_TYPES( NS, TYPE ) \ + NS::TYPE dummy_##NS##_##TYPE##_1; \ + DataLink< NS::TYPE > dummy_##NS##_##TYPE##_2; \ + std::vector< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_3; \ + SG::AuxTypeVectorFactory< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_4 + #endif // XAODCORE_TOOLS_DICTHELPERS_H diff --git a/Event/xAOD/xAODCutFlow/xAODCutFlow/xAODCutFlowDict.h b/Event/xAOD/xAODCutFlow/xAODCutFlow/xAODCutFlowDict.h index 2de68b28bd85862a9bd25eb7453f123379b4afd2..ed07a009729182bd9474adf251e5b4d4082f67d5 100644 --- a/Event/xAOD/xAODCutFlow/xAODCutFlow/xAODCutFlowDict.h +++ b/Event/xAOD/xAODCutFlow/xAODCutFlow/xAODCutFlowDict.h @@ -18,4 +18,12 @@ // EDM include(s). #include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODCUTFLOW { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CutBookkeeperContainer_v1 ); + }; +} + #endif // XAODCUTFLOW_XAODCUTFLOWDICT_H diff --git a/Event/xAOD/xAODEgamma/Root/EgammaTruthxAODHelpers.cxx b/Event/xAOD/xAODEgamma/Root/EgammaTruthxAODHelpers.cxx index 0d3506586a3d243b5d929ff76638815ee8f646de..7bafae29c31145972105cc4d174998e6ade3db44 100644 --- a/Event/xAOD/xAODEgamma/Root/EgammaTruthxAODHelpers.cxx +++ b/Event/xAOD/xAODEgamma/Root/EgammaTruthxAODHelpers.cxx @@ -15,12 +15,50 @@ // ================================================================== -const xAOD::Electron* xAOD::EgammaHelpers::getRecoElectron(const xAOD::TruthParticle* particle){ - return getLink<xAOD::Electron>(particle, "recoElectronLink"); +/// Accessor for the "recoElectronLink" dynamic variable +/// +/// It is declared outside of the @c xAOD::EgammaHelpers::getRecoElectron(...) +/// call to make sure that the auxiliary ID registry would know about this type +/// as soon as the library holding this code is loaded. +/// +static const SG::AuxElement::Accessor< ElementLink< xAOD::ElectronContainer > > + recoElectronLinkAcc( "recoElectronLink" ); + +const xAOD::Electron* +xAOD::EgammaHelpers::getRecoElectron( const xAOD::TruthParticle* particle ) { + + if( ! recoElectronLinkAcc.isAvailable( *particle ) ) { + return nullptr; + } + const ElementLink< xAOD::ElectronContainer >& link = + recoElectronLinkAcc( *particle ); + if( ! link.isValid() ) { + return nullptr; + } + return *link; } -const xAOD::Photon* xAOD::EgammaHelpers::getRecoPhoton(const xAOD::TruthParticle* particle){ - return getLink<xAOD::Photon>(particle, "recoPhotonLink"); +/// Accessor for the "recoPhotonLink" dynamic variable +/// +/// It is declared outside of the @c xAOD::EgammaHelpers::getRecoPhoton(...) +/// call to make sure that the auxiliary ID registry would know about this type +/// as soon as the library holding this code is loaded. +/// +static const SG::AuxElement::Accessor< ElementLink< xAOD::PhotonContainer > > + recoPhotonLinkAcc( "recoPhotonLink" ); + +const xAOD::Photon* +xAOD::EgammaHelpers::getRecoPhoton( const xAOD::TruthParticle* particle ) { + + if( ! recoPhotonLinkAcc.isAvailable( *particle ) ) { + return nullptr; + } + const ElementLink< xAOD::PhotonContainer >& link = + recoPhotonLinkAcc( *particle ); + if( ! link.isValid() ) { + return nullptr; + } + return *link; } // ================================================================== diff --git a/Event/xAOD/xAODEgamma/Root/Egamma_v1.cxx b/Event/xAOD/xAODEgamma/Root/Egamma_v1.cxx index 32ef4d44e6252e30783f2ca3e805401e63dd98cb..9f5c2e0304077bd374354b6e98220d7dbe734bbe 100644 --- a/Event/xAOD/xAODEgamma/Root/Egamma_v1.cxx +++ b/Event/xAOD/xAODEgamma/Root/Egamma_v1.cxx @@ -2,8 +2,6 @@ Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ -// $Id: Egamma_v1$ - // EDM include(s): #include "xAODCore/AuxStoreAccessorMacros.h" // Local include(s): @@ -183,13 +181,26 @@ void Egamma_v1::setAuthor(uint16_t newAuthor) { acc(*this) = newAuthor; } +/// Accessor for the "ambiguityLink" dynamic variable +/// +/// It is declared outside of the @c xAOD::Egamma_v1::ambiguousObject() call to +/// make sure that the auxiliary ID registry would know about this type as soon +/// as the library holding this code is loaded. +/// +static const SG::AuxElement::Accessor< ElementLink< xAOD::EgammaContainer > > + ambiguityLinkAcc( "ambiguityLink" ); + /// ambiguous -const Egamma_v1* Egamma_v1::ambiguousObject() const{ - static const SG::AuxElement::Accessor<ElementLink<xAOD::EgammaContainer> > acc("ambiguityLink"); - if(acc.isAvailable(*this) && acc(*this).isValid()){ - return (*acc(*this)); - } - return nullptr; +const Egamma_v1* Egamma_v1::ambiguousObject() const { + + if( ! ambiguityLinkAcc.isAvailable( *this ) ) { + return nullptr; + } + const ElementLink< xAOD::EgammaContainer >& link = ambiguityLinkAcc( *this ); + if( ! link.isValid() ) { + return nullptr; + } + return *link; } diff --git a/Event/xAOD/xAODEventShape/xAODEventShape/xAODEventShapeDict.h b/Event/xAOD/xAODEventShape/xAODEventShape/xAODEventShapeDict.h index 76b2cacf40e77a76cf75293643dca40dbfe84af6..640ade665ee303a2de4842420d2148bb46b637bf 100644 --- a/Event/xAOD/xAODEventShape/xAODEventShape/xAODEventShapeDict.h +++ b/Event/xAOD/xAODEventShape/xAODEventShape/xAODEventShapeDict.h @@ -14,4 +14,12 @@ // EDM include(s). #include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODEVENTSHAPE { + // Local type(s). + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, EventShape_v1 ); + }; +} + #endif // XAODEVENTSHAPE_XAODEVENTSHAPEDICT_H diff --git a/Event/xAOD/xAODForward/xAODForward/xAODForwardDict.h b/Event/xAOD/xAODForward/xAODForward/xAODForwardDict.h index 8ff5083ab832a6493019fb88c2983190a7972316..db909621bc8c091c2dc5b219a616a3e0d8f40b5f 100644 --- a/Event/xAOD/xAODForward/xAODForward/xAODForwardDict.h +++ b/Event/xAOD/xAODForward/xAODForward/xAODForwardDict.h @@ -75,4 +75,30 @@ // EDM include(s). #include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODFORWARD { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, AFPDataContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, AFPToFHitContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, AFPSiHitContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, AFPSiHitContainer_v2 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, AFPSiHitsClusterContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, AFPTrackContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, AFPTrackContainer_v2 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, AFPProtonContainer_v1 ); + + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, ALFADataContainer_v1 ); + + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, ZdcModuleContainer_v1 ); + + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, MBTSModuleContainer_v1 ); + + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, ForwardEventInfoContainer_v1 ); + + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TriggerTowerContainer ); + }; +} + #endif // XAODFORWARD_XAODFORWARDDICT_H diff --git a/Event/xAOD/xAODHIEvent/xAODHIEvent/xAODHIEventDict.h b/Event/xAOD/xAODHIEvent/xAODHIEvent/xAODHIEventDict.h index 922dd5699368fd6970e647594d1f48b73d4be582..f6288ac13b686da730e3861efd2d16b362ae1791 100644 --- a/Event/xAOD/xAODHIEvent/xAODHIEvent/xAODHIEventDict.h +++ b/Event/xAOD/xAODHIEvent/xAODHIEvent/xAODHIEventDict.h @@ -19,4 +19,13 @@ // EDM include(s). #include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODHIEVENT { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, HIEventShapeContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, HIEventShapeContainer_v2 ); + }; +} + #endif // XAODEVENTINFO_XAODEVENTINFODICT_H diff --git a/Event/xAOD/xAODLuminosity/xAODLuminosity/xAODLuminosityDict.h b/Event/xAOD/xAODLuminosity/xAODLuminosity/xAODLuminosityDict.h index 848d3e12ee60303a1e38a1e4658ac0298550bb3e..ec088d2927c7219716f9f2bea29ca1ee53014cbf 100644 --- a/Event/xAOD/xAODLuminosity/xAODLuminosity/xAODLuminosityDict.h +++ b/Event/xAOD/xAODLuminosity/xAODLuminosity/xAODLuminosityDict.h @@ -23,4 +23,13 @@ // EDM include(s). #include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODLUMINOSITY { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, BCMRawDataContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, LumiBlockRangeContainer_v1 ); + }; +} + #endif // XAODLUMINOSITY_XAODLUMINOSITYDICT_H diff --git a/Event/xAOD/xAODMetaData/CMakeLists.txt b/Event/xAOD/xAODMetaData/CMakeLists.txt index a64542e880812cf5b58d7324d29fad1ed95015d0..f77376ca1b5f729c340a7ac9b95cf18173de94ed 100644 --- a/Event/xAOD/xAODMetaData/CMakeLists.txt +++ b/Event/xAOD/xAODMetaData/CMakeLists.txt @@ -1,31 +1,28 @@ -# $Id: CMakeLists.txt 761521 2016-07-13 07:27:10Z krasznaa $ -################################################################################ -# Package: xAODMetaData -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODMetaData ) -find_package( ROOT ) +# Pull in the helper CMake code. +find_package( xAODUtilities ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( - PUBLIC - Control/AthContainers - Event/xAOD/xAODCore ) - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODMetaData xAODMetaData/*.h xAODMetaData/version/*.h Root/*.h Root/*.cxx PUBLIC_HEADERS xAODMetaData LINK_LIBRARIES AthContainers xAODCore ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODMetaData/selection.xml + OUTPUT _selectionFile + OBJECTS "xAOD::FileMetaData_v1" ) + atlas_add_dictionary( xAODMetaDataDict xAODMetaData/xAODMetaDataDict.h - xAODMetaData/selection.xml - LINK_LIBRARIES ${ROOT_LIBRARIES} xAODMetaData ) + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODMetaData ) -# Test(s) in the package: +# Test(s) in the package. atlas_add_test( ut_xAODFileMetaData_MetaDataType_test SOURCES test/ut_xAODFileMetaData_MetaDataType_test.cxx LINK_LIBRARIES xAODMetaData ) @@ -34,5 +31,5 @@ atlas_add_test( ut_xaodmetadata_filemetadata_eq_test SOURCES test/ut_xaodmetadata_filemetadata_eq_test.cxx LINK_LIBRARIES xAODMetaData ) -# Generate CLIDs from the library: +# Generate CLIDs from the library. atlas_generate_cliddb( xAODMetaData ) diff --git a/Event/xAOD/xAODMetaData/xAODMetaData/selection.xml b/Event/xAOD/xAODMetaData/xAODMetaData/selection.xml index aa2342c6d0000f9e1ce82932bf190f1dc656714e..95134b98a4074104da607162d5fb4269ad054155 100644 --- a/Event/xAOD/xAODMetaData/xAODMetaData/selection.xml +++ b/Event/xAOD/xAODMetaData/xAODMetaData/selection.xml @@ -1,10 +1,14 @@ -<!-- $Id: selection.xml 670157 2015-05-27 11:52:51Z krasznaa $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- FileMetaData_v1 dictionaries: --> - <class name="xAOD::FileMetaData_v1" - id="C87E3828-4A7A-480A-95DE-0339539F6A0F" /> - <class name="xAOD::FileMetaDataAuxInfo_v1" - id="BEE2BECF-A936-4078-9FDD-AD703C9ADF9F" /> + <!-- xAOD::FileMetaData interface type(s). --> + <class name="xAOD::FileMetaData_v1" + id="C87E3828-4A7A-480A-95DE-0339539F6A0F" /> + <typedef name="xAOD::FileMetaData" /> + + <!-- xAOD::FileMetaData auxiliary type(s). --> + <class name="xAOD::FileMetaDataAuxInfo_v1" + id="BEE2BECF-A936-4078-9FDD-AD703C9ADF9F" /> + <typedef name="xAOD::FileMetaDataAuxInfo" /> </lcgdict> diff --git a/Event/xAOD/xAODMetaData/xAODMetaData/xAODMetaDataDict.h b/Event/xAOD/xAODMetaData/xAODMetaData/xAODMetaDataDict.h index 4a802bad686ff48c697c2d4591b4a7ecba273589..181101e08b0b66b8d0ea7c06d53e2907ecadfafd 100644 --- a/Event/xAOD/xAODMetaData/xAODMetaData/xAODMetaDataDict.h +++ b/Event/xAOD/xAODMetaData/xAODMetaData/xAODMetaDataDict.h @@ -1,15 +1,25 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODMetaDataDict.h 670157 2015-05-27 11:52:51Z krasznaa $ #ifndef XAODMETADATA_XAODMETADATADICT_H #define XAODMETADATA_XAODMETADATADICT_H -// Local include(s): +// Local include(s). +#include "xAODMetaData/FileMetaData.h" +#include "xAODMetaData/FileMetaDataAuxInfo.h" #include "xAODMetaData/versions/FileMetaData_v1.h" #include "xAODMetaData/versions/FileMetaDataAuxInfo_v1.h" +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" + +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODMETADATA { + // Local type(s). + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, FileMetaData_v1 ); + }; +} + #endif // XAODMETADATA_XAODMETADATADICT_H diff --git a/Event/xAOD/xAODMuon/CMakeLists.txt b/Event/xAOD/xAODMuon/CMakeLists.txt index dc635487f80095c1983ed1e77fb0a534a382267b..daa84f6143f87e7836bb2ba05119fbb3059a998e 100644 --- a/Event/xAOD/xAODMuon/CMakeLists.txt +++ b/Event/xAOD/xAODMuon/CMakeLists.txt @@ -1,51 +1,40 @@ -# $Id: CMakeLists.txt 790886 2016-12-22 22:03:35Z ssnyder $ -################################################################################ -# Package: xAODMuon -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODMuon ) -# Extra dependencies, based on the build environment: +# External dependencies. +find_package( ROOT COMPONENTS Core GenVector ) +find_package( xAODUtilities ) + +# Extra dependencies, based on the build environment. +set( extra_libs ) if( NOT XAOD_ANALYSIS AND NOT GENERATIONBASE ) - set( extra_deps Tracking/TrkEvent/TrkSegment ) set( extra_libs TrkSegment ) endif() -if (BUILDVP1LIGHT) - if( BUILDVP1LIGHT_DIST STREQUAL "ubuntu") - set( extra_libs ${extra_libs} GenVector ) - endif() -endif() - -# Declare the package's dependencies: -atlas_depends_on_subdirs( - PUBLIC - Control/AthContainers - Control/AthLinks - Event/xAOD/xAODBase - Event/xAOD/xAODCaloEvent - Event/xAOD/xAODCore - Event/xAOD/xAODPrimitives - Event/xAOD/xAODTracking - MuonSpectrometer/MuonStationIndex - ${extra_deps} ) - -find_package( ROOT COMPONENTS Core GenVector ) - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODMuon xAODMuon/*.h xAODMuon/versions/*.h Root/*.cxx PUBLIC_HEADERS xAODMuon - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODBase xAODCaloEvent xAODCore - xAODPrimitives xAODTracking MuonStationIndexLib ${extra_libs} ) + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODBase + xAODCaloEvent xAODCore xAODPrimitives xAODTracking MuonStationIndexLib + ${extra_libs} ) + +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODMuon/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::MuonContainer_v1" "xAOD::MuonSegmentContainer_v1" + "xAOD::SlowMuonContainer_v1" ) atlas_add_dictionary( xAODMuonDict xAODMuon/xAODMuonDict.h - xAODMuon/selection.xml - LINK_LIBRARIES xAODMuon + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODMuon EXTRA_FILES Root/dict/*.cxx ) +# Test(s) in the package. atlas_add_test( xAODMuon_Muon_test SOURCES test/xAODMuon_Muon_test.cxx LINK_LIBRARIES xAODMuon ) diff --git a/Event/xAOD/xAODMuon/xAODMuon/selection.xml b/Event/xAOD/xAODMuon/xAODMuon/selection.xml index e68fa1c1886dbce46492e203fc94bcfbda166a02..f20f4d6521c43de6cb5cd5e74a1f25f3ec9ca199 100644 --- a/Event/xAOD/xAODMuon/xAODMuon/selection.xml +++ b/Event/xAOD/xAODMuon/xAODMuon/selection.xml @@ -1,82 +1,48 @@ -<?xml version="1.0"?> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- MuonAux _v2 dictionaries: --> - <class name="xAOD::MuonAuxContainer_v2" - id="AB53C81C-B10C-11E4-AC59-6C3BE51AB9F1"/> - - <!-- MuonAux _v3 dictionaries: --> - <class name="xAOD::MuonAuxContainer_v3" - id="ECC65005-302B-4662-ACBA-D2CE5A0218B8"/> - - <!-- MuonAux _v4 dictionaries: --> - <class name="xAOD::MuonAuxContainer_v4" - id="8251F481-EA4C-4852-AE72-BED87E6FD2FB"/> - - <!-- MuonAux _v5 dictionaries: --> - <class name="xAOD::MuonAuxContainer_v5" - id="9245FA19-1552-4BBB-8CC3-57224E57A466"/> - - <!-- Muon_v1 dictionaries: --> - <class name="xAOD::Muon_v1" /> - <class name="xAOD::MuonContainer_v1" - id="F84AE51A-F309-4844-B286-8E94C655B724"/> - - <class name="xAOD::MuonAuxContainer_v1" - id="EC9B677A-B3BA-4C75-87D3-373FC478291E"/> - - <!-- All smart pointer dictionaries for xAOD::Muon v1--> - <class name="DataLink<xAOD::MuonContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::MuonContainer_v1> >" /> - - <class name="ElementLink<xAOD::MuonContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::MuonContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::MuonContainer_v1> > >" /> - - - - <!-- MuonSegment_v1 dictionaries --> - <class name="xAOD::MuonSegment_v1"/> - <class name="xAOD::MuonSegmentAuxContainer_v1" - id="51739E92-98A5-11E3-B7F4-6C3BE51AB9F1"/> - <class name="xAOD::MuonSegmentContainer_v1" - id="9516C67E-98A5-11E3-BDFD-6C3BE51AB9F1"/> - - <!-- All smart pointer dictionaries for xAOD::MuonSegment --> - <class name="DataLink<xAOD::MuonSegmentContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::MuonSegmentContainer_v1> >" /> - - <class name="ElementLink<xAOD::MuonSegmentContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::MuonSegmentContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::MuonSegmentContainer_v1> > >" /> - - <!-- SlowMuon_v1 dictionaries --> - <class name="xAOD::SlowMuon_v1"/> - <class name="xAOD::SlowMuonAuxContainer_v1" - id="B0B4F66B-C261-4403-AB96-D71249A9CDEC"/> - <class name="xAOD::SlowMuonContainer_v1" - id="78E011F9-AD91-40A8-95E9-E288A5A583FE"/> - - <!-- All smart pointer dictionaries for xAOD::SlowMuon --> - <class name="DataLink<xAOD::SlowMuonContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::SlowMuonContainer_v1> >" /> - - <class name="ElementLink<xAOD::SlowMuonContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::SlowMuonContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::SlowMuonContainer_v1> > >" /> - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - <class name="DataVector<xAOD::IParticle>" /> - <class pattern="xAOD::TrackParticle*" /> - <class pattern="DataVector<xAOD::TrackParticle*" /> - <class pattern="ElementLink<DataVector<xAOD::TrackParticle*" /> - <class pattern="xAOD::CaloCluster*" /> - <class pattern="DataVector<xAOD::CaloCluster*" /> - <class pattern="ElementLink<DataVector<xAOD::CaloCluster*" /> - </exclusion> + <!-- xAOD::Muon interface type(s). --> + <class name="xAOD::Muon_v1" /> + <class name="xAOD::MuonContainer_v1" + id="F84AE51A-F309-4844-B286-8E94C655B724" /> + <typedef name="xAOD::Muon" /> + <typedef name="xAOD::MuonContainer" /> + + <!-- xAOD::Muon auxiliary type(s). --> + <class name="xAOD::MuonAuxContainer_v1" + id="EC9B677A-B3BA-4C75-87D3-373FC478291E" /> + <class name="xAOD::MuonAuxContainer_v2" + id="AB53C81C-B10C-11E4-AC59-6C3BE51AB9F1" /> + <class name="xAOD::MuonAuxContainer_v3" + id="ECC65005-302B-4662-ACBA-D2CE5A0218B8" /> + <class name="xAOD::MuonAuxContainer_v4" + id="8251F481-EA4C-4852-AE72-BED87E6FD2FB" /> + <class name="xAOD::MuonAuxContainer_v5" + id="9245FA19-1552-4BBB-8CC3-57224E57A466" /> + <typedef name="xAOD::MuonAuxContainer" /> + + <!-- xAOD::MuonSegment interfac type(s). --> + <class name="xAOD::MuonSegment_v1"/> + <class name="xAOD::MuonSegmentContainer_v1" + id="9516C67E-98A5-11E3-BDFD-6C3BE51AB9F1" /> + <typedef name="xAOD::MuonSegment" /> + <typedef name="xAOD::MuonSegmentContainer" /> + + <!-- xAOD::MuonSegment auxiliary type(s). --> + <class name="xAOD::MuonSegmentAuxContainer_v1" + id="51739E92-98A5-11E3-B7F4-6C3BE51AB9F1" /> + <typedef name="xAOD::MuonSegmentAuxContainer" /> + + <!-- xAOD::SlowMuon interface type(s). --> + <class name="xAOD::SlowMuon_v1" /> + <class name="xAOD::SlowMuonContainer_v1" + id="78E011F9-AD91-40A8-95E9-E288A5A583FE" /> + <typedef name="xAOD::SlowMuon" /> + <typedef name="xAOD::SlowMuonContainer" /> + + <!-- xAOD::SlowMuon auxiliary type(s). --> + <class name="xAOD::SlowMuonAuxContainer_v1" + id="B0B4F66B-C261-4403-AB96-D71249A9CDEC" /> + <typedef name="xAOD::SlowMuonAuxContainer" /> </lcgdict> diff --git a/Event/xAOD/xAODMuon/xAODMuon/versions/MuonSegment_v1.h b/Event/xAOD/xAODMuon/xAODMuon/versions/MuonSegment_v1.h index 8547ba1c8c2c3745285e11758a453f194f93b0ab..b86a2baeec48939cb2ed57df49f9ca238c0ceffb 100644 --- a/Event/xAOD/xAODMuon/xAODMuon/versions/MuonSegment_v1.h +++ b/Event/xAOD/xAODMuon/xAODMuon/versions/MuonSegment_v1.h @@ -1,7 +1,7 @@ +// Dear emacs, this is -*- c++ -*- /* Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - #ifndef XAODMUON_VERSIONS_MUONSEGMENT_V1_H #define XAODMUON_VERSIONS_MUONSEGMENT_V1_H @@ -33,7 +33,7 @@ namespace xAOD { class MuonSegment_v1 : public SG::AuxElement { public: - + /// Default constructor MuonSegment_v1(); @@ -84,22 +84,22 @@ namespace xAOD { /// Set the 'Fit Quality' information. void setFitQuality(float chiSquared, float numberDoF); /// @} - - /// @name Identification + + /// @name Identification /// The general muon identification scheme is defined here: https://cds.cern.ch/record/681542/files/com-muon-2002-019.pdf /// @{ /// Returns the sector number int sector() const; /// Returns the chamber index - Muon::MuonStationIndex::ChIndex chamberIndex() const; + ::Muon::MuonStationIndex::ChIndex chamberIndex() const; /// Returns the eta index, which corresponds to stationEta in the offline identifiers (and the ). int etaIndex() const; /// Returns the main technology of the segment. - Muon::MuonStationIndex::TechnologyIndex technology() const; + ::Muon::MuonStationIndex::TechnologyIndex technology() const; /// Set the identifier - void setIdentifier(int sector, Muon::MuonStationIndex::ChIndex chamberIndex, int etaIndex, Muon::MuonStationIndex::TechnologyIndex technology); - /// @} - + void setIdentifier(int sector, ::Muon::MuonStationIndex::ChIndex chamberIndex, int etaIndex, ::Muon::MuonStationIndex::TechnologyIndex technology); + /// @} + /// @name Hit counts functions /// Returns the number of hits /// @{ @@ -113,7 +113,7 @@ namespace xAOD { void setNHits(int nPrecisionHits, int nPhiLayers, int nTrigEtaLayers); /// @} -#if !(defined(GENERATIONBASE) || defined(XAOD_ANALYSIS)) +#if !(defined(GENERATIONBASE) || defined(XAOD_ANALYSIS)) const ElementLink< ::Trk::SegmentCollection >& muonSegment() const; void setMuonSegment(const ElementLink< ::Trk::SegmentCollection >& segment); #endif diff --git a/Event/xAOD/xAODMuon/xAODMuon/xAODMuonDict.h b/Event/xAOD/xAODMuon/xAODMuon/xAODMuonDict.h index e6f21d8ea9445ccdbd58753913a988b50a3eaf28..9cacffd24dda749e4c6c5f2bd95c7cff9602b946 100644 --- a/Event/xAOD/xAODMuon/xAODMuon/xAODMuonDict.h +++ b/Event/xAOD/xAODMuon/xAODMuon/xAODMuonDict.h @@ -1,75 +1,53 @@ // Dear emacs, this is -*- c++ -*- - /* Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - #ifndef XAODMUON_XAODMUONDICT_H #define XAODMUON_XAODMUONDICT_H -// Needed to successfully generate the dictionary in standalone mode: -#if defined(__GCCXML__) and not defined(EIGEN_DONT_VECTORIZE) -# ifndef EIGEN_DONT_VECTORIZE -# define EIGEN_DONT_VECTORIZE -# endif -#endif // __GCCXML__ - -// Local include(s): - +// Local include(s). +#include "xAODMuon/Muon.h" +#include "xAODMuon/MuonContainer.h" +#include "xAODMuon/MuonAuxContainer.h" +#include "xAODMuon/versions/Muon_v1.h" #include "xAODMuon/versions/MuonContainer_v1.h" #include "xAODMuon/versions/MuonAuxContainer_v1.h" #include "xAODMuon/versions/MuonAuxContainer_v2.h" #include "xAODMuon/versions/MuonAuxContainer_v3.h" #include "xAODMuon/versions/MuonAuxContainer_v4.h" #include "xAODMuon/versions/MuonAuxContainer_v5.h" -#include "xAODMuon/MuonContainer.h" -#include "xAODMuon/MuonAuxContainer.h" + +#include "xAODMuon/MuonSegment.h" #include "xAODMuon/MuonSegmentContainer.h" #include "xAODMuon/MuonSegmentAuxContainer.h" +#include "xAODMuon/versions/MuonSegment_v1.h" +#include "xAODMuon/versions/MuonSegmentContainer_v1.h" +#include "xAODMuon/versions/MuonSegmentAuxContainer_v1.h" + +#include "xAODMuon/SlowMuon.h" #include "xAODMuon/SlowMuonContainer.h" #include "xAODMuon/SlowMuonAuxContainer.h" +#include "xAODMuon/versions/SlowMuon_v1.h" +#include "xAODMuon/versions/SlowMuonContainer_v1.h" +#include "xAODMuon/versions/SlowMuonAuxContainer_v1.h" // EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - -#if !(defined(GENERATIONBASE) || defined(XAOD_ANALYSIS)) -#include "TrkSegment/SegmentCollection.h" -#endif // not XAOD_ANALYSIS or GENERATIONBASE +#include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. namespace { struct GCCXML_DUMMY_INSTANTIATION_XAODMUON { - // Classes in this package - xAOD::MuonContainer c1; - xAOD::MuonSegmentContainer c2; - xAOD::SlowMuonContainer c4; - // Links for Muon - DataLink< xAOD::MuonContainer > l1; - ElementLink< xAOD::MuonContainer > l2; - std::vector< DataLink< xAOD::MuonContainer > > l3; - std::vector< ElementLink< xAOD::MuonContainer > > l4; - std::vector< std::vector< ElementLink< xAOD::MuonContainer > > > l5; - // Segments - DataLink< xAOD::MuonSegmentContainer > l6; - ElementLink< xAOD::MuonSegmentContainer > l7; - std::vector< DataLink< xAOD::MuonSegmentContainer > > l8; - std::vector< ElementLink< xAOD::MuonSegmentContainer > > l9; - std::vector< std::vector< ElementLink< xAOD::MuonSegmentContainer > > > l10; - // Slow Muons - DataLink< xAOD::SlowMuonContainer > l11; - ElementLink< xAOD::SlowMuonContainer > l12; - std::vector< DataLink< xAOD::SlowMuonContainer > > l13; - std::vector< ElementLink< xAOD::SlowMuonContainer > > l14; - std::vector< std::vector< ElementLink< xAOD::SlowMuonContainer > > > l15; - // Instantiations of links used by this package - ElementLink< xAOD::CaloClusterContainer > i1; - ElementLink< xAOD::TrackParticleContainer > i2; + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, MuonContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, MuonSegmentContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, SlowMuonContainer_v1 ); + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CaloClusterContainer ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrackParticleContainer ); #if !(defined(GENERATIONBASE) || defined(XAOD_ANALYSIS)) // These lines are still needed in order for Reflex to see the // member variable of xAOD::MuonSegmentAuxContainer_v1 correctly. - Trk::SegmentCollection c3; - ElementLink< Trk::SegmentCollection > i3; - std::vector<ElementLink< Trk::SegmentCollection > > i4; + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( Trk, SegmentCollection ); #endif // not (defined(GENERATIONBASE) || defined(XAOD_ANALYSIS)) }; } diff --git a/Event/xAOD/xAODPFlow/CMakeLists.txt b/Event/xAOD/xAODPFlow/CMakeLists.txt index 9c385b524b23d786f05ff8c61a5b1474a9ca4624..c230887d74cc90e39d6fd476be623432c5b5b2ab 100644 --- a/Event/xAOD/xAODPFlow/CMakeLists.txt +++ b/Event/xAOD/xAODPFlow/CMakeLists.txt @@ -1,30 +1,11 @@ -# $Id: CMakeLists.txt 744541 2016-05-03 15:55:30Z krasznaa $ -################################################################################ -# Package: xAODPFlow -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODPFlow ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( - PUBLIC - Control/AthContainers - Control/AthLinks - Event/xAOD/xAODBase - Event/xAOD/xAODCaloEvent - Event/xAOD/xAODCore - Event/xAOD/xAODTracking ) - -# External dependencies: -find_package( ROOT COMPONENTS Core Physics GenVector) - -# Extra dependencies, based on what environment we are in: -if (BUILDVP1LIGHT) - if( BUILDVP1LIGHT_DIST STREQUAL "ubuntu") - set( extra_libs GenVector ) - endif() -endif() +# External dependencies. +find_package( ROOT COMPONENTS Core Physics GenVector ) +find_package( xAODUtilities ) # Component(s) in the package: atlas_add_library( xAODPFlow @@ -32,10 +13,15 @@ atlas_add_library( xAODPFlow PUBLIC_HEADERS xAODPFlow INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODBase - xAODCaloEvent xAODCore xAODTracking ${extra_libs} ) + xAODCaloEvent xAODCore xAODTracking ) + +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODPFlow/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::PFOContainer_v1" "xAOD::TrackCaloClusterContainer_v1" ) atlas_add_dictionary( xAODPFlowDict xAODPFlow/xAODPFlowDict.h - xAODPFlow/selection.xml - LINK_LIBRARIES xAODPFlow + ${_selectionFile} + LINK_LIBRARIES AthLinks xAODCore xAODPFlow EXTRA_FILES Root/dict/*.cxx ) diff --git a/Event/xAOD/xAODPFlow/xAODPFlow/selection.xml b/Event/xAOD/xAODPFlow/xAODPFlow/selection.xml index c5a81b4c6e7339a704d0457a76588bbdfab964f6..3aeaf198bd1b976c36bc640a2b98ac67410f2c56 100644 --- a/Event/xAOD/xAODPFlow/xAODPFlow/selection.xml +++ b/Event/xAOD/xAODPFlow/xAODPFlow/selection.xml @@ -1,58 +1,38 @@ +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- PFO_v1 dictionaries: --> - <class name="xAOD::PFO_v1" /> - - <class name="xAOD::PFOContainer_v1" - id="476378BF-054D-499E-9CC9-000F501B30F2" /> - - <class name="xAOD::PFOAuxContainer_v1" - id="F691F845-4A3D-466A-9187-FED7837D9372" /> - - <!-- TrackCaloCluster_v1 dictionaries: --> - <class name="xAOD::TrackCaloCluster_v1" /> - - <class name="xAOD::TrackCaloClusterAuxContainer_v1" - id="E3492C37-2469-4346-BCBA-7A18CACD46AC"/> - <class name="xAOD::TrackCaloClusterContainer_v1" - id="84C52180-1AC0-4877-BAD3-B5C7A71F9125"/> - - <!-- Link types pointing at clusters: --> - <class name="DataLink<xAOD::PFOContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::PFOContainer_v1> >" /> - - <class name="ElementLink<xAOD::PFOContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::PFOContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::PFOContainer_v1> > >" /> - - <class name="ElementLink<xAOD::IParticleContainer>" /> - <class name="std::vector< ElementLink<xAOD::IParticleContainer> >" /> - <class name="std::vector<std::vector< ElementLink<xAOD::IParticleContainer> > >" /> - - <enum pattern="xAOD::PFODetails::*" /> - <class name="std::vector<xAOD::PFODetails::PFOLeptonType>" /> - - <!-- All smart pointer dictionaries for xAOD::IParticle --> - <class name="DataLink<xAOD::TrackCaloClusterContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::TrackCaloClusterContainer_v1> >" /> - - <class name="ElementLink<xAOD::TrackCaloClusterContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TrackCaloClusterContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrackCaloClusterContainer_v1> > >" /> - - <!-- Extra types needed --> - <class name="std::pair<ElementLink<DataVector<xAOD::CaloCluster_v1> >,double>" /> - <class name="std::vector<std::vector<std::pair<ElementLink<DataVector<xAOD::CaloCluster_v1> >,double> > >" /> - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - <class name="DataVector<xAOD::IParticle>" /> - <class name="ElementLink<DataVector<xAOD::IParticle> >" /> - <class pattern="xAOD::Vertex*" /> - <class pattern="DataVector<xAOD::Vertex*" /> - <class pattern="ElementLink<DataVector<xAOD::Vertex*" /> - </exclusion> + <!-- xAOD::PFO interface type(s). --> + <class name="xAOD::PFO_v1" /> + <class name="xAOD::PFOContainer_v1" + id="476378BF-054D-499E-9CC9-000F501B30F2" /> + <typedef name="xAOD::PFO" /> + <typedef name="xAOD::PFOContainer" /> + + <!-- xAOD::PFO auxiliary type(s). --> + <class name="xAOD::PFOAuxContainer_v1" + id="F691F845-4A3D-466A-9187-FED7837D9372" /> + <typedef name="xAOD::PFOAuxContainer" /> + + <!-- xAOD::TrackCaloCluster interface type(s). --> + <class name="xAOD::TrackCaloCluster_v1" /> + <class name="xAOD::TrackCaloClusterContainer_v1" + id="84C52180-1AC0-4877-BAD3-B5C7A71F9125"/> + <typedef name="xAOD::TrackCaloCluster" /> + <typedef name="xAOD::TrackCaloClusterContainer" /> + + <!-- xAOD::TrackCaloCluster auxiliary type(s). --> + <class name="xAOD::TrackCaloClusterAuxContainer_v1" + id="E3492C37-2469-4346-BCBA-7A18CACD46AC"/> + <typedef name="xAOD::TrackCaloClusterAuxContainer" /> + + <!-- Other type(s). --> + <enum pattern="xAOD::PFODetails::*" /> + + <!-- Weird/bad types used by the PFO reconstruction as attributes on --> + <!-- xAOD::PFO objects. :-( --> + <class name="std::pair<ElementLink<xAOD::CaloClusterContainer_v1>,double>" /> + <class name="std::vector<std::pair<ElementLink<xAOD::CaloClusterContainer_v1>,double> >" /> + <class name="std::vector<std::vector<std::pair<ElementLink<xAOD::CaloClusterContainer_v1>,double> > >" /> + <class name="std::vector<xAOD::PFODetails::PFOLeptonType>" /> </lcgdict> diff --git a/Event/xAOD/xAODPFlow/xAODPFlow/xAODPFlowDict.h b/Event/xAOD/xAODPFlow/xAODPFlow/xAODPFlowDict.h index b12e786c55d1975bb7360229c9cf33c7f201f459..1d8ff5a619cdedd614fd0f97babaad81dd21db60 100644 --- a/Event/xAOD/xAODPFlow/xAODPFlow/xAODPFlowDict.h +++ b/Event/xAOD/xAODPFlow/xAODPFlow/xAODPFlowDict.h @@ -1,58 +1,51 @@ +// Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -/* Class to set what goes in the dictionary - authors M. Hodgkinson amd M. Janus */ - #ifndef XAODPFLOW_XAODPFODICT_H #define XAODPFLOW_XAODPFODICT_H -// Needed to successfully generate the dictionary in standalone mode: -#if defined(__GCCXML__) and not defined(EIGEN_DONT_VECTORIZE) -# define EIGEN_DONT_VECTORIZE -#endif // __GCCXML__ - -// STL include(s): -#include <vector> - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - // Local include(s): +#include "xAODPFlow/PFO.h" #include "xAODPFlow/PFOContainer.h" #include "xAODPFlow/PFOAuxContainer.h" +#include "xAODPFlow/versions/PFO_v1.h" #include "xAODPFlow/versions/PFOContainer_v1.h" #include "xAODPFlow/versions/PFOAuxContainer_v1.h" + +#include "xAODPFlow/TrackCaloCluster.h" +#include "xAODPFlow/TrackCaloClusterContainer.h" +#include "xAODPFlow/TrackCaloClusterAuxContainer.h" +#include "xAODPFlow/versions/TrackCaloCluster_v1.h" #include "xAODPFlow/versions/TrackCaloClusterContainer_v1.h" #include "xAODPFlow/versions/TrackCaloClusterAuxContainer_v1.h" + #include "xAODPFlow/PFODefs.h" -namespace { - struct GCCXML_DUMMY_INSTANTIATION_XAODPFLOW { - xAOD::PFOContainer_v1 c1; - DataLink< xAOD::PFOContainer_v1 > l1; - ElementLink< xAOD::PFOContainer_v1 > l2; - std::vector< DataLink< xAOD::PFOContainer_v1 > > l4; - std::vector< ElementLink< xAOD::PFOContainer_v1 > > l5; - std::vector< std::vector< ElementLink< xAOD::PFOContainer_v1 > > > l6; - - xAOD::IParticleContainer c2; - ElementLink< xAOD::IParticleContainer > l8; - std::vector< ElementLink<xAOD::IParticleContainer > > l9; - std::vector< std::vector< ElementLink<xAOD::IParticleContainer > > > l10; - std::vector< xAOD::PFODetails::PFOLeptonType > l11; - ElementLink< xAOD::VertexContainer > l12; - - xAOD::TrackCaloClusterContainer_v1 c3; - DataLink< xAOD::TrackCaloClusterContainer_v1 > l13; - std::vector< DataLink< xAOD::TrackCaloClusterContainer_v1 > > l14; - ElementLink< xAOD::TrackCaloClusterContainer_v1 > l15; - std::vector< ElementLink< xAOD::TrackCaloClusterContainer_v1 > > l16; - std::vector< std::vector< ElementLink< xAOD::TrackCaloClusterContainer_v1 > > > l17; +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" +#include "AthLinks/ElementLink.h" - std::vector<std::vector<std::pair<ElementLink<DataVector<xAOD::CaloCluster_v1> >,double> > > l18; - +// System include(s). +#include <utility> +#include <vector> + +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODFLOW { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, PFOContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrackCaloClusterContainer_v1 ); + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, IParticleContainer ); + // Weird/bad types used by the PFO reconstruction as attributes on + // xAOD::PFO objects. :-( + std::pair< ElementLink< xAOD::CaloClusterContainer >, double > dummy1; + std::vector< std::pair< ElementLink< xAOD::CaloClusterContainer >, double > > + dummy2; + std::vector< std::vector< std::pair< ElementLink< xAOD::CaloClusterContainer >, double > > > + dummy3; + std::vector< xAOD::PFODetails::PFOLeptonType > dummy4; }; } diff --git a/Event/xAOD/xAODParticleEvent/CMakeLists.txt b/Event/xAOD/xAODParticleEvent/CMakeLists.txt index 01524f17a62c16da3ceaffbf1ab8c08662d08aaa..1aaa8d18c80d0f833debf7fd837a2813e9308dc9 100644 --- a/Event/xAOD/xAODParticleEvent/CMakeLists.txt +++ b/Event/xAOD/xAODParticleEvent/CMakeLists.txt @@ -1,44 +1,28 @@ -# $Id: CMakeLists.txt 751314 2016-06-01 09:14:59Z krasznaa $ -################################################################################ -# Package: xAODParticleEvent -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODParticleEvent ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( - PUBLIC - Control/AthContainers - Control/AthLinks - Event/xAOD/xAODBase - Event/xAOD/xAODCore - Event/xAOD/xAODEgamma - Event/xAOD/xAODJet - Event/xAOD/xAODMissingET - Event/xAOD/xAODMuon - Event/xAOD/xAODTau - Event/xAOD/xAODTruth ) - -# External dependencies: +# External dependencies. find_package( ROOT COMPONENTS Core GenVector ) +find_package( xAODUtilities ) -# Extra dependencies, based on what environment we are in: -if (BUILDVP1LIGHT) - if( BUILDVP1LIGHT_DIST STREQUAL "ubuntu") - set( extra_libs GenVector ) - endif() -endif() - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODParticleEvent xAODParticleEvent/*.h xAODParticleEvent/versions/*.h Root/*.cxx PUBLIC_HEADERS xAODParticleEvent - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODBase xAODCore xAODEgamma xAODJet - xAODMissingET xAODMuon xAODTau xAODTruth ${extra_libs} ) + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODBase xAODCore + xAODEgamma xAODJet xAODMissingET xAODMuon xAODTau xAODTruth ) + +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODParticleEvent/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::ParticleContainer_v1" + "xAOD::CompositeParticleContainer_v1" ) atlas_add_dictionary( xAODParticleEventDict xAODParticleEvent/xAODParticleEventDict.h - xAODParticleEvent/selection.xml - LINK_LIBRARIES ${extra_libs} xAODParticleEvent + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODParticleEvent EXTRA_FILES Root/dict/*.cxx ) diff --git a/Event/xAOD/xAODParticleEvent/xAODParticleEvent/selection.xml b/Event/xAOD/xAODParticleEvent/xAODParticleEvent/selection.xml index daad8f1538b8f3363f5242b9452afa6a21fefe0c..f60f9b63c8f0e6aeef68f9af679fc48f7dc64846 100644 --- a/Event/xAOD/xAODParticleEvent/xAODParticleEvent/selection.xml +++ b/Event/xAOD/xAODParticleEvent/xAODParticleEvent/selection.xml @@ -1,80 +1,28 @@ -<!-- $Id$ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- xAOD::IParticleLink_v1 dictionaries: --> - <class name="xAOD::IParticleLink_v1"> - <!-- <field name="m_proxy" transient="true"/> --> - <!-- <field name="m_element" transient="true"/> --> - </class> - <!-- <read sourceClass="xAOD::IParticleLink_v1" version="[1-]" - targetClass="xAOD::IParticleLink_v1" source="" - > - <![CDATA[ - // Let the object prepare for being used: - newObj->toTransient(); - ]]> - </read> --> - - <class name="xAOD::IParticleLinkContainer_v1" - id="E3A75D69-B84E-41DD-AB67-B5FF6ACBC243" /> - <!-- <read sourceClass="xAOD::IParticleLink_v1" version="[1-]" - targetClass="xAOD::IParticleLink_v1" source="" target="" > - <![CDATA[ - m_p4Cached = false; - ]]> - </read> --> - - <!-- <class name="xAOD::IParticleLinkAuxContainer_v1" - id="3BA65D0C-E2DC-4D7A-84F6-4A1D0EA8728D" /> --> - - - <!-- Particle_v1 dictionaries: --> - <class name="xAOD::Particle_v1" /> - - <class name="xAOD::ParticleContainer_v1" - id="CE9D717A-A6DD-4BCA-A946-63A730E0EA3B" /> - - <class name="xAOD::ParticleAuxContainer_v1" - id="B53E64D2-C5EA-4B93-9B3C-F4506C823708" /> - - <!-- Smart pointers to Particle_v1: --> - <class name="DataLink<xAOD::ParticleContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::ParticleContainer_v1> >" /> - <class name="ElementLink<xAOD::ParticleContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::ParticleContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::ParticleContainer_v1> > >" /> - - - - <!-- CompositeParticle_v1 dictionaries: --> - <class name="xAOD::CompositeParticle_v1" /> - - <class name="xAOD::CompositeParticleContainer_v1" - id="C65FFC20-CC41-4C6D-BEDF-B10E935EBFCC" /> - - <class name="xAOD::CompositeParticleAuxContainer_v1" - id="E43BBAC2-214D-4AFC-927D-AA0EE2C9217C" /> - - <!-- Smart pointers to CompositeParticle_v1: --> - <class name="DataLink<xAOD::CompositeParticleContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::CompositeParticleContainer_v1> >" /> - <class name="ElementLink<xAOD::CompositeParticleContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::CompositeParticleContainer_v1> >" /> - <class name="ElementLinkVector<xAOD::CompositeParticleContainer_v1>" /> - <class name="std::vector<ElementLinkVector<xAOD::CompositeParticleContainer_v1> >" /> - - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - <class name="DataVector<xAOD::IParticle>" /> - <class name="ElementLink<xAOD::IParticleContainer>" /> - <class name="DataVector<xAOD::MissingET_v1>" /> - <class name="ElementLink<xAOD::MissingETContainer_v1>" /> - <!-- <class name="std::vector<ElementLink<xAOD::IParticleContainer> >" /> --> - <!-- <class name="std::vector<std::vector<ElementLink<xAOD::IParticleContainer> > >" /> --> - </exclusion> + <!-- xAOD::Particle interface type(s). --> + <class name="xAOD::Particle_v1" /> + <class name="xAOD::ParticleContainer_v1" + id="CE9D717A-A6DD-4BCA-A946-63A730E0EA3B" /> + <typedef name="xAOD::Particle" /> + <typedef name="xAOD::ParticleContainer" /> + + <!-- xAOD::Particle auxiliary type(s). --> + <class name="xAOD::ParticleAuxContainer_v1" + id="B53E64D2-C5EA-4B93-9B3C-F4506C823708" /> + <typedef name="xAOD::ParticleAuxContainer" /> + + <!-- xAOD::CompositeParticle interface type(s). --> + <class name="xAOD::CompositeParticle_v1" /> + <class name="xAOD::CompositeParticleContainer_v1" + id="C65FFC20-CC41-4C6D-BEDF-B10E935EBFCC" /> + <typedef name="xAOD::CompositeParticle" /> + <typedef name="xAOD::CompositeParticleContainer" /> + + <!-- xAOD::CompositeParticle auxiliary type(s). --> + <class name="xAOD::CompositeParticleAuxContainer_v1" + id="E43BBAC2-214D-4AFC-927D-AA0EE2C9217C" /> + <typedef name="xAOD::CompositeParticleAuxContainer" /> </lcgdict> diff --git a/Event/xAOD/xAODParticleEvent/xAODParticleEvent/xAODParticleEventDict.h b/Event/xAOD/xAODParticleEvent/xAODParticleEvent/xAODParticleEventDict.h index 81b76f04301e40cbff7125a783b233f9e1146791..9371be2e1327f71e88793e09f7b3cb5b33a111b2 100644 --- a/Event/xAOD/xAODParticleEvent/xAODParticleEvent/xAODParticleEventDict.h +++ b/Event/xAOD/xAODParticleEvent/xAODParticleEvent/xAODParticleEventDict.h @@ -1,65 +1,38 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODParticleEventDict.h 649922 2015-02-26 12:20:50Z kkoeneke $ #ifndef XAODPARTICLEEVENT_XAODPARTICLEEVENTDICT_H #define XAODPARTICLEEVENT_XAODPARTICLEEVENTDICT_H -// Needed to successfully generate the dictionary in standalone mode: -#if defined(__GCCXML__) and not defined(EIGEN_DONT_VECTORIZE) -# define EIGEN_DONT_VECTORIZE -#endif // __GCCXML__ - - -// STL -#include <vector> - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - -// Local include(s): -#include "xAODParticleEvent/IParticleLinkContainer.h" +// Local include(s). +#include "xAODParticleEvent/Particle.h" #include "xAODParticleEvent/ParticleContainer.h" #include "xAODParticleEvent/ParticleAuxContainer.h" +#include "xAODParticleEvent/versions/Particle_v1.h" +#include "xAODParticleEvent/versions/ParticleContainer_v1.h" +#include "xAODParticleEvent/versions/ParticleAuxContainer_v1.h" + +#include "xAODParticleEvent/CompositeParticle.h" #include "xAODParticleEvent/CompositeParticleContainer.h" #include "xAODParticleEvent/CompositeParticleAuxContainer.h" +#include "xAODParticleEvent/versions/CompositeParticle_v1.h" +#include "xAODParticleEvent/versions/CompositeParticleContainer_v1.h" +#include "xAODParticleEvent/versions/CompositeParticleAuxContainer_v1.h" +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. namespace { - struct GCCXML_DUMMY_INSTANTIATION_XAODPARTICLEEVENT { - xAOD::IParticleLinkContainer_v1 ipl_c1; - DataLink< xAOD::IParticleLinkContainer_v1 > ipl_l1; - ElementLink< xAOD::IParticleLinkContainer_v1 > ipl_l2; - std::vector< DataLink< xAOD::IParticleLinkContainer_v1 > > ipl_l3; - std::vector< ElementLink< xAOD::IParticleLinkContainer_v1 > > ipl_l4; - std::vector< std::vector< ElementLink< xAOD::IParticleLinkContainer_v1 > > > ipl_l5; - - xAOD::ParticleContainer_v1 p_c1; - DataLink< xAOD::ParticleContainer_v1 > p_l1; - ElementLink< xAOD::ParticleContainer_v1 > p_l2; - std::vector< DataLink< xAOD::ParticleContainer_v1 > > p_l3; - std::vector< ElementLink< xAOD::ParticleContainer_v1 > > p_l4; - std::vector< std::vector< ElementLink< xAOD::ParticleContainer_v1 > > > p_l5; - - xAOD::CompositeParticleContainer_v1 cp_c1; - DataLink< xAOD::CompositeParticleContainer_v1 > cp_l1; - ElementLink< xAOD::CompositeParticleContainer_v1 > cp_l2; - std::vector< DataLink< xAOD::CompositeParticleContainer_v1 > > cp_l3; - std::vector< ElementLink< xAOD::CompositeParticleContainer_v1 > > cp_l4; - std::vector< std::vector< ElementLink< xAOD::CompositeParticleContainer_v1 > > > cp_l5; - - // // Smart pointers needed for the correct generation of the auxiliary - // // class dictionaries: - // std::vector< xAOD::IParticleLinkContainer > el1; - // ElementLink< xAOD::IParticleContainer > el7; - // std::vector< ElementLink< xAOD::IParticleContainer > > el8; - // std::vector< std::vector< ElementLink< xAOD::IParticleContainer > > > el9; - - }; + struct GCCXML_DUMMY_INSTANTIATION_XAODPARTICLEEVENT { + // Types for which dictionaries are built. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, ParticleContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, + CompositeParticleContainer_v1 ); + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, IParticleContainer ); + }; } #endif // XAODPARTICLEEVENT_XAODPARTICLEEVENTDICT_H diff --git a/Event/xAOD/xAODTau/CMakeLists.txt b/Event/xAOD/xAODTau/CMakeLists.txt index c69a066b94aeadd1c9bd6877cc365e04d4ad9f0b..733c76aac7d7b62cfb98000e71e804cf8457cf0d 100644 --- a/Event/xAOD/xAODTau/CMakeLists.txt +++ b/Event/xAOD/xAODTau/CMakeLists.txt @@ -1,46 +1,32 @@ -# $Id: CMakeLists.txt 775886 2016-09-29 16:03:02Z griffith $ -################################################################################ -# Package: xAODTau -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTau ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( - PUBLIC - Control/AthContainers - Control/AthLinks - Event/xAOD/xAODBase - Event/xAOD/xAODCore - Event/xAOD/xAODJet - Event/xAOD/xAODPFlow - Event/xAOD/xAODTracking - Event/xAOD/xAODTruth ) - -# External dependencies: +# External dependencies. find_package( ROOT COMPONENTS Core GenVector ) +find_package( xAODUtilities ) -# Extra dependencies, based on what environment we are in: -if (BUILDVP1LIGHT) - if( BUILDVP1LIGHT_DIST STREQUAL "ubuntu") - set( extra_libs GenVector ) - endif() -endif() - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTau xAODTau/*.h xAODTau/*.icc xAODTau/versions/*.h Root/*.h Root/*.icc Root/*.cxx PUBLIC_HEADERS xAODTau INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODBase xAODCore - xAODJet xAODPFlow xAODTracking xAODTruth ${extra_libs} ) + xAODJet xAODPFlow xAODTracking xAODTruth ) + +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTau/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::TauJetContainer_v1" "xAOD::TauJetContainer_v2" + "xAOD::TauJetContainer_v3" "xAOD::DiTauJetContainer_v1" + "xAOD::TauTrackContainer_v1" ) atlas_add_dictionary( xAODTauDict xAODTau/xAODTauDict.h - xAODTau/selection.xml - LINK_LIBRARIES xAODTau + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTau EXTRA_FILES Root/dict/*.cxx ) atlas_add_dictionary( xAODTau_cDict @@ -48,8 +34,7 @@ atlas_add_dictionary( xAODTau_cDict xAODTau/selection_c.xml LINK_LIBRARIES xAODTau ) - -# Test(s) in the package: +# Test(s) in the package. atlas_add_test( xAODTau_TauJet_test SOURCES test/xAODTau_TauJet_test.cxx LINK_LIBRARIES xAODTau ) diff --git a/Event/xAOD/xAODTau/xAODTau/selection.xml b/Event/xAOD/xAODTau/xAODTau/selection.xml index 6ac6160bad59ede27235e9c8751380abaa1cfdfb..56e075cd6eeb7191cb1552fc56d1bc2e5d93157f 100644 --- a/Event/xAOD/xAODTau/xAODTau/selection.xml +++ b/Event/xAOD/xAODTau/xAODTau/selection.xml @@ -1,129 +1,74 @@ -<!-- $Id: selection.xml 767396 2016-08-11 02:39:30Z griffith $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- TauJet_v1 dictionaries: --> - <class name="xAOD::TauJet_v1" /> - - <class name="xAOD::TauJetContainer_v1" - id="93CCE680-47C0-11E3-997C-02163E00A614" /> - <class name="xAOD::TauJetAuxContainer_v1" - id="EA3CE9A0-18D8-49FD-B978-62857D8D8FD0" /> - - <class name="DataLink<xAOD::TauJetContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::TauJetContainer_v1> >" /> - - <class name="ElementLink<xAOD::TauJetContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TauJetContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TauJetContainer_v1> > >" /> - - <!-- TauJet_v2 dictionaries: --> - <class name="xAOD::TauJet_v2" /> - - <class name="xAOD::TauJetContainer_v2" - id="AACF5DF5-2D1A-4678-9188-756C27314E2F" /> - <class name="xAOD::TauJetAuxContainer_v2" - id="2853B3D8-136E-444D-AB48-24B1A0E13083" /> - - <class name="DataLink<xAOD::TauJetContainer_v2>" /> - <class name="std::vector<DataLink<xAOD::TauJetContainer_v2> >" /> - - <class name="ElementLink<xAOD::TauJetContainer_v2>" /> - <class name="std::vector<ElementLink<xAOD::TauJetContainer_v2> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TauJetContainer_v2> > >" /> - - - <!-- TauJet_v3 dictionaries: --> - <class name="xAOD::TauJet_v3" /> - - <class name="xAOD::TauJetContainer_v3" - id="9A1207C5-E25F-4974-A9D6-A51DB37F09F9" /> - <class name="xAOD::TauJetAuxContainer_v3" - id="77AA6800-DDAD-44E8-AD90-003D48082A94" /> - - <class name="DataLink<xAOD::TauJetContainer_v3>" /> - <class name="std::vector<DataLink<xAOD::TauJetContainer_v3> >" /> - - <class name="ElementLink<xAOD::TauJetContainer_v3>" /> - <class name="std::vector<ElementLink<xAOD::TauJetContainer_v3> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TauJetContainer_v3> > >" /> - - - <!-- Tell ROOT that it should automatically convert the v1 smart pointer --> - <!-- types into v2 types. Making it possible to read back other objects --> - <!-- from older files that are pointing at TauJets. --> - <read sourceClass="DataLink<xAOD::TauJetContainer_v1>" version="[1-]" - targetClass="DataLink<xAOD::TauJetContainer_v2>" - source="" target="" /> - <read sourceClass="DataLink<xAOD::TauJetContainer_v1>" version="[1-]" - targetClass="DataLink<xAOD::TauJetContainer_v3>" - source="" target="" /> - <read sourceClass="DataLink<xAOD::TauJetContainer_v2>" version="[2-]" - targetClass="DataLink<xAOD::TauJetContainer_v3>" - source="" target="" /> - <read sourceClass="ElementLink<xAOD::TauJetContainer_v1>" version="[1-]" - targetClass="ElementLink<xAOD::TauJetContainer_v2>" - source="" target="" /> - <read sourceClass="ElementLink<xAOD::TauJetContainer_v1>" version="[1-]" - targetClass="ElementLink<xAOD::TauJetContainer_v3>" - source="" target="" /> - <read sourceClass="ElementLink<xAOD::TauJetContainer_v2>" version="[2-]" - targetClass="ElementLink<xAOD::TauJetContainer_v3>" - source="" target="" /> - - - <!-- DiTauJet_v1 dictionaries: --> - <class name="xAOD::DiTauJet_v1" /> - - <class name="xAOD::DiTauJetContainer_v1" - id="0AD18017-0347-4F89-976E-6DA3149DA622" /> - <class name="xAOD::DiTauJetAuxContainer_v1" - id="52A49486-FE88-4448-87E0-5878B69975D1" /> - - <class name="DataLink<xAOD::DiTauJetContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::DiTauJetContainer_v1> >" /> - - <class name="ElementLink<xAOD::DiTauJetContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::DiTauJetContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::DiTauJetContainer_v1> > >" /> - - - <!-- TauTrack_v1 dictionaries: --> - <class name="xAOD::TauTrack_v1" /> - - <class name="xAOD::TauTrackContainer_v1" - id="A45C1CC2-E6BE-4D99-BB49-3CE80AACEDDA" /> - <class name="xAOD::TauTrackAuxContainer_v1" - id="E36C4BCF-0180-461F-8767-46768A7F3573" /> - - <class name="DataLink<xAOD::TauTrackContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::TauTrackContainer_v1> >" /> - - <class name="ElementLink<xAOD::TauTrackContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TauTrackContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TauTrackContainer_v1> > >" /> - - <!--Add Helper Functions --> - <function pattern="xAOD::TauHelpers::*" /> - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - <class name="DataVector<xAOD::IParticle>" /> - <class name="ElementLink<DataVector<xAOD::IParticle> >" /> - <class pattern="xAOD::TrackParticle*" /> - <class pattern="DataVector<xAOD::TrackParticle*" /> - <class pattern="ElementLink<DataVector<xAOD::TrackParticle*" /> - <class pattern="xAOD::Vertex*" /> - <class pattern="DataVector<xAOD::Vertex*" /> - <class pattern="ElementLink<DataVector<xAOD::Vertex*" /> - <class pattern="xAOD::Jet*" /> - <class pattern="DataVector<xAOD::Jet*" /> - <class pattern="ElementLink<DataVector<xAOD::Jet*" /> - <class pattern="xAOD::PFO*" /> - <class pattern="DataVector<xAOD::PFO*" /> - <class pattern="ElementLink<DataVector<xAOD::PFO*" /> - </exclusion> + <!-- xAOD::TauJet interface type(s). --> + <class name="xAOD::TauJet_v1" /> + <class name="xAOD::TauJetContainer_v1" + id="93CCE680-47C0-11E3-997C-02163E00A614" /> + <class name="xAOD::TauJet_v2" /> + <class name="xAOD::TauJetContainer_v2" + id="AACF5DF5-2D1A-4678-9188-756C27314E2F" /> + <class name="xAOD::TauJet_v3" /> + <class name="xAOD::TauJetContainer_v3" + id="9A1207C5-E25F-4974-A9D6-A51DB37F09F9" /> + <typedef name="xAOD::TauJet" /> + <typedef name="xAOD::TauJetContainer" /> + + <!-- xAOD::TauJet auxiliary type(s). --> + <class name="xAOD::TauJetAuxContainer_v1" + id="EA3CE9A0-18D8-49FD-B978-62857D8D8FD0" /> + <class name="xAOD::TauJetAuxContainer_v2" + id="2853B3D8-136E-444D-AB48-24B1A0E13083" /> + <class name="xAOD::TauJetAuxContainer_v3" + id="77AA6800-DDAD-44E8-AD90-003D48082A94" /> + <typedef name="xAOD::TauJetAuxContainer" /> + + <!-- Tell ROOT that it should automatically convert between smart pointer --> + <!-- types. --> + <read sourceClass="DataLink<xAOD::TauJetContainer_v1>" version="[1-]" + targetClass="DataLink<xAOD::TauJetContainer_v2>" + source="" target="" /> + <read sourceClass="DataLink<xAOD::TauJetContainer_v1>" version="[1-]" + targetClass="DataLink<xAOD::TauJetContainer_v3>" + source="" target="" /> + <read sourceClass="DataLink<xAOD::TauJetContainer_v2>" version="[2-]" + targetClass="DataLink<xAOD::TauJetContainer_v3>" + source="" target="" /> + <read sourceClass="ElementLink<xAOD::TauJetContainer_v1>" version="[1-]" + targetClass="ElementLink<xAOD::TauJetContainer_v2>" + source="" target="" /> + <read sourceClass="ElementLink<xAOD::TauJetContainer_v1>" version="[1-]" + targetClass="ElementLink<xAOD::TauJetContainer_v3>" + source="" target="" /> + <read sourceClass="ElementLink<xAOD::TauJetContainer_v2>" version="[2-]" + targetClass="ElementLink<xAOD::TauJetContainer_v3>" + source="" target="" /> + + <!-- xAOD::DiTauJet interface type(s). --> + <class name="xAOD::DiTauJet_v1" /> + <class name="xAOD::DiTauJetContainer_v1" + id="0AD18017-0347-4F89-976E-6DA3149DA622" /> + <typedef name="xAOD::DiTauJet" /> + <typedef name="xAOD::DiTauJetContainer" /> + + <!-- xAOD::DiTauJet auxiliary type(s). --> + <class name="xAOD::DiTauJetAuxContainer_v1" + id="52A49486-FE88-4448-87E0-5878B69975D1" /> + <typedef name="xAOD::DiTauJetAuxContainer" /> + + <!-- xAOD::TauTrack interface type(s). --> + <class name="xAOD::TauTrack_v1" /> + <class name="xAOD::TauTrackContainer_v1" + id="A45C1CC2-E6BE-4D99-BB49-3CE80AACEDDA" /> + <typedef name="xAOD::TauTrack" /> + <typedef name="xAOD::TauTrackContainer" /> + + <!-- xAOD::TauTrack auxiliary type(s). --> + <class name="xAOD::TauTrackAuxContainer_v1" + id="E36C4BCF-0180-461F-8767-46768A7F3573" /> + <typedef name="xAOD::TauTrackAuxContainer" /> + + <!-- Helper function(s). --> + <function pattern="xAOD::TauHelpers::*" /> </lcgdict> diff --git a/Event/xAOD/xAODTau/xAODTau/xAODTauDict.h b/Event/xAOD/xAODTau/xAODTau/xAODTauDict.h index 211a84aef0a0151af575cf07cc73c88e60b4c10a..f1ddc0aacff574fd3f8929cff1fd78f08f0aa26d 100644 --- a/Event/xAOD/xAODTau/xAODTau/xAODTauDict.h +++ b/Event/xAOD/xAODTau/xAODTau/xAODTauDict.h @@ -1,115 +1,57 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODTauDict.h 796007 2017-02-07 15:38:04Z griffith $ #ifndef XAODTAU_XAODTAUDICT_H #define XAODTAU_XAODTAUDICT_H -// Needed to successfully generate the dictionary in standalone mode: -#if defined(__GCCXML__) and not defined(EIGEN_DONT_VECTORIZE) -# define EIGEN_DONT_VECTORIZE -#endif // __GCCXML__ - -// STL include(s): -#include <vector> - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" -#include "AthLinks/ElementLinkVector.h" - -// Local include(s): +// Local include(s). +#include "xAODTau/TauJet.h" +#include "xAODTau/TauJetContainer.h" +#include "xAODTau/TauJetAuxContainer.h" +#include "xAODTau/versions/TauJet_v1.h" #include "xAODTau/versions/TauJetContainer_v1.h" #include "xAODTau/versions/TauJetAuxContainer_v1.h" +#include "xAODTau/versions/TauJet_v2.h" #include "xAODTau/versions/TauJetContainer_v2.h" #include "xAODTau/versions/TauJetAuxContainer_v2.h" +#include "xAODTau/versions/TauJet_v3.h" #include "xAODTau/versions/TauJetContainer_v3.h" #include "xAODTau/versions/TauJetAuxContainer_v3.h" -#include "xAODTau/versions/DiTauJetContainer_v1.h" -#include "xAODTau/versions/DiTauJetAuxContainer_v1.h" -#include "xAODTau/versions/TauTrackContainer_v1.h" -#include "xAODTau/versions/TauTrackAuxContainer_v1.h" -#include "xAODTau/TauJetContainer.h" -#include "xAODTau/TauJetAuxContainer.h" + +#include "xAODTau/DiTauJet.h" #include "xAODTau/DiTauJetContainer.h" #include "xAODTau/DiTauJetAuxContainer.h" +#include "xAODTau/versions/DiTauJet_v1.h" +#include "xAODTau/versions/DiTauJetContainer_v1.h" +#include "xAODTau/versions/DiTauJetAuxContainer_v1.h" + +#include "xAODTau/TauTrack.h" #include "xAODTau/TauTrackContainer.h" #include "xAODTau/TauTrackAuxContainer.h" +#include "xAODTau/versions/TauTrack_v1.h" +#include "xAODTau/versions/TauTrackContainer_v1.h" +#include "xAODTau/versions/TauTrackAuxContainer_v1.h" +#include "xAODTau/TauxAODHelpers.h" -/// Declare a dummy CLID for xAOD::TauJetContainer_v1. This is only necessary -/// to get DataLink<xAOD::TauJetContainer_v1> and -/// ElementLink<xAOD::TauJetContainer_v1> compiling in the dictionary. The CLID -/// is not needed in the "real" code, since users are never exposed to the _v1 -/// classes in Athena anymore. -CLASS_DEF( xAOD::TauJetContainer_v1, 12345678, 10 ) -CLASS_DEF( xAOD::TauJetContainer_v2, 123456789, 10 ) +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. namespace { - struct GCCXML_DUMMY_INSTANTIATION_XAODTAU { - xAOD::TauJetContainer_v1 c1; - DataLink< xAOD::TauJetContainer_v1 > l1; - ElementLink< xAOD::TauJetContainer_v1 > l2; - ElementLinkVector< xAOD::TauJetContainer_v1 > l3; - std::vector< DataLink< xAOD::TauJetContainer_v1 > > l4; - std::vector< ElementLink< xAOD::TauJetContainer_v1 > > l5; - std::vector< std::vector< ElementLink< xAOD::TauJetContainer_v1 > > > l6; - std::vector< ElementLinkVector< xAOD::TauJetContainer_v1 > > l7; - - xAOD::TauJetContainer_v2 c2; - DataLink< xAOD::TauJetContainer_v2 > l8; - ElementLink< xAOD::TauJetContainer_v2 > l9; - ElementLinkVector< xAOD::TauJetContainer_v2 > l10; - std::vector< DataLink< xAOD::TauJetContainer_v2 > > l11; - std::vector< ElementLink< xAOD::TauJetContainer_v2 > > l12; - std::vector< std::vector< ElementLink< xAOD::TauJetContainer_v2 > > > l13; - std::vector< ElementLinkVector< xAOD::TauJetContainer_v2 > > l14; - - xAOD::DiTauJetContainer_v1 c3; - DataLink< xAOD::DiTauJetContainer_v1 > l15; - ElementLink< xAOD::DiTauJetContainer_v1 > l16; - ElementLinkVector< xAOD::DiTauJetContainer_v1 > l17; - std::vector< DataLink< xAOD::DiTauJetContainer_v1 > > l18; - std::vector< ElementLink< xAOD::DiTauJetContainer_v1 > > l19; - std::vector< std::vector< ElementLink< xAOD::DiTauJetContainer_v1 > > > l20; - std::vector< ElementLinkVector< xAOD::DiTauJetContainer_v1 > > l21; - - xAOD::TauTrackContainer_v1 c4; - DataLink< xAOD::TauTrackContainer_v1 > l22; - ElementLink< xAOD::TauTrackContainer_v1 > l23; - ElementLinkVector< xAOD::TauTrackContainer_v1 > l24; - std::vector< DataLink< xAOD::TauTrackContainer_v1 > > l25; - std::vector< ElementLink< xAOD::TauTrackContainer_v1 > > l26; - std::vector< std::vector< ElementLink< xAOD::TauTrackContainer_v1 > > > l27; - std::vector< ElementLinkVector< xAOD::TauTrackContainer_v1 > > l28; - - xAOD::TauJetContainer_v2 c5; - DataLink< xAOD::TauJetContainer_v2 > l29; - ElementLink< xAOD::TauJetContainer_v2 > l30; - ElementLinkVector< xAOD::TauJetContainer_v2 > l31; - std::vector< DataLink< xAOD::TauJetContainer_v2 > > l32; - std::vector< ElementLink< xAOD::TauJetContainer_v2 > > l33; - std::vector< std::vector< ElementLink< xAOD::TauJetContainer_v2 > > > l34; - std::vector< ElementLinkVector< xAOD::TauJetContainer_v2 > > l35; - - - // Instantiate the classes used by xAOD::TauJetAuxContainer, so that - // Reflex would see them with their "correct type". Note that the - // dictionary for these types comes from other places. This instantiation - // is just needed for "Reflex related technical reasons"... - ElementLink< xAOD::TrackParticleContainer > auxlink1; - std::vector< ElementLink< xAOD::TrackParticleContainer > > auxlink2; - ElementLink< xAOD::JetContainer > auxlink3; - std::vector< ElementLink< xAOD::JetContainer > > auxlink4; - ElementLink< xAOD::PFOContainer > auxlink5; - std::vector< ElementLink< xAOD::PFOContainer > > auxlink6; - ElementLink< xAOD::VertexContainer > auxlink7; - std::vector< ElementLink< xAOD::VertexContainer > > auxlink8; - ElementLink< xAOD::TauTrackContainer > auxlink9; - std::vector< ElementLink< xAOD::TauTrackContainer > > auxlink10; + struct GCCXML_DUMMY_INSTANTIATION_XAODTAU { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TauJetContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TauJetContainer_v2 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TauJetContainer_v3 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, DiTauJetContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TauTrackContainer_v1 ); + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrackParticleContainer ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, VertexContainer ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JetContainer ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, PFOContainer ); }; } diff --git a/Event/xAOD/xAODTrigBphys/CMakeLists.txt b/Event/xAOD/xAODTrigBphys/CMakeLists.txt index 9fc1887f553f709f4d2c3644467ff82f92a3c863..a27d641423a21500af332f8392de215ca8bba5bd 100644 --- a/Event/xAOD/xAODTrigBphys/CMakeLists.txt +++ b/Event/xAOD/xAODTrigBphys/CMakeLists.txt @@ -1,34 +1,24 @@ -################################################################################ -# Package: xAODTrigBphys -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTrigBphys ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - Control/AthContainers - Event/xAOD/xAODCore - Event/xAOD/xAODTracking - PRIVATE - Control/AthLinks ) +# Pull in the helper CMake code. +find_package( xAODUtilities ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTrigBphys - Root/*.cxx - PUBLIC_HEADERS xAODTrigBphys - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES AthContainers xAODCore xAODTracking - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks ) - -atlas_add_dictionary( xAODTrigBphysDict - xAODTrigBphys/xAODTrigBphysDict.h - xAODTrigBphys/selection.xml - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers xAODCore xAODTracking AthLinks xAODTrigBphys - EXTRA_FILES Root/dict/*.cxx ) + xAODTrigBphys/*.h xAODTrigBphys/versions/*.h Root/*.cxx + PUBLIC_HEADERS xAODTrigBphys + LINK_LIBRARIES AthContainers AthLinks xAODCore xAODTracking ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTrigBphys/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::TrigBphysContainer_v1" ) +atlas_add_dictionary( xAODTrigBphysDict + xAODTrigBphys/xAODTrigBphysDict.h + ${_selectionFile} + LINK_LIBRARIES xAODTrigBphys + EXTRA_FILES Root/dict/*.cxx ) diff --git a/Event/xAOD/xAODTrigBphys/xAODTrigBphys/selection.xml b/Event/xAOD/xAODTrigBphys/xAODTrigBphys/selection.xml index 6dfe8352c559b92989694c9afdfdb57dcf5cc013..fd11c8a13f9692d87014873fe577e049e05c3f95 100644 --- a/Event/xAOD/xAODTrigBphys/xAODTrigBphys/selection.xml +++ b/Event/xAOD/xAODTrigBphys/xAODTrigBphys/selection.xml @@ -1,28 +1,16 @@ -<!-- $Id: selection.xml 646005 2015-02-11 13:20:20Z krasznaa $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- TrigBphys dictionaries --> - <class name="xAOD::TrigBphys_v1" /> - <class name="xAOD::TrigBphysContainer_v1" - id="FD05137E-421B-40B5-AB7C-D119C5490784" /> - <class name="xAOD::TrigBphysAuxContainer_v1" - id="C7246162-DB5D-4ACA-BF20-838A1B2BC4A3" /> + <!-- xAOD::TrigBphys interface type(s). --> + <class name="xAOD::TrigBphys_v1" /> + <class name="xAOD::TrigBphysContainer_v1" + id="FD05137E-421B-40B5-AB7C-D119C5490784" /> + <typedef name="xAOD::TrigBphys" /> + <typedef name="xAOD::TrigBphysContainer" /> - <class name="DataLink<xAOD::TrigBphysContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::TrigBphysContainer_v1> >" /> - - <class name="ElementLink<xAOD::TrigBphysContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TrigBphysContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigBphysContainer_v1> > >" /> - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - <class name="DataVector<xAOD::IParticle>" /> - <class name="ElementLink<DataVector<xAOD::IParticle> >" /> - <class name="ElementLink<DataVector<xAOD::TrackParticle_v1> >" /> - </exclusion> + <!-- xAOD::TrigBphys auxiliary type(s). --> + <class name="xAOD::TrigBphysAuxContainer_v1" + id="C7246162-DB5D-4ACA-BF20-838A1B2BC4A3" /> + <typedef name="xAOD::TrigBphysAuxContainer" /> </lcgdict> diff --git a/Event/xAOD/xAODTrigBphys/xAODTrigBphys/xAODTrigBphysDict.h b/Event/xAOD/xAODTrigBphys/xAODTrigBphys/xAODTrigBphysDict.h index f0ce4dc4e1ea36b591422a5839ba28bc9704c7d4..c2b6c7f0290bfcdcaac41aa9e9c47d41f6f96805 100644 --- a/Event/xAOD/xAODTrigBphys/xAODTrigBphys/xAODTrigBphysDict.h +++ b/Event/xAOD/xAODTrigBphys/xAODTrigBphys/xAODTrigBphysDict.h @@ -1,54 +1,29 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ +#ifndef XAODTRIGBPHYS_XAODTRIGBPHYSDICT_H +#define XAODTRIGBPHYS_XAODTRIGBPHYSDICT_H -// $Id: xAODTrigBphysDict.h 632753 2014-12-01 17:04:27Z jwalder $ -#ifndef XAODTRIGBPHYS_AODTRIGBPHYSDICT_H -#define XAODTRIGBPHYS_AODTRIGBPHYSDICT_H - -// Needed to successfully generate the dictionary in standalone mode: -#if defined(__GCCXML__) and not defined(EIGEN_DONT_VECTORIZE) -# define EIGEN_DONT_VECTORIZE -#endif // __GCCXML__ - -// STL include(s): -#include <vector> - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - -// Local include(s): +// Local include(s). +#include "xAODTrigBphys/TrigBphys.h" #include "xAODTrigBphys/TrigBphysContainer.h" +#include "xAODTrigBphys/TrigBphysAuxContainer.h" #include "xAODTrigBphys/versions/TrigBphys_v1.h" #include "xAODTrigBphys/versions/TrigBphysContainer_v1.h" #include "xAODTrigBphys/versions/TrigBphysAuxContainer_v1.h" -namespace{ - struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGBPHYS { - - xAOD::TrigBphysContainer_v1 bphys_l1; - ElementLink< xAOD::TrigBphysContainer_v1 > bphys_l2; - DataLink< xAOD::TrigBphysContainer_v1 > bphys_l3; - std::vector< ElementLink< xAOD::TrigBphysContainer_v1 > > bphys_l4; - std::vector< DataLink< xAOD::TrigBphysContainer_v1 > > bphys_l5; - std::vector< std::vector< ElementLink< xAOD::TrigBphysContainer_v1 > > > bphys_l6; - std::vector< std::vector< ElementLink< xAOD::TrackParticleContainer > > > bphys_17; +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" - // Instantiate the classes used by xAOD::xAODTrigBphys so that - // Reflex would see them with their "correct type". Note that the - // dictionary for these types comes from other places. This instantiation - // is just needed for "Reflex related technical reasons"... - ElementLink< xAOD::TrackParticleContainer > auxlink1; - std::vector< ElementLink< xAOD::TrackParticleContainer > > auxlink2; - std::vector< std::vector< ElementLink< xAOD::TrackParticleContainer > > > auxlink3; - - ElementLink< xAOD::IParticleContainer > auxlink4; - std::vector< ElementLink< xAOD::IParticleContainer > > auxlink5; - std::vector< std::vector< ElementLink< xAOD::IParticleContainer > > > auxlink6; - }; +// Instantiate all necessary types for the dictionary. +namespace{ + struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGBPHYS { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigBphysContainer_v1 ); + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrackParticleContainer ); + }; } -#endif // XAODTRIGBPHYS_AODTRIGBPHYSDICT_H +#endif // XAODTRIGBPHYS_XAODTRIGBPHYSDICT_H diff --git a/Event/xAOD/xAODTrigCalo/CMakeLists.txt b/Event/xAOD/xAODTrigCalo/CMakeLists.txt index b0bbbb5aab2fbac0a16fd3b9cbc501f6754ce416..70bdf84fa1fbc59d3c8411e596ded0ffb06a952e 100644 --- a/Event/xAOD/xAODTrigCalo/CMakeLists.txt +++ b/Event/xAOD/xAODTrigCalo/CMakeLists.txt @@ -1,34 +1,28 @@ -################################################################################ -# Package: xAODTrigCalo -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTrigCalo ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - Calorimeter/CaloGeoHelpers - Control/AthContainers - Event/xAOD/xAODCore - PRIVATE - Control/AthLinks ) +# Pull in the helper CMake code. +find_package( xAODUtilities ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTrigCalo - Root/*.cxx - PUBLIC_HEADERS xAODTrigCalo - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES CaloGeoHelpers AthContainers xAODCore - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks ) + xAODTrigCalo/*.h xAODTrigCalo/versions/*.h Root/*.cxx + PUBLIC_HEADERS xAODTrigCalo + LINK_LIBRARIES CaloGeoHelpers AthContainers xAODCore ) -atlas_add_dictionary( xAODTrigCaloDict - xAODTrigCalo/xAODTrigCaloDict.h - xAODTrigCalo/selection.xml - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} CaloGeoHelpers AthContainers xAODCore AthLinks xAODTrigCalo - EXTRA_FILES Root/dict/*.cxx ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTrigCalo/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::TrigCaloClusterContainer_v1" + "xAOD::TrigEMClusterContainer_v1" ) +atlas_add_dictionary( xAODTrigCaloDict + xAODTrigCalo/xAODTrigCaloDict.h + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTrigCalo + EXTRA_FILES Root/dict/*.cxx ) +# Generate CLIDs for the library explicitly. +atlas_generate_cliddb( xAODTrigCalo ) diff --git a/Event/xAOD/xAODTrigCalo/xAODTrigCalo/selection.xml b/Event/xAOD/xAODTrigCalo/xAODTrigCalo/selection.xml index 8f246e62c7a9510232927be8768dcce9f6525c64..712ae13c8ca2589ad5ce2742c9e89a778a0cbd9b 100644 --- a/Event/xAOD/xAODTrigCalo/xAODTrigCalo/selection.xml +++ b/Event/xAOD/xAODTrigCalo/xAODTrigCalo/selection.xml @@ -1,42 +1,35 @@ -<!-- $Id: selection.xml 692011 2015-08-28 17:19:22Z wigleswt $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- TrigCaloCluster_v1 dictionaries: --> - <class name="xAOD::TrigCaloCluster_v1" /> - <class name="xAOD::TrigCaloClusterContainer_v1" - id="0C7F7869-C67A-4E4A-8793-358F8B32DFEA" /> - <class name="xAOD::TrigCaloClusterAuxContainer_v1" - id="4A2F55AF-D465-42A8-A4CF-2DB84D9628E5" /> + <!-- xAOD::TrigCaloCluster interface type(s). --> + <class name="xAOD::TrigCaloCluster_v1" /> + <class name="xAOD::TrigCaloClusterContainer_v1" + id="0C7F7869-C67A-4E4A-8793-358F8B32DFEA" /> + <typedef name="xAOD::TrigCaloCluster" /> + <typedef name="xAOD::TrigCaloClusterContainer" /> - <class name="ElementLink<xAOD::TrigCaloClusterContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TrigCaloClusterContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigCaloClusterContainer_v1> > >" /> + <!-- xAOD::TrigCaloCluster auxiliary type(s). --> + <class name="xAOD::TrigCaloClusterAuxContainer_v1" + id="4A2F55AF-D465-42A8-A4CF-2DB84D9628E5" /> + <typedef name="xAOD::TrigCaloClusterAuxContainer" /> - <!-- TrigEMCluster_v1 dictionaries: --> - <class name="xAOD::TrigEMCluster_v1" /> - <class name="xAOD::TrigEMClusterContainer_v1" - id="B37C59EC-1A1E-467C-BFCE-52EA08694C60" /> - <class name="xAOD::TrigEMClusterAuxContainer_v1" - id="CE08F151-A2BA-44ED-B854-7D8B9C8679DE" /> + <!-- xAOD::TrigEMCluster interface type(s). --> + <class name="xAOD::TrigEMCluster_v1" /> + <class name="xAOD::TrigEMClusterContainer_v1" + id="B37C59EC-1A1E-467C-BFCE-52EA08694C60" /> + <typedef name="xAOD::TrigEMCluster" /> + <typedef name="xAOD::TrigEMClusterContainer" /> - <!-- TrigEMCluster_v2 dictionaries: --> - <class name="xAOD::TrigEMClusterAuxContainer_v2" - id="2AC227DF-EE58-4469-AE60-F066F75DC0DD" /> + <!-- xAOD::TrigEMCluster auxiliary type(s). --> + <class name="xAOD::TrigEMClusterAuxContainer_v1" + id="CE08F151-A2BA-44ED-B854-7D8B9C8679DE" /> + <class name="xAOD::TrigEMClusterAuxContainer_v2" + id="2AC227DF-EE58-4469-AE60-F066F75DC0DD" /> + <typedef name="xAOD::TrigEMClusterAuxContainer" /> - <class name="ElementLink<xAOD::TrigEMClusterContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TrigEMClusterContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigEMClusterContainer_v1> > >" /> - - - <class name="xAOD::CaloClusterTrigAuxContainer_v1" - id="F25EBF21-75CD-4CB7-B33E-76B46213A49B" /> - - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - </exclusion> + <!-- xAOD::CaloCluster auxiliary type(s). --> + <class name="xAOD::CaloClusterTrigAuxContainer_v1" + id="F25EBF21-75CD-4CB7-B33E-76B46213A49B" /> + <typedef name="xAOD::CaloClusterTrigAuxContainer" /> </lcgdict> diff --git a/Event/xAOD/xAODTrigCalo/xAODTrigCalo/xAODTrigCaloDict.h b/Event/xAOD/xAODTrigCalo/xAODTrigCalo/xAODTrigCaloDict.h index b698d215db835f86e107c888856a8caf573ab438..35d8e7c8a02b7a2bfcdf46bb354ce50cf57926d3 100644 --- a/Event/xAOD/xAODTrigCalo/xAODTrigCalo/xAODTrigCaloDict.h +++ b/Event/xAOD/xAODTrigCalo/xAODTrigCalo/xAODTrigCaloDict.h @@ -1,47 +1,39 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODTrigCaloDict.h 692011 2015-08-28 17:19:22Z wigleswt $ #ifndef XAODTRIGCALO_XAODTRIGCALODICT_H #define XAODTRIGCALO_XAODTRIGCALODICT_H -// STL include(s): -#include <vector> - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - // Local include(s): +#include "xAODTrigCalo/TrigCaloCluster.h" #include "xAODTrigCalo/TrigCaloClusterContainer.h" +#include "xAODTrigCalo/TrigCaloClusterAuxContainer.h" #include "xAODTrigCalo/versions/TrigCaloCluster_v1.h" #include "xAODTrigCalo/versions/TrigCaloClusterContainer_v1.h" #include "xAODTrigCalo/versions/TrigCaloClusterAuxContainer_v1.h" +#include "xAODTrigCalo/TrigEMCluster.h" #include "xAODTrigCalo/TrigEMClusterContainer.h" +#include "xAODTrigCalo/TrigEMClusterAuxContainer.h" #include "xAODTrigCalo/versions/TrigEMCluster_v1.h" #include "xAODTrigCalo/versions/TrigEMClusterContainer_v1.h" #include "xAODTrigCalo/versions/TrigEMClusterAuxContainer_v1.h" #include "xAODTrigCalo/versions/TrigEMClusterAuxContainer_v2.h" +#include "xAODTrigCalo/CaloClusterTrigAuxContainer.h" #include "xAODTrigCalo/versions/CaloClusterTrigAuxContainer_v1.h" -namespace{ - struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGCALO { - - xAOD::TrigCaloClusterContainer_v1 c3; - ElementLink< xAOD::TrigCaloClusterContainer_v1 > a1; - std::vector< ElementLink< xAOD::TrigCaloClusterContainer_v1 > > a3; - std::vector< std::vector< ElementLink< xAOD::TrigCaloClusterContainer_v1 > > > a4; +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" - xAOD::TrigEMClusterContainer_v1 c4; - ElementLink< xAOD::TrigEMClusterContainer_v1 > b1; - std::vector< ElementLink< xAOD::TrigEMClusterContainer_v1 > > b3; - std::vector< std::vector< ElementLink< xAOD::TrigEMClusterContainer_v1 > > > b4; - }; +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGCALO { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigCaloClusterContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigEMClusterContainer_v1 ); + }; } #endif // XAODTRIGCALO_XAODTRIGCALODICT_H diff --git a/Event/xAOD/xAODTrigEgamma/CMakeLists.txt b/Event/xAOD/xAODTrigEgamma/CMakeLists.txt index 65e4c29ef34323c25230c63d0c35c4470a9cea18..8bb8251d77203cd4f378680e4a6cd134dc3d77b8 100644 --- a/Event/xAOD/xAODTrigEgamma/CMakeLists.txt +++ b/Event/xAOD/xAODTrigEgamma/CMakeLists.txt @@ -1,45 +1,27 @@ -################################################################################ -# Package: xAODTrigEgamma -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTrigEgamma ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - Control/AthContainers - Control/AthLinks - Event/xAOD/xAODBase - Event/xAOD/xAODCaloEvent - Event/xAOD/xAODCore - Event/xAOD/xAODEgamma - Event/xAOD/xAODTracking - Event/xAOD/xAODTrigCalo ) +# External dependencies. +find_package( ROOT COMPONENTS Core GenVector ) +find_package( xAODUtilities ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread GenVector ) - -# Extra dependencies, based on what environment we are in: -if (BUILDVP1LIGHT) - if( BUILDVP1LIGHT_DIST STREQUAL "ubuntu") - set( extra_libs GenVector ) - endif() -endif() - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTrigEgamma - Root/*.cxx - PUBLIC_HEADERS xAODTrigEgamma - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES AthContainers AthLinks xAODBase xAODCaloEvent xAODCore xAODEgamma xAODTracking xAODTrigCalo - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${extra_libs} ) + xAODTrigEgamma/*.h xAODTrigEgamma/versions/*.h Root/*.cxx + PUBLIC_HEADERS xAODTrigEgamma + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODBase + xAODCaloEvent xAODCore xAODEgamma xAODTracking xAODTrigCalo ) -atlas_add_dictionary( xAODTrigEgammaDict - xAODTrigEgamma/xAODTrigEgammaDict.h - xAODTrigEgamma/selection.xml - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks - xAODBase xAODCaloEvent xAODCore xAODEgamma xAODTracking - xAODTrigCalo xAODTrigEgamma ${extra_libs} - EXTRA_FILES Root/dict/*.cxx ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTrigEgamma/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::TrigPhotonContainer_v1" "xAOD::TrigElectronContainer_v1" ) +atlas_add_dictionary( xAODTrigEgammaDict + xAODTrigEgamma/xAODTrigEgammaDict.h + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTrigEgamma + EXTRA_FILES Root/dict/*.cxx ) diff --git a/Event/xAOD/xAODTrigEgamma/xAODTrigEgamma/selection.xml b/Event/xAOD/xAODTrigEgamma/xAODTrigEgamma/selection.xml index 1bc649d8ace6673a5df64339a239e8a767d97e2a..97a1e870b45af7493c2b839e236d19a6c9dcf720 100644 --- a/Event/xAOD/xAODTrigEgamma/xAODTrigEgamma/selection.xml +++ b/Event/xAOD/xAODTrigEgamma/xAODTrigEgamma/selection.xml @@ -1,49 +1,37 @@ -<!-- $Id: selection.xml 705788 2015-11-04 13:06:35Z krasznaa $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- TrigPhoton_v1 dictionaries: --> - <class name="xAOD::TrigPhoton_v1"/> - - <class name="xAOD::TrigPhotonContainer_v1" - id="DA2CDAF5-B0E8-4502-89A3-E342DFA9C250" /> - <class name="xAOD::TrigPhotonAuxContainer_v1" - id="36B8B9E3-8F5E-4356-9315-EF4FA6959624" /> - - <class name="DataLink<xAOD::TrigPhotonContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::TrigPhotonContainer_v1> >" /> - - <class name="ElementLink<xAOD::TrigPhotonContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TrigPhotonContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigPhotonContainer_v1> > >" /> - - <!-- TrigElectron_v1 dictionaries: --> - <class name="xAOD::TrigElectron_v1" /> - - <class name="xAOD::TrigElectronContainer_v1" - id="3492BB27-3ED8-45E3-9A5B-7266949CEDA9" /> - <class name="xAOD::TrigElectronAuxContainer_v1" - id="173425E6-51BB-4015-B960-3F7F83F26B9E" /> - - <class name="DataLink<xAOD::TrigElectronContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::TrigElectronContainer_v1> >" /> - - <class name="ElementLink<xAOD::TrigElectronContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TrigElectronContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigElectronContainer_v1> > >" /> - - <class name="xAOD::ElectronTrigAuxContainer_v1" - id="359610D5-3AEA-4DB4-837E-4C93F81014C2" /> - <class name="xAOD::PhotonTrigAuxContainer_v1" - id="863989DB-F18B-4D93-A019-F3CBFF726176" /> - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - <class name="DataVector<xAOD::IParticle>" /> - <class name="ElementLink<DataVector<xAOD::TrackParticle_v1> >" /> - <class name="ElementLink<DataVector<xAOD::TrigEMCluster_v1> >" /> - </exclusion> + <!-- xAOD::TrigPhoton interface type(s). --> + <class name="xAOD::TrigPhoton_v1"/> + <class name="xAOD::TrigPhotonContainer_v1" + id="DA2CDAF5-B0E8-4502-89A3-E342DFA9C250" /> + <typedef name="xAOD::TrigPhoton" /> + <typedef name="xAOD::TrigPhotonContainer" /> + + <!-- xAOD::TrigPhoton auxiliary type(s). --> + <class name="xAOD::TrigPhotonAuxContainer_v1" + id="36B8B9E3-8F5E-4356-9315-EF4FA6959624" /> + <typedef name="xAOD::TrigPhotonAuxContainer" /> + + <!-- xAOD::TrigElectron interface type(s). --> + <class name="xAOD::TrigElectron_v1" /> + <class name="xAOD::TrigElectronContainer_v1" + id="3492BB27-3ED8-45E3-9A5B-7266949CEDA9" /> + <typedef name="xAOD::TrigElectron" /> + <typedef name="xAOD::TrigElectronContainer" /> + + <!-- xAOD::TrigElectron auxiliary type(s). --> + <class name="xAOD::TrigElectronAuxContainer_v1" + id="173425E6-51BB-4015-B960-3F7F83F26B9E" /> + <typedef name="xAOD::TrigElectronAuxContainer" /> + + <!-- xAODEgamma auxiliary type(s). --> + <class name="xAOD::ElectronTrigAuxContainer_v1" + id="359610D5-3AEA-4DB4-837E-4C93F81014C2" /> + <typedef name="xAOD::ElectronTrigAuxContainer" /> + + <class name="xAOD::PhotonTrigAuxContainer_v1" + id="863989DB-F18B-4D93-A019-F3CBFF726176" /> + <typedef name="xAOD::PhotonTrigAuxContainer" /> </lcgdict> diff --git a/Event/xAOD/xAODTrigEgamma/xAODTrigEgamma/xAODTrigEgammaDict.h b/Event/xAOD/xAODTrigEgamma/xAODTrigEgamma/xAODTrigEgammaDict.h index 15f8da8169d31550c95fb803f369e8dde431edb2..2782b8549cd7f116d5a6382887f8a479b91272eb 100644 --- a/Event/xAOD/xAODTrigEgamma/xAODTrigEgamma/xAODTrigEgammaDict.h +++ b/Event/xAOD/xAODTrigEgamma/xAODTrigEgamma/xAODTrigEgammaDict.h @@ -1,32 +1,21 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODTrigEgammaDict.h 690869 2015-08-24 09:22:25Z rwhite $ #ifndef XAODTRIGEGAMMA_XAODTRIGEGAMMADICT_H #define XAODTRIGEGAMMA_XAODTRIGEGAMMADICT_H -// Needed to successfully generate the dictionary in standalone mode: -#if defined(__GCCXML__) and not defined(EIGEN_DONT_VECTORIZE) -# define EIGEN_DONT_VECTORIZE -#endif // __GCCXML__ - -// STL include(s): -#include <vector> - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - -//Local include(s) +// Local include(s). +#include "xAODTrigEgamma/TrigPhoton.h" #include "xAODTrigEgamma/TrigPhotonContainer.h" +#include "xAODTrigEgamma/TrigPhotonAuxContainer.h" #include "xAODTrigEgamma/versions/TrigPhoton_v1.h" #include "xAODTrigEgamma/versions/TrigPhotonContainer_v1.h" #include "xAODTrigEgamma/versions/TrigPhotonAuxContainer_v1.h" +#include "xAODTrigEgamma/TrigElectron.h" #include "xAODTrigEgamma/TrigElectronContainer.h" +#include "xAODTrigEgamma/TrigElectronAuxContainer.h" #include "xAODTrigEgamma/versions/TrigElectron_v1.h" #include "xAODTrigEgamma/versions/TrigElectronContainer_v1.h" #include "xAODTrigEgamma/versions/TrigElectronAuxContainer_v1.h" @@ -36,31 +25,20 @@ #include "xAODTrigEgamma/versions/ElectronTrigAuxContainer_v1.h" #include "xAODTrigEgamma/versions/PhotonTrigAuxContainer_v1.h" +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" + +// Instantiate all necessary types for the dictionary. namespace{ struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGEGAMMA { - - xAOD::TrigElectronContainer_v1 electron_c1; - DataLink< xAOD::TrigElectronContainer_v1 > electron_dl1; - std::vector< DataLink< xAOD::TrigElectronContainer_v1 > > electron_dl2; - ElementLink< xAOD::TrigElectronContainer_v1 > electron_el1; - std::vector< ElementLink< xAOD::TrigElectronContainer_v1 > > electron_el2; - std::vector< std::vector< ElementLink< xAOD::TrigElectronContainer_v1 > > > electron_el3; - - xAOD::TrigPhotonContainer_v1 photon_c1; - DataLink< xAOD::TrigPhotonContainer_v1 > photon_dl1; - std::vector< DataLink< xAOD::TrigPhotonContainer_v1 > > photon_dl2; - ElementLink< xAOD::TrigPhotonContainer_v1 > photon_el1; - std::vector< ElementLink< xAOD::TrigPhotonContainer_v1 > > photon_el2; - std::vector< std::vector< ElementLink< xAOD::TrigPhotonContainer_v1 > > > photon_el3; - - // Declarations needed in order to generate the dictionaries of the - // auxiliary containers correctly: - ElementLink< xAOD::TrigEMClusterContainer > dummy1; - std::vector< ElementLink< xAOD::TrigEMClusterContainer > > dummy2; - ElementLink< xAOD::TrackParticleContainer > dummy3; - std::vector< ElementLink< xAOD::TrackParticleContainer > > dummy4; - + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigElectronContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigPhotonContainer_v1 ); + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigEMClusterContainer ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrackParticleContainer ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, VertexContainer ); }; -} // private namespace +} #endif // XAODTRIGEGAMMA_XAODTRIGEGAMMADICT_H diff --git a/Event/xAOD/xAODTrigL1Calo/CMakeLists.txt b/Event/xAOD/xAODTrigL1Calo/CMakeLists.txt index e3bb7e36ad80f61b07ba08d8a6f4a719fc5f6033..6a2a6963d715c008cbd8331970d3470946c7c228 100644 --- a/Event/xAOD/xAODTrigL1Calo/CMakeLists.txt +++ b/Event/xAOD/xAODTrigL1Calo/CMakeLists.txt @@ -1,41 +1,39 @@ -################################################################################ -# Package: xAODTrigL1Calo -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTrigL1Calo ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - Control/AthContainers - Event/xAOD/xAODBase - Event/xAOD/xAODCore - PRIVATE - Control/AthLinks ) - -# External dependencies: -find_package( ROOT COMPONENTS Physics Core Tree MathCore Hist RIO pthread GenVector ) - -# Extra dependencies, based on what environment we are in: -if (BUILDVP1LIGHT) - if( BUILDVP1LIGHT_DIST STREQUAL "ubuntu") - set( extra_libs GenVector ) - endif() -endif() +# External dependencies. +find_package( ROOT COMPONENTS Core GenVector ) +find_package( xAODUtilities ) -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTrigL1Calo - Root/*.cxx - PUBLIC_HEADERS xAODTrigL1Calo - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES AthContainers xAODBase xAODCore - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks ${extra_libs} ) + xAODTrigL1Calo/*.h xAODTrigL1Calo/versions/*.h Root/*.cxx + PUBLIC_HEADERS xAODTrigL1Calo + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers xAODBase xAODCore ) -atlas_add_dictionary( xAODTrigL1CaloDict - xAODTrigL1Calo/xAODTrigL1CaloDict.h - xAODTrigL1Calo/selection.xml - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${extra_libs} AthContainers xAODBase xAODCore AthLinks xAODTrigL1Calo - EXTRA_FILES Root/dict/*.cxx ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTrigL1Calo/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::JEMHitsContainer_v1" "xAOD::JEMEtSumsContainer_v1" + "xAOD::JEMRoIContainer_v1" "xAOD::CPMHitsContainer_v1" + "xAOD::CPMTowerContainer_v1" "xAOD::CPMRoIContainer_v1" + "xAOD::CMMCPHitsContainer_v1" "xAOD::CMMEtSumsContainer_v1" + "xAOD::CMMJetHitsContainer_v1" "xAOD::JetElementContainer_v1" + "xAOD::RODHeaderContainer_v1" "xAOD::RODHeaderContainer_v2" + "xAOD::TriggerTowerContainer_v1" "xAOD::TriggerTowerContainer_v2" + "xAOD::CMXCPHitsContainer_v1" "xAOD::CMXCPTobContainer_v1" + "xAOD::CMXJetHitsContainer_v1" "xAOD::CMXJetTobContainer_v1" + "xAOD::CMXEtSumsContainer_v1" "xAOD::CMXRoIContainer_v1" + "xAOD::CPMTowerContainer_v2" "xAOD::CPMTobRoIContainer_v1" + "xAOD::JEMEtSumsContainer_v2" "xAOD::JEMTobRoIContainer_v1" + "xAOD::JetElementContainer_v2" "xAOD::L1TopoRawDataContainer_v1" + OBJECTS "xAOD::CMMRoI_v1" ) +atlas_add_dictionary( xAODTrigL1CaloDict + xAODTrigL1Calo/xAODTrigL1CaloDict.h + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTrigL1Calo + EXTRA_FILES Root/dict/*.cxx ) diff --git a/Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/selection.xml b/Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/selection.xml index 8b978f9fbc4c3bf80b117ca78279c8cc3053a0e0..3922b4a6e1ce935a25c679b2bb8ec4adaf7f656a 100644 --- a/Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/selection.xml +++ b/Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/selection.xml @@ -1,23 +1,28 @@ +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- dictionaries: --> - <!-- Run1 EDM --> - - <!-- JEMHits --> + + <!-- JEMHits --> <class name="xAOD::JEMHits_v1" /> <class name="xAOD::JEMHitsContainer_v1" id="070F54C6-320D-4F22-BD42-C87C6AF99C38" /> <class name="xAOD::JEMHitsAuxContainer_v1" - id="CE2C5182-53DD-46E0-9DFA-61C214A8FCE5" /> - + id="CE2C5182-53DD-46E0-9DFA-61C214A8FCE5" /> + <typedef name="xAOD::JEMHits" /> + <typedef name="xAOD::JEMHitsContainer" /> + <typedef name="xAOD::JEMHitsAuxContainer" /> + <!-- JEMEtSums --> <class name="xAOD::JEMEtSums_v1" /> <class name="xAOD::JEMEtSumsContainer_v1" id="DDB6D476-D1E2-490E-A81B-8D4FC65F1D81" /> <class name="xAOD::JEMEtSumsAuxContainer_v1" - id="4D3C658D-597A-414E-AAA3-BE61A1D664C3" /> - + id="4D3C658D-597A-414E-AAA3-BE61A1D664C3" /> + <typedef name="xAOD::JEMEtSums" /> + <typedef name="xAOD::JEMEtSumsContainer" /> + <typedef name="xAOD::JEMEtSumsAuxContainer" /> + <!-- JEMRoI --> <class name="xAOD::JEMRoI_v1"> <field name="s_wordIdVal" transient="true"/> @@ -45,24 +50,32 @@ <class name="xAOD::JEMRoIContainer_v1" id="52384828-A57D-477D-A8C8-597C78D02686" /> <class name="xAOD::JEMRoIAuxContainer_v1" - id="959C24E5-9746-4C70-83FA-A0140C710039" /> - + id="959C24E5-9746-4C70-83FA-A0140C710039" /> + <typedef name="xAOD::JEMRoI" /> + <typedef name="xAOD::JEMRoIContainer" /> + <typedef name="xAOD::JEMRoIAuxContainer" /> - <!-- CPMHits --> + <!-- CPMHits --> <class name="xAOD::CPMHits_v1" /> <class name="xAOD::CPMHitsContainer_v1" id="3D15DF3F-E014-42E3-9614-37E4CD535F9C" /> <class name="xAOD::CPMHitsAuxContainer_v1" - id="28FCEB20-A9DC-4FED-9FDD-00F46948E92E" /> - - <!-- CPMTower --> + id="28FCEB20-A9DC-4FED-9FDD-00F46948E92E" /> + <typedef name="xAOD::CPMHits" /> + <typedef name="xAOD::CPMHitsContainer" /> + <typedef name="xAOD::CPMHitsAuxContainer" /> + + <!-- CPMTower --> <class name="xAOD::CPMTower_v1" /> <class name="xAOD::CPMTowerContainer_v1" id="D220C61E-ECD1-427C-86D0-2C88E00ABBD2" /> <class name="xAOD::CPMTowerAuxContainer_v1" - id="529B6BD7-7B7D-438C-94D7-BAA49A022C47" /> - - <!-- CPMRoI --> + id="529B6BD7-7B7D-438C-94D7-BAA49A022C47" /> + <typedef name="xAOD::CPMTower" /> + <typedef name="xAOD::CPMTowerContainer" /> + <typedef name="xAOD::CPMTowerAuxContainer" /> + + <!-- CPMRoI --> <class name="xAOD::CPMRoI_v1"> <field name="s_wordIdVal" transient="true"/> <field name="s_wordIdBit" transient="true"/> @@ -71,98 +84,121 @@ <field name="s_chipBit" transient="true"/> <field name="s_locationBit" transient="true"/> <field name="s_parityBit" transient="true"/> - <field name="s_saturationBit" transient="true"/> + <field name="s_saturationBit" transient="true"/> <field name="s_hitsBit" transient="true"/> - <field name="s_wordIdMask" transient="true"/> + <field name="s_wordIdMask" transient="true"/> <field name="s_crateMask" transient="true"/> - <field name="s_cpmMask" transient="true"/> + <field name="s_cpmMask" transient="true"/> <field name="s_chipMask" transient="true"/> - <field name="s_locationMask" transient="true"/> + <field name="s_locationMask" transient="true"/> <field name="s_parityMask" transient="true"/> - <field name="s_saturationMask" transient="true"/> + <field name="s_saturationMask" transient="true"/> <field name="s_hitsMask" transient="true"/> - </class> + </class> <class name="xAOD::CPMRoIContainer_v1" id="4B48CC07-6B22-46EC-9BD5-51379664B9BC" /> <class name="xAOD::CPMRoIAuxContainer_v1" - id="8FA92C8D-214F-4B8F-84CA-CB7267CAD0F2" /> + id="8FA92C8D-214F-4B8F-84CA-CB7267CAD0F2" /> + <typedef name="xAOD::CPMRoI" /> + <typedef name="xAOD::CPMRoIContainer" /> + <typedef name="xAOD::CPMRoIAuxContainer" /> - <!-- CMMCPHits --> + <!-- CMMCPHits --> <class name="xAOD::CMMCPHits_v1" /> <class name="xAOD::CMMCPHitsContainer_v1" id="8826CC48-CD08-4FD7-9AC4-358A4888271F" /> <class name="xAOD::CMMCPHitsAuxContainer_v1" id="1951D4B4-D471-4256-8F0D-D666043E2889" /> + <typedef name="xAOD::CMMCPHits" /> + <typedef name="xAOD::CMMCPHitsContainer" /> + <typedef name="xAOD::CMMCPHitsAuxContainer" /> - <!-- CMMEtSums --> + <!-- CMMEtSums --> <class name="xAOD::CMMEtSums_v1" /> <class name="xAOD::CMMEtSumsContainer_v1" id="186A613D-0C91-4880-9B09-B41C28B17B53" /> <class name="xAOD::CMMEtSumsAuxContainer_v1" - id="A072EDD3-880D-46D0-A120-48C116FDB14E" /> - - <!-- CMMJetHits --> + id="A072EDD3-880D-46D0-A120-48C116FDB14E" /> + <typedef name="xAOD::CMMEtSums" /> + <typedef name="xAOD::CMMEtSumsContainer" /> + <typedef name="xAOD::CMMEtSumsAuxContainer" /> + + <!-- CMMJetHits --> <class name="xAOD::CMMJetHits_v1" /> <class name="xAOD::CMMJetHitsContainer_v1" id="43B6130D-4C3F-4E22-9FE2-680E6DFA149F" /> <class name="xAOD::CMMJetHitsAuxContainer_v1" - id="B3C8D000-0E7F-4A0D-8F05-6DA36FFC9DD7" /> - - <!-- CMMRoI --> - <class name="xAOD::CMMRoI_v1" + id="B3C8D000-0E7F-4A0D-8F05-6DA36FFC9DD7" /> + <typedef name="xAOD::CMMJetHits" /> + <typedef name="xAOD::CMMJetHitsContainer" /> + <typedef name="xAOD::CMMJetHitsAuxContainer" /> + + <!-- CMMRoI --> + <class name="xAOD::CMMRoI_v1" id="2BA7B6B2-69C6-40E8-8D2A-0398371EDC81" /> <class name="xAOD::CMMRoIAuxInfo_v1" - id="B0CAB5B5-6B6B-437D-B353-1397C1F01B7E" /> - + id="B0CAB5B5-6B6B-437D-B353-1397C1F01B7E" /> + <typedef name="xAOD::CMMRoI" /> + <typedef name="xAOD::CMMRoIAuxInfo" /> - <!-- JetElement --> + <!-- JetElement --> <class name="xAOD::JetElement_v1"> - <field name="m_saturationThreshold" transient="true"/> + <field name="m_saturationThreshold" transient="true"/> <field name="m_layerSaturationThreshold" transient="true"/> - </class> + </class> <class name="xAOD::JetElementContainer_v1" id="B1103844-7187-4305-B20A-748591A54145" /> <class name="xAOD::JetElementAuxContainer_v1" - id="7A0A2307-5729-4306-B520-4F75BBCC8E76" /> - - <!-- RODHeader --> + id="7A0A2307-5729-4306-B520-4F75BBCC8E76" /> + <typedef name="xAOD::JetElement" /> + <typedef name="xAOD::JetElementContainer" /> + <typedef name="xAOD::JetElementAuxContainer" /> + + <!-- RODHeader --> <class name="xAOD::RODHeader_v1" /> <class name="xAOD::RODHeaderContainer_v1" id="AA0924D2-23E2-47B3-8C7D-9D3B104B8990" /> <class name="xAOD::RODHeaderAuxContainer_v1" - id="6524E46D-CC9C-43D2-BAE0-55310A6B316C" /> + id="6524E46D-CC9C-43D2-BAE0-55310A6B316C" /> + <typedef name="xAOD::RODHeader" /> + <typedef name="xAOD::RODHeaderContainer" /> + <typedef name="xAOD::RODHeaderAuxContainer" /> - <!-- RODHeader Run2 EDM--> + <!-- RODHeader Run2 EDM--> <class name="xAOD::RODHeader_v2" /> <class name="xAOD::RODHeaderContainer_v2" id="98368E90-F392-41D8-850C-317B65034544" /> <class name="xAOD::RODHeaderAuxContainer_v2" - id="A94BA0CD-E57C-4C69-ADA1-CCB91BC0C36F" /> - - <!-- TriggerTower --> + id="A94BA0CD-E57C-4C69-ADA1-CCB91BC0C36F" /> + + <!-- TriggerTower --> <class name="xAOD::TriggerTower_v1" /> <class name="xAOD::TriggerTowerContainer_v1" id="DE2A7891-B5FE-4811-8178-EF106743312C" /> <class name="xAOD::TriggerTowerAuxContainer_v1" id="3C5D20CF-6F77-4E67-B182-674EDFD2FE38" /> - - + <typedef name="xAOD::TriggerTower" /> + <typedef name="xAOD::TriggerTowerContainer" /> + <typedef name="xAOD::TriggerTowerAuxContainer" /> + <!-- Moving onto Run2 EDM --> - - <!-- TriggerTower --> + + <!-- TriggerTower --> <class name="xAOD::TriggerTower_v2" /> <class name="xAOD::TriggerTowerContainer_v2" id="730DE7B8-C24A-4567-A66D-0386DC50E9AC" /> <class name="xAOD::TriggerTowerAuxContainer_v2" - id="07FF691A-A920-43B2-A4E7-637D335E6929" /> - + id="07FF691A-A920-43B2-A4E7-637D335E6929" /> + <!-- CMXCPHits_v1 --> <class name="xAOD::CMXCPHits_v1" /> <class name="xAOD::CMXCPHitsContainer_v1" id="96ED5A94-473C-4E96-A348-78077310635F" /> <class name="xAOD::CMXCPHitsAuxContainer_v1" id="F3F8A07D-536B-42EB-9792-E08DB1F76C1F" /> - + <typedef name="xAOD::CMXCPHits" /> + <typedef name="xAOD::CMXCPHitsContainer" /> + <typedef name="xAOD::CMXCPHitsAuxContainer" /> <!-- CMXCPTob_v1 --> <class name="xAOD::CMXCPTob_v1" /> @@ -170,7 +206,9 @@ id="5E70EF98-47ED-441F-8CC3-F1906AA2E8CD" /> <class name="xAOD::CMXCPTobAuxContainer_v1" id="B4A55AC8-3D30-42AF-B954-82DA7D8A07CB" /> - + <typedef name="xAOD::CMXCPTob" /> + <typedef name="xAOD::CMXCPTobContainer" /> + <typedef name="xAOD::CMXCPTobAuxContainer" /> <!-- CMXJetHits_v1 --> <class name="xAOD::CMXJetHits_v1" /> @@ -178,7 +216,9 @@ id="492E21EF-A9B0-4262-80EE-4ADECDEA44E7" /> <class name="xAOD::CMXJetHitsAuxContainer_v1" id="509DB371-6A95-4DE1-B950-751B99EBF5EC" /> - + <typedef name="xAOD::CMXJetHits" /> + <typedef name="xAOD::CMXJetHitsContainer" /> + <typedef name="xAOD::CMXJetHitsAuxContainer" /> <!-- CMXJetTob_v1 --> <class name="xAOD::CMXJetTob_v1" /> @@ -186,7 +226,9 @@ id="4116184D-A8AF-43B1-9990-9DF5C1010AB6" /> <class name="xAOD::CMXJetTobAuxContainer_v1" id="094F5655-229B-49BE-870D-1E4D13866CED" /> - + <typedef name="xAOD::CMXJetTob" /> + <typedef name="xAOD::CMXJetTobContainer" /> + <typedef name="xAOD::CMXJetTobAuxContainer" /> <!-- CMXEtSums_v1 --> <class name="xAOD::CMXEtSums_v1" /> @@ -194,8 +236,11 @@ id="751F0DD4-FF7F-4950-9928-3198DA4B1AB4" /> <class name="xAOD::CMXEtSumsAuxContainer_v1" id="B96297C3-769B-4084-9524-9D4D233B4896" /> - - <!-- CMXRoI_v1 --> + <typedef name="xAOD::CMXEtSums" /> + <typedef name="xAOD::CMXEtSumsContainer" /> + <typedef name="xAOD::CMXEtSumsAuxContainer" /> + + <!-- CMXRoI_v1 --> <class name="xAOD::CMXRoI_v1" > <field name="s_wordIdVal0" transient="true"/> <field name="s_wordIdVal1" transient="true"/> @@ -204,116 +249,114 @@ <field name="s_sumEtHitsBit" transient="true"/> <field name="s_missingEtHitsBit" transient="true"/> <field name="s_missingEtSigHitsBit" transient="true"/> - <field name="s_energyBit" transient="true"/> + <field name="s_energyBit" transient="true"/> <field name="s_overflowBit" transient="true"/> - <field name="s_sumTypeBit" transient="true"/> + <field name="s_sumTypeBit" transient="true"/> <field name="s_wordIdMask" transient="true"/> - <field name="s_sumEtHitsMask" transient="true"/> + <field name="s_sumEtHitsMask" transient="true"/> <field name="s_missingEtHitsMask" transient="true"/> - <field name="s_missingEtSigHitsMask" transient="true"/> + <field name="s_missingEtSigHitsMask" transient="true"/> <field name="s_energyMask" transient="true"/> - <field name="s_overflowMask" transient="true"/> - <field name="s_sumTypeMask" transient="true"/> - <field name="s_exOffset" transient="true"/> + <field name="s_overflowMask" transient="true"/> + <field name="s_sumTypeMask" transient="true"/> + <field name="s_exOffset" transient="true"/> <field name="s_eyOffset" transient="true"/> - <field name="s_etOffset" transient="true"/> + <field name="s_etOffset" transient="true"/> <field name="s_maxRoiWords" transient="true"/> - </class> + </class> <class name="xAOD::CMXRoIContainer_v1" - id="37420C80-6007-43B0-ADD3-63FAF6088EC8"/> + id="37420C80-6007-43B0-ADD3-63FAF6088EC8" /> <class name="xAOD::CMXRoIAuxContainer_v1" - id="501FFFE3-9788-4A3C-9151-8466F32EF2B4" /> + id="501FFFE3-9788-4A3C-9151-8466F32EF2B4" /> + <typedef name="xAOD::CMXRoI" /> + <typedef name="xAOD::CMXRoIContainer" /> + <typedef name="xAOD::CMXRoIAuxContainer" /> - - <!-- CPMTower_v2 --> + <!-- CPMTower_v2 --> <class name="xAOD::CPMTower_v2" /> <class name="xAOD::CPMTowerContainer_v2" id="87CC5511-E7E5-4068-8F40-F44B0A1E9A3F" /> <class name="xAOD::CPMTowerAuxContainer_v2" - id="E41859F4-0B8B-412B-A697-2B5A22C5B720" /> - + id="E41859F4-0B8B-412B-A697-2B5A22C5B720" /> + <!-- CPMTobRoI_v1 --> <class name="xAOD::CPMTobRoI_v1"> <field name="s_wordIdVal" transient="true"/> <field name="s_wordIdBit" transient="true"/> <field name="s_crateBit" transient="true"/> - <field name="s_cpmBit" transient="true"/> + <field name="s_cpmBit" transient="true"/> <field name="s_chipBit" transient="true"/> <field name="s_locationBit" transient="true"/> <field name="s_isolBit" transient="true"/> - <field name="s_energyBit" transient="true"/> + <field name="s_energyBit" transient="true"/> <field name="s_wordIdMask" transient="true"/> <field name="s_crateMask" transient="true"/> <field name="s_cpmMask" transient="true"/> - <field name="s_chipMask" transient="true"/> + <field name="s_chipMask" transient="true"/> <field name="s_locationMask" transient="true"/> <field name="s_isolMask" transient="true"/> <field name="s_energyMask" transient="true"/> - <field name="s_typeMask" transient="true"/> + <field name="s_typeMask" transient="true"/> </class> <class name="xAOD::CPMTobRoIContainer_v1" id="B84B5967-8B6C-4743-AC18-FF68E13D9EA6" /> <class name="xAOD::CPMTobRoIAuxContainer_v1" id="38CB660E-139B-4280-9517-B571CA680A37" /> - + <typedef name="xAOD::CPMTobRoI" /> + <typedef name="xAOD::CPMTobRoIContainer" /> + <typedef name="xAOD::CPMTobRoIAuxContainer" /> + <!-- JEMEtSums --> <class name="xAOD::JEMEtSums_v2" /> <class name="xAOD::JEMEtSumsContainer_v2" id="9EE079C0-5737-4710-A81D-278D97F01E50" /> <class name="xAOD::JEMEtSumsAuxContainer_v2" - id="015D34AC-2FD5-4357-850E-04FD5EF6F945" /> - + id="015D34AC-2FD5-4357-850E-04FD5EF6F945" /> <!-- JEMTobRoI_v1 --> <class name="xAOD::JEMTobRoI_v1"> <field name="s_wordIdVal" transient="true"/> <field name="s_wordIdBit" transient="true"/> <field name="s_crateBit" transient="true"/> - <field name="s_jemBit" transient="true"/> + <field name="s_jemBit" transient="true"/> <field name="s_frameBit" transient="true"/> <field name="s_locationBit" transient="true"/> <field name="s_energySmallBit" transient="true"/> - <field name="s_energyLargeBit" transient="true"/> + <field name="s_energyLargeBit" transient="true"/> <field name="s_wordIdMask" transient="true"/> <field name="s_crateMask" transient="true"/> <field name="s_jemMask" transient="true"/> - <field name="s_frameMask" transient="true"/> + <field name="s_frameMask" transient="true"/> <field name="s_locationMask" transient="true"/> <field name="s_energySmallMask" transient="true"/> - <field name="s_energyLargeMask" transient="true"/> - </class> + <field name="s_energyLargeMask" transient="true"/> + </class> <class name="xAOD::JEMTobRoIContainer_v1" id="2C7D0000-4D7B-45D4-8EE5-B18F172A70C3" /> <class name="xAOD::JEMTobRoIAuxContainer_v1" id="2EAA65B1-B1F3-4530-9413-E572D6282996" /> - - - <!-- JetElement_v2 --> + <typedef name="xAOD::JEMTobRoI" /> + <typedef name="xAOD::JEMTobRoIContainer" /> + <typedef name="xAOD::JEMTobRoIAuxContainer" /> + + <!-- JetElement_v2 --> <class name="xAOD::JetElement_v2"> - <field name="m_saturationThreshold" transient="true"/> + <field name="m_saturationThreshold" transient="true"/> <field name="m_layerSaturationThreshold" transient="true"/> - </class> + </class> <class name="xAOD::JetElementContainer_v2" id="C4E1BE3D-6499-41A6-9643-4EA716049F60" /> <class name="xAOD::JetElementAuxContainer_v2" - id="A52FADFE-E250-43EC-9766-2898288521BF" /> - + id="A52FADFE-E250-43EC-9766-2898288521BF" /> + <!-- L1TopoRawData_v1 --> <class name="xAOD::L1TopoRawData_v1" /> <class name="xAOD::L1TopoRawDataContainer_v1" id="59FD769F-86CA-4636-8AB0-61EB3E0482EA" /> <class name="xAOD::L1TopoRawDataAuxContainer_v1" - id="E3D3AF1E-843A-4F21-A639-EE97040D3B6B" /> - - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - <class name="DataVector<xAOD::IParticle>" /> - <class pattern="ElementLink<DataVector<xAOD::IParticle*" /> - </exclusion> + id="E3D3AF1E-843A-4F21-A639-EE97040D3B6B" /> + <typedef name="xAOD::L1TopoRawData" /> + <typedef name="xAOD::L1TopoRawDataContainer" /> + <typedef name="xAOD::L1TopoRawDataAuxContainer" /> </lcgdict> - diff --git a/Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/xAODTrigL1CaloDict.h b/Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/xAODTrigL1CaloDict.h index ddf7ba6a0c42b690e8e891d679ece05056fd55f5..025fa36bba731693d2712be9364c91d3a043b9fb 100644 --- a/Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/xAODTrigL1CaloDict.h +++ b/Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/xAODTrigL1CaloDict.h @@ -1,68 +1,90 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODTrigL1CaloDict.h 694350 2015-09-11 12:02:19Z krasznaa $ #ifndef XAODTRIGL1CALO_XAODTRIGL1CALOCALOEVENTDICT_H #define XAODTRIGL1CALO_XAODTRIGL1CALOCALOEVENTDICT_H -// System include(s): -#include <vector> - -// EDM include(s): -/* -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" -#include "AthLinks/ElementLinkVector.h" -*/ - // Local include(s): // Run 1 +#include "xAODTrigL1Calo/JEMHits.h" +#include "xAODTrigL1Calo/JEMHitsContainer.h" +#include "xAODTrigL1Calo/JEMHitsAuxContainer.h" #include "xAODTrigL1Calo/versions/JEMHits_v1.h" #include "xAODTrigL1Calo/versions/JEMHitsContainer_v1.h" #include "xAODTrigL1Calo/versions/JEMHitsAuxContainer_v1.h" +#include "xAODTrigL1Calo/JEMEtSums.h" +#include "xAODTrigL1Calo/JEMEtSumsContainer.h" +#include "xAODTrigL1Calo/JEMEtSumsAuxContainer.h" #include "xAODTrigL1Calo/versions/JEMEtSums_v1.h" #include "xAODTrigL1Calo/versions/JEMEtSumsContainer_v1.h" #include "xAODTrigL1Calo/versions/JEMEtSumsAuxContainer_v1.h" +#include "xAODTrigL1Calo/JEMRoI.h" +#include "xAODTrigL1Calo/JEMRoIContainer.h" +#include "xAODTrigL1Calo/JEMRoIAuxContainer.h" #include "xAODTrigL1Calo/versions/JEMRoI_v1.h" #include "xAODTrigL1Calo/versions/JEMRoIContainer_v1.h" #include "xAODTrigL1Calo/versions/JEMRoIAuxContainer_v1.h" +#include "xAODTrigL1Calo/CPMHits.h" +#include "xAODTrigL1Calo/CPMHitsContainer.h" +#include "xAODTrigL1Calo/CPMHitsAuxContainer.h" #include "xAODTrigL1Calo/versions/CPMHits_v1.h" #include "xAODTrigL1Calo/versions/CPMHitsContainer_v1.h" #include "xAODTrigL1Calo/versions/CPMHitsAuxContainer_v1.h" +#include "xAODTrigL1Calo/CPMTower.h" +#include "xAODTrigL1Calo/CPMTowerContainer.h" +#include "xAODTrigL1Calo/CPMTowerAuxContainer.h" #include "xAODTrigL1Calo/versions/CPMTower_v1.h" #include "xAODTrigL1Calo/versions/CPMTowerContainer_v1.h" #include "xAODTrigL1Calo/versions/CPMTowerAuxContainer_v1.h" +#include "xAODTrigL1Calo/CPMRoI.h" +#include "xAODTrigL1Calo/CPMRoIContainer.h" +#include "xAODTrigL1Calo/CPMRoIAuxContainer.h" #include "xAODTrigL1Calo/versions/CPMRoI_v1.h" #include "xAODTrigL1Calo/versions/CPMRoIContainer_v1.h" #include "xAODTrigL1Calo/versions/CPMRoIAuxContainer_v1.h" +#include "xAODTrigL1Calo/CMMCPHits.h" +#include "xAODTrigL1Calo/CMMCPHitsContainer.h" +#include "xAODTrigL1Calo/CMMCPHitsAuxContainer.h" #include "xAODTrigL1Calo/versions/CMMCPHits_v1.h" #include "xAODTrigL1Calo/versions/CMMCPHitsContainer_v1.h" #include "xAODTrigL1Calo/versions/CMMCPHitsAuxContainer_v1.h" +#include "xAODTrigL1Calo/CMMEtSums.h" +#include "xAODTrigL1Calo/CMMEtSumsContainer.h" +#include "xAODTrigL1Calo/CMMEtSumsAuxContainer.h" #include "xAODTrigL1Calo/versions/CMMEtSums_v1.h" #include "xAODTrigL1Calo/versions/CMMEtSumsContainer_v1.h" #include "xAODTrigL1Calo/versions/CMMEtSumsAuxContainer_v1.h" +#include "xAODTrigL1Calo/CMMJetHits.h" +#include "xAODTrigL1Calo/CMMJetHitsContainer.h" +#include "xAODTrigL1Calo/CMMJetHitsAuxContainer.h" #include "xAODTrigL1Calo/versions/CMMJetHits_v1.h" #include "xAODTrigL1Calo/versions/CMMJetHitsContainer_v1.h" #include "xAODTrigL1Calo/versions/CMMJetHitsAuxContainer_v1.h" +#include "xAODTrigL1Calo/CMMRoI.h" +#include "xAODTrigL1Calo/CMMRoIAuxInfo.h" #include "xAODTrigL1Calo/versions/CMMRoI_v1.h" #include "xAODTrigL1Calo/versions/CMMRoIAuxInfo_v1.h" +#include "xAODTrigL1Calo/JetElement.h" +#include "xAODTrigL1Calo/JetElementContainer.h" +#include "xAODTrigL1Calo/JetElementAuxContainer.h" #include "xAODTrigL1Calo/versions/JetElement_v1.h" #include "xAODTrigL1Calo/versions/JetElementContainer_v1.h" #include "xAODTrigL1Calo/versions/JetElementAuxContainer_v1.h" +#include "xAODTrigL1Calo/RODHeader.h" +#include "xAODTrigL1Calo/RODHeaderContainer.h" +#include "xAODTrigL1Calo/RODHeaderAuxContainer.h" #include "xAODTrigL1Calo/versions/RODHeader_v1.h" #include "xAODTrigL1Calo/versions/RODHeaderContainer_v1.h" #include "xAODTrigL1Calo/versions/RODHeaderAuxContainer_v1.h" @@ -71,6 +93,9 @@ #include "xAODTrigL1Calo/versions/RODHeaderContainer_v2.h" #include "xAODTrigL1Calo/versions/RODHeaderAuxContainer_v2.h" +#include "xAODTrigL1Calo/TriggerTower.h" +#include "xAODTrigL1Calo/TriggerTowerContainer.h" +#include "xAODTrigL1Calo/TriggerTowerAuxContainer.h" #include "xAODTrigL1Calo/versions/TriggerTower_v1.h" #include "xAODTrigL1Calo/versions/TriggerTowerContainer_v1.h" #include "xAODTrigL1Calo/versions/TriggerTowerAuxContainer_v1.h" @@ -80,26 +105,44 @@ #include "xAODTrigL1Calo/versions/TriggerTowerContainer_v2.h" #include "xAODTrigL1Calo/versions/TriggerTowerAuxContainer_v2.h" +#include "xAODTrigL1Calo/CMXCPHits.h" +#include "xAODTrigL1Calo/CMXCPHitsContainer.h" +#include "xAODTrigL1Calo/CMXCPHitsAuxContainer.h" #include "xAODTrigL1Calo/versions/CMXCPHits_v1.h" #include "xAODTrigL1Calo/versions/CMXCPHitsContainer_v1.h" #include "xAODTrigL1Calo/versions/CMXCPHitsAuxContainer_v1.h" +#include "xAODTrigL1Calo/CMXCPTob.h" +#include "xAODTrigL1Calo/CMXCPTobContainer.h" +#include "xAODTrigL1Calo/CMXCPTobAuxContainer.h" #include "xAODTrigL1Calo/versions/CMXCPTob_v1.h" #include "xAODTrigL1Calo/versions/CMXCPTobContainer_v1.h" #include "xAODTrigL1Calo/versions/CMXCPTobAuxContainer_v1.h" +#include "xAODTrigL1Calo/CMXJetHits.h" +#include "xAODTrigL1Calo/CMXJetHitsContainer.h" +#include "xAODTrigL1Calo/CMXJetHitsAuxContainer.h" #include "xAODTrigL1Calo/versions/CMXJetHits_v1.h" #include "xAODTrigL1Calo/versions/CMXJetHitsContainer_v1.h" #include "xAODTrigL1Calo/versions/CMXJetHitsAuxContainer_v1.h" +#include "xAODTrigL1Calo/CMXJetTob.h" +#include "xAODTrigL1Calo/CMXJetTobContainer.h" +#include "xAODTrigL1Calo/CMXJetTobAuxContainer.h" #include "xAODTrigL1Calo/versions/CMXJetTob_v1.h" #include "xAODTrigL1Calo/versions/CMXJetTobContainer_v1.h" #include "xAODTrigL1Calo/versions/CMXJetTobAuxContainer_v1.h" +#include "xAODTrigL1Calo/CMXEtSums.h" +#include "xAODTrigL1Calo/CMXEtSumsContainer.h" +#include "xAODTrigL1Calo/CMXEtSumsAuxContainer.h" #include "xAODTrigL1Calo/versions/CMXEtSums_v1.h" #include "xAODTrigL1Calo/versions/CMXEtSumsContainer_v1.h" #include "xAODTrigL1Calo/versions/CMXEtSumsAuxContainer_v1.h" +#include "xAODTrigL1Calo/CMXRoI.h" +#include "xAODTrigL1Calo/CMXRoIContainer.h" +#include "xAODTrigL1Calo/CMXRoIAuxContainer.h" #include "xAODTrigL1Calo/versions/CMXRoI_v1.h" #include "xAODTrigL1Calo/versions/CMXRoIContainer_v1.h" #include "xAODTrigL1Calo/versions/CMXRoIAuxContainer_v1.h" @@ -108,15 +151,20 @@ #include "xAODTrigL1Calo/versions/CPMTowerContainer_v2.h" #include "xAODTrigL1Calo/versions/CPMTowerAuxContainer_v2.h" +#include "xAODTrigL1Calo/CPMTobRoI.h" +#include "xAODTrigL1Calo/CPMTobRoIContainer.h" +#include "xAODTrigL1Calo/CPMTobRoIAuxContainer.h" #include "xAODTrigL1Calo/versions/CPMTobRoI_v1.h" #include "xAODTrigL1Calo/versions/CPMTobRoIContainer_v1.h" #include "xAODTrigL1Calo/versions/CPMTobRoIAuxContainer_v1.h" - #include "xAODTrigL1Calo/versions/JEMEtSums_v2.h" #include "xAODTrigL1Calo/versions/JEMEtSumsContainer_v2.h" #include "xAODTrigL1Calo/versions/JEMEtSumsAuxContainer_v2.h" +#include "xAODTrigL1Calo/JEMTobRoI.h" +#include "xAODTrigL1Calo/JEMTobRoIContainer.h" +#include "xAODTrigL1Calo/JEMTobRoIAuxContainer.h" #include "xAODTrigL1Calo/versions/JEMTobRoI_v1.h" #include "xAODTrigL1Calo/versions/JEMTobRoIContainer_v1.h" #include "xAODTrigL1Calo/versions/JEMTobRoIAuxContainer_v1.h" @@ -125,332 +173,80 @@ #include "xAODTrigL1Calo/versions/JetElementContainer_v2.h" #include "xAODTrigL1Calo/versions/JetElementAuxContainer_v2.h" +#include "xAODTrigL1Calo/L1TopoRawData.h" +#include "xAODTrigL1Calo/L1TopoRawDataContainer.h" +#include "xAODTrigL1Calo/L1TopoRawDataAuxContainer.h" #include "xAODTrigL1Calo/versions/L1TopoRawData_v1.h" #include "xAODTrigL1Calo/versions/L1TopoRawDataContainer_v1.h" #include "xAODTrigL1Calo/versions/L1TopoRawDataAuxContainer_v1.h" +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" -// Versionless AuxContainers -#include "xAODTrigL1Calo/CMMCPHitsAuxContainer.h" -#include "xAODTrigL1Calo/CMMEtSumsAuxContainer.h" -#include "xAODTrigL1Calo/CMMJetHitsAuxContainer.h" -#include "xAODTrigL1Calo/CMMRoIAuxInfo.h" -#include "xAODTrigL1Calo/CMXCPHitsAuxContainer.h" -#include "xAODTrigL1Calo/CMXCPTobAuxContainer.h" -#include "xAODTrigL1Calo/CMXEtSumsAuxContainer.h" -#include "xAODTrigL1Calo/CMXJetHitsAuxContainer.h" -#include "xAODTrigL1Calo/CMXJetTobAuxContainer.h" -#include "xAODTrigL1Calo/CMXRoIAuxContainer.h" -#include "xAODTrigL1Calo/CPMHitsAuxContainer.h" -#include "xAODTrigL1Calo/CPMRoIAuxContainer.h" -#include "xAODTrigL1Calo/CPMTobRoIAuxContainer.h" -#include "xAODTrigL1Calo/CPMTowerAuxContainer.h" -#include "xAODTrigL1Calo/JEMEtSumsAuxContainer.h" -#include "xAODTrigL1Calo/JEMHitsAuxContainer.h" -#include "xAODTrigL1Calo/JEMRoIAuxContainer.h" -#include "xAODTrigL1Calo/JEMTobRoIAuxContainer.h" -#include "xAODTrigL1Calo/JetElementAuxContainer.h" -#include "xAODTrigL1Calo/RODHeaderAuxContainer.h" -#include "xAODTrigL1Calo/TriggerTowerAuxContainer.h" -#include "xAODTrigL1Calo/L1TopoRawDataAuxContainer.h" - - +// Instantiate all necessary types for the dictionary. namespace { struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGL1CALO { - + // Run 1 - - // JEMHits - xAOD::JEMHitsContainer_v1 JEMHits_v1_c1; - /* - DataLink< xAOD::JEMHitsContainer_v1 > JEMHits_v1_l1; - ElementLink< xAOD::JEMHitsContainer_v1 > JEMHits_v1_l2; - ElementLinkVector< xAOD::JEMHitsContainer_v1 > JEMHits_v1_l3; - std::vector< DataLink< xAOD::JEMHitsContainer_v1 > > JEMHits_v1_l4; - std::vector< ElementLink< xAOD::JEMHitsContainer_v1 > > JEMHits_v1_l5; - std::vector< ElementLinkVector< xAOD::JEMHitsContainer_v1 > > JEMHits_v1_l6; - */ + // JEMHits + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JEMHitsContainer_v1 ); // JEMEtSums - xAOD::JEMEtSumsContainer_v1 JEMEtSums_v1_c1; - /* - DataLink< xAOD::JEMEtSumsContainer_v1 > JEMEtSums_v1_l1; - ElementLink< xAOD::JEMEtSumsContainer_v1 > JEMEtSums_v1_l2; - ElementLinkVector< xAOD::JEMEtSumsContainer_v1 > JEMEtSums_v1_l3; - std::vector< DataLink< xAOD::JEMEtSumsContainer_v1 > > JEMEtSums_v1_l4; - std::vector< ElementLink< xAOD::JEMEtSumsContainer_v1 > > JEMEtSums_v1_l5; - std::vector< ElementLinkVector< xAOD::JEMEtSumsContainer_v1 > > JEMEtSums_v1_l6; - */ - - // JEMRoI - xAOD::JEMRoIContainer_v1 JEMRoI_v1_c1; - /* - DataLink< xAOD::JEMRoIContainer_v1 > JEMRoI_v1_l1; - ElementLink< xAOD::JEMRoIContainer_v1 > JEMRoI_v1_l2; - ElementLinkVector< xAOD::JEMRoIContainer_v1 > JEMRoI_v1_l3; - std::vector< DataLink< xAOD::JEMRoIContainer_v1 > > JEMRoI_v1_l4; - std::vector< ElementLink< xAOD::JEMRoIContainer_v1 > > JEMRoI_v1_l5; - std::vector< ElementLinkVector< xAOD::JEMRoIContainer_v1 > > JEMRoI_v1_l6; \ - */ - - // CPMHits - xAOD::CPMHitsContainer_v1 CPMHits_v1_c1; - /* - DataLink< xAOD::CPMHitsContainer_v1 > CPMHits_v1_l1; - ElementLink< xAOD::CPMHitsContainer_v1 > CPMHits_v1_l2; - ElementLinkVector< xAOD::CPMHitsContainer_v1 > CPMHits_v1_l3; - std::vector< DataLink< xAOD::CPMHitsContainer_v1 > > CPMHits_v1_l4; - std::vector< ElementLink< xAOD::CPMHitsContainer_v1 > > CPMHits_v1_l5; - std::vector< ElementLinkVector< xAOD::CPMHitsContainer_v1 > > CPMHits_v1_l6; - */ - - // CPMTower - xAOD::CPMTowerContainer_v1 CPMTower_v1_c1; - /* - DataLink< xAOD::CPMTowerContainer_v1 > CPMTower_v1_l1; - ElementLink< xAOD::CPMTowerContainer_v1 > CPMTower_v1_l2; - ElementLinkVector< xAOD::CPMTowerContainer_v1 > CPMTower_v1_l3; - std::vector< DataLink< xAOD::CPMTowerContainer_v1 > > CPMTower_v1_l4; - std::vector< ElementLink< xAOD::CPMTowerContainer_v1 > > CPMTower_v1_l5; - std::vector< ElementLinkVector< xAOD::CPMTowerContainer_v1 > > CPMTower_v1_l6; - */ - - // CPMRoI - xAOD::CPMRoIContainer_v1 CPMRoI_v1_c1; - /* - DataLink< xAOD::CPMRoIContainer_v1 > CPMRoI_v1_l1; - ElementLink< xAOD::CPMRoIContainer_v1 > CPMRoI_v1_l2; - ElementLinkVector< xAOD::CPMRoIContainer_v1 > CPMRoI_v1_l3; - std::vector< DataLink< xAOD::CPMRoIContainer_v1 > > CPMRoI_v1_l4; - std::vector< ElementLink< xAOD::CPMRoIContainer_v1 > > CPMRoI_v1_l5; - std::vector< ElementLinkVector< xAOD::CPMRoIContainer_v1 > > CPMRoI_v1_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JEMEtSumsContainer_v1 ); + // JEMRoI + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JEMRoIContainer_v1 ); + // CPMHits + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CPMHitsContainer_v1 ); + // CPMTower + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CPMTowerContainer_v1 ); + // CPMRoI + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CPMRoIContainer_v1 ); // CMMCPHits - xAOD::CMMCPHitsContainer_v1 CMMCPHits_v1_c1; - /* - DataLink< xAOD::CMMCPHitsContainer_v1 > CMMCPHits_v1_l1; - ElementLink< xAOD::CMMCPHitsContainer_v1 > CMMCPHits_v1_l2; - ElementLinkVector< xAOD::CMMCPHitsContainer_v1 > CMMCPHits_v1_l3; - std::vector< DataLink< xAOD::CMMCPHitsContainer_v1 > > CMMCPHits_v1_l4; - std::vector< ElementLink< xAOD::CMMCPHitsContainer_v1 > > CMMCPHits_v1_l5; - std::vector< ElementLinkVector< xAOD::CMMCPHitsContainer_v1 > > CMMCPHits_v1_l6; - */ - - // CMMEtSums - xAOD::CMMEtSumsContainer_v1 CMMEtSums_v1_c1; - /* - DataLink< xAOD::CMMEtSumsContainer_v1 > CMMEtSums_v1_l1; - ElementLink< xAOD::CMMEtSumsContainer_v1 > CMMEtSums_v1_l2; - ElementLinkVector< xAOD::CMMEtSumsContainer_v1 > CMMEtSums_v1_l3; - std::vector< DataLink< xAOD::CMMEtSumsContainer_v1 > > CMMEtSums_v1_l4; - std::vector< ElementLink< xAOD::CMMEtSumsContainer_v1 > > CMMEtSums_v1_l5; - std::vector< ElementLinkVector< xAOD::CMMEtSumsContainer_v1 > > CMMEtSums_v1_l6; - */ - - // CMMJetHits - xAOD::CMMJetHitsContainer_v1 CMMJetHits_v1_c1; - /* - DataLink< xAOD::CMMJetHitsContainer_v1 > CMMJetHits_v1_l1; - ElementLink< xAOD::CMMJetHitsContainer_v1 > CMMJetHits_v1_l2; - ElementLinkVector< xAOD::CMMJetHitsContainer_v1 > CMMJetHits_v1_l3; - std::vector< DataLink< xAOD::CMMJetHitsContainer_v1 > > CMMJetHits_v1_l4; - std::vector< ElementLink< xAOD::CMMJetHitsContainer_v1 > > CMMJetHits_v1_l5; - std::vector< ElementLinkVector< xAOD::CMMJetHitsContainer_v1 > > CMMJetHits_v1_l6; - */ - - // JetElement - xAOD::JetElementContainer_v1 JetElement_v1_c1; - /* - DataLink< xAOD::JetElementContainer_v1 > JetElement_v1_l1; - ElementLink< xAOD::JetElementContainer_v1 > JetElement_v1_l2; - ElementLinkVector< xAOD::JetElementContainer_v1 > JetElement_v1_l3; - std::vector< DataLink< xAOD::JetElementContainer_v1 > > JetElement_v1_l4; - std::vector< ElementLink< xAOD::JetElementContainer_v1 > > JetElement_v1_l5; - std::vector< ElementLinkVector< xAOD::JetElementContainer_v1 > > JetElement_v1_l6; - */ - - // RODHeader - xAOD::RODHeaderContainer_v1 RODHeader_v1_c1; - /* - DataLink< xAOD::RODHeaderContainer_v1 > RODHeader_v1_l1; - ElementLink< xAOD::RODHeaderContainer_v1 > RODHeader_v1_l2; - ElementLinkVector< xAOD::RODHeaderContainer_v1 > RODHeader_v1_l3; - std::vector< DataLink< xAOD::RODHeaderContainer_v1 > > RODHeader_v1_l4; - std::vector< ElementLink< xAOD::RODHeaderContainer_v1 > > RODHeader_v1_l5; - std::vector< ElementLinkVector< xAOD::RODHeaderContainer_v1 > > RODHeader_v1_l6; - */ - - // TriggerTower - xAOD::TriggerTowerContainer_v1 TriggerTower_v1_c1; - /* - DataLink< xAOD::TriggerTowerContainer_v1 > TriggerTower_v1_l1; - ElementLink< xAOD::TriggerTowerContainer_v1 > TriggerTower_v1_l2; - ElementLinkVector< xAOD::TriggerTowerContainer_v1 > TriggerTower_v1_l3; - std::vector< DataLink< xAOD::TriggerTowerContainer_v1 > > TriggerTower_v1_l4; - std::vector< ElementLink< xAOD::TriggerTowerContainer_v1 > > TriggerTower_v1_l5; - std::vector< ElementLinkVector< xAOD::TriggerTowerContainer_v1 > > TriggerTower_v1_l6; - */ - - // Run 2 - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CMMCPHitsContainer_v1 ); + // CMMEtSums + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CMMEtSumsContainer_v1 ); + // CMMJetHits + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CMMJetHitsContainer_v1 ); + // JetElement + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JetElementContainer_v1 ); + // RODHeader + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, RODHeaderContainer_v1 ); // TriggerTower - xAOD::TriggerTowerContainer_v2 TriggerTower_v2_c1; - /* - DataLink< xAOD::TriggerTowerContainer_v2 > TriggerTower_v2_l1; - ElementLink< xAOD::TriggerTowerContainer_v2 > TriggerTower_v2_l2; - ElementLinkVector< xAOD::TriggerTowerContainer_v2 > TriggerTower_v2_l3; - std::vector< DataLink< xAOD::TriggerTowerContainer_v2 > > TriggerTower_v2_l4; - std::vector< ElementLink< xAOD::TriggerTowerContainer_v2 > > TriggerTower_v2_l5; - std::vector< ElementLinkVector< xAOD::TriggerTowerContainer_v2 > > TriggerTower_v2_l6; - */ - - // RODHeader - xAOD::RODHeaderContainer_v2 RODHeader_v2_c1; - /* - DataLink< xAOD::RODHeaderContainer_v2 > RODHeader_v2_l1; - ElementLink< xAOD::RODHeaderContainer_v2 > RODHeader_v2_l2; - ElementLinkVector< xAOD::RODHeaderContainer_v2 > RODHeader_v2_l3; - std::vector< DataLink< xAOD::RODHeaderContainer_v2 > > RODHeader_v2_l4; - std::vector< ElementLink< xAOD::RODHeaderContainer_v2 > > RODHeader_v2_l5; - std::vector< ElementLinkVector< xAOD::RODHeaderContainer_v2 > > RODHeader_v2_l6; - */ + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TriggerTowerContainer_v1 ); + // CMMRoI + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, CMMRoI_v1 ); + // Run 2 + + // TriggerTower + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TriggerTowerContainer_v2 ); + // RODHeader + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, RODHeaderContainer_v2 ); // CMXCPHits - xAOD::CMXCPHitsContainer_v1 CMXCPHits_v1_c1; - /* - DataLink< xAOD::CMXCPHitsContainer_v1 > CMXCPHits_v1_l1; - ElementLink< xAOD::CMXCPHitsContainer_v1 > CMXCPHits_v1_l2; - ElementLinkVector< xAOD::CMXCPHitsContainer_v1 > CMXCPHits_v1_l3; - std::vector< DataLink< xAOD::CMXCPHitsContainer_v1 > > CMXCPHits_v1_l4; - std::vector< ElementLink< xAOD::CMXCPHitsContainer_v1 > > CMXCPHits_v1_l5; - std::vector< ElementLinkVector< xAOD::CMXCPHitsContainer_v1 > > CMXCPHits_v1_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CMXCPHitsContainer_v1 ); // CMXCPTob - xAOD::CMXCPTobContainer_v1 CMXCPTob_v1_c1; - /* - DataLink< xAOD::CMXCPTobContainer_v1 > CMXCPTob_v1_l1; - ElementLink< xAOD::CMXCPTobContainer_v1 > CMXCPTob_v1_l2; - ElementLinkVector< xAOD::CMXCPTobContainer_v1 > CMXCPTob_v1_l3; - std::vector< DataLink< xAOD::CMXCPTobContainer_v1 > > CMXCPTob_v1_l4; - std::vector< ElementLink< xAOD::CMXCPTobContainer_v1 > > CMXCPTob_v1_l5; - std::vector< ElementLinkVector< xAOD::CMXCPTobContainer_v1 > > CMXCPTob_v1_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CMXCPTobContainer_v1 ); // CMXJetHits - xAOD::CMXJetHitsContainer_v1 CMXJetHits_v1_c1; - /* - DataLink< xAOD::CMXJetHitsContainer_v1 > CMXJetHits_v1_l1; - ElementLink< xAOD::CMXJetHitsContainer_v1 > CMXJetHits_v1_l2; - ElementLinkVector< xAOD::CMXJetHitsContainer_v1 > CMXJetHits_v1_l3; - std::vector< DataLink< xAOD::CMXJetHitsContainer_v1 > > CMXJetHits_v1_l4; - std::vector< ElementLink< xAOD::CMXJetHitsContainer_v1 > > CMXJetHits_v1_l5; - std::vector< ElementLinkVector< xAOD::CMXJetHitsContainer_v1 > > CMXJetHits_v1_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CMXJetHitsContainer_v1 ); // CMXJetTob - xAOD::CMXJetTobContainer_v1 CMXJetTob_v1_c1; - /* - DataLink< xAOD::CMXJetTobContainer_v1 > CMXJetTob_v1_l1; - ElementLink< xAOD::CMXJetTobContainer_v1 > CMXJetTob_v1_l2; - ElementLinkVector< xAOD::CMXJetTobContainer_v1 > CMXJetTob_v1_l3; - std::vector< DataLink< xAOD::CMXJetTobContainer_v1 > > CMXJetTob_v1_l4; - std::vector< ElementLink< xAOD::CMXJetTobContainer_v1 > > CMXJetTob_v1_l5; - std::vector< ElementLinkVector< xAOD::CMXJetTobContainer_v1 > > CMXJetTob_v1_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CMXJetTobContainer_v1 ); // CMXEtSums - xAOD::CMXEtSumsContainer_v1 CMXEtSums_v1_c1; - /* - DataLink< xAOD::CMXEtSumsContainer_v1 > CMXEtSums_v1_l1; - ElementLink< xAOD::CMXEtSumsContainer_v1 > CMXEtSums_v1_l2; - ElementLinkVector< xAOD::CMXEtSumsContainer_v1 > CMXEtSums_v1_l3; - std::vector< DataLink< xAOD::CMXEtSumsContainer_v1 > > CMXEtSums_v1_l4; - std::vector< ElementLink< xAOD::CMXEtSumsContainer_v1 > > CMXEtSums_v1_l5; - std::vector< ElementLinkVector< xAOD::CMXEtSumsContainer_v1 > > CMXEtSums_v1_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CMXEtSumsContainer_v1 ); // CMXRoI - xAOD::CMXRoIContainer_v1 CMXRoI_v1_c1; - /* - DataLink< xAOD::CMXRoIContainer_v1 > CMXRoI_v1_l1; - ElementLink< xAOD::CMXRoIContainer_v1 > CMXRoI_v1_l2; - ElementLinkVector< xAOD::CMXRoIContainer_v1 > CMXRoI_v1_l3; - std::vector< DataLink< xAOD::CMXRoIContainer_v1 > > CMXRoI_v1_l4; - std::vector< ElementLink< xAOD::CMXRoIContainer_v1 > > CMXRoI_v1_l5; - std::vector< ElementLinkVector< xAOD::CMXRoIContainer_v1 > > CMXRoI_v1_l6; - */ - - // CPMTower - xAOD::CPMTowerContainer_v2 CPMTower_v2_c1; - /* - DataLink< xAOD::CPMTowerContainer_v2 > CPMTower_v2_l1; - ElementLink< xAOD::CPMTowerContainer_v2 > CPMTower_v2_l2; - ElementLinkVector< xAOD::CPMTowerContainer_v2 > CPMTower_v2_l3; - std::vector< DataLink< xAOD::CPMTowerContainer_v2 > > CPMTower_v2_l4; - std::vector< ElementLink< xAOD::CPMTowerContainer_v2 > > CPMTower_v2_l5; - std::vector< ElementLinkVector< xAOD::CPMTowerContainer_v2 > > CPMTower_v2_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CMXRoIContainer_v1 ); + // CPMTower + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CPMTowerContainer_v2 ); // CPMTobRoI - xAOD::CPMTobRoIContainer_v1 CPMTobRoI_v1_c1; - /* - DataLink< xAOD::CPMTobRoIContainer_v1 > CPMTobRoI_v1_l1; - ElementLink< xAOD::CPMTobRoIContainer_v1 > CPMTobRoI_v1_l2; - ElementLinkVector< xAOD::CPMTobRoIContainer_v1 > CPMTobRoI_v1_l3; - std::vector< DataLink< xAOD::CPMTobRoIContainer_v1 > > CPMTobRoI_v1_l4; - std::vector< ElementLink< xAOD::CPMTobRoIContainer_v1 > > CPMTobRoI_v1_l5; - std::vector< ElementLinkVector< xAOD::CPMTobRoIContainer_v1 > > CPMTobRoI_v1_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, CPMTobRoIContainer_v1 ); // JEMEtSums - xAOD::JEMEtSumsContainer_v2 JEMEtSums_v2_c1; - /* - DataLink< xAOD::JEMEtSumsContainer_v2 > JEMEtSums_v2_l1; - ElementLink< xAOD::JEMEtSumsContainer_v2 > JEMEtSums_v2_l2; - ElementLinkVector< xAOD::JEMEtSumsContainer_v2 > JEMEtSums_v2_l3; - std::vector< DataLink< xAOD::JEMEtSumsContainer_v2 > > JEMEtSums_v2_l4; - std::vector< ElementLink< xAOD::JEMEtSumsContainer_v2 > > JEMEtSums_v2_l5; - std::vector< ElementLinkVector< xAOD::JEMEtSumsContainer_v2 > > JEMEtSums_v2_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JEMEtSumsContainer_v2 ); // JEMTobRoI - xAOD::JEMTobRoIContainer_v1 JEMTobRoI_v1_c1; - /* - DataLink< xAOD::JEMTobRoIContainer_v1 > JEMTobRoI_v1_l1; - ElementLink< xAOD::JEMTobRoIContainer_v1 > JEMTobRoI_v1_l2; - ElementLinkVector< xAOD::JEMTobRoIContainer_v1 > JEMTobRoI_v1_l3; - std::vector< DataLink< xAOD::JEMTobRoIContainer_v1 > > JEMTobRoI_v1_l4; - std::vector< ElementLink< xAOD::JEMTobRoIContainer_v1 > > JEMTobRoI_v1_l5; - std::vector< ElementLinkVector< xAOD::JEMTobRoIContainer_v1 > > JEMTobRoI_v1_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JEMTobRoIContainer_v1 ); // JetElement - xAOD::JetElementContainer_v2 JetElement_v2_c1; - /* - DataLink< xAOD::JetElementContainer_v2 > JetElement_v2_l1; - ElementLink< xAOD::JetElementContainer_v2 > JetElement_v2_l2; - ElementLinkVector< xAOD::JetElementContainer_v2 > JetElement_v2_l3; - std::vector< DataLink< xAOD::JetElementContainer_v2 > > JetElement_v2_l4; - std::vector< ElementLink< xAOD::JetElementContainer_v2 > > JetElement_v2_l5; - std::vector< ElementLinkVector< xAOD::JetElementContainer_v2 > > JetElement_v2_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JetElementContainer_v2 ); // L1TopoRawData - xAOD::L1TopoRawDataContainer_v1 L1TopoRawData_v1_c1; - /* - DataLink< xAOD::L1TopoRawDataContainer_v1 > L1TopoRawData_v1_l1; - ElementLink< xAOD::L1TopoRawDataContainer_v1 > L1TopoRawData_v1_l2; - ElementLinkVector< xAOD::L1TopoRawDataContainer_v1 > L1TopoRawData_v1_l3; - std::vector< DataLink< xAOD::L1TopoRawDataContainer_v1 > > L1TopoRawData_v1_l4; - std::vector< ElementLink< xAOD::L1TopoRawDataContainer_v1 > > L1TopoRawData_v1_l5; - std::vector< ElementLinkVector< xAOD::L1TopoRawDataContainer_v1 > > L1TopoRawData_v1_l6; - */ - + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, L1TopoRawDataContainer_v1 ); }; } -template class DataVector<xAOD::TriggerTower_v2>; - #endif // XAODTRIGL1CALO_XAODTRIGL1CALOCALOEVENTDICT_H diff --git a/Event/xAOD/xAODTrigMinBias/CMakeLists.txt b/Event/xAOD/xAODTrigMinBias/CMakeLists.txt index b914b5fd7b206a37abf1d847dbdb9b79d865d620..5f96dd03ae3abe9dcb337170cb4bc3f926f8736c 100644 --- a/Event/xAOD/xAODTrigMinBias/CMakeLists.txt +++ b/Event/xAOD/xAODTrigMinBias/CMakeLists.txt @@ -1,30 +1,31 @@ -# $Id: CMakeLists.txt 751124 2016-05-31 12:55:34Z krasznaa $ -################################################################################ -# Package: xAODTrigMinBias -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTrigMinBias ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( - PUBLIC - Control/AthContainers - Event/xAOD/xAODCore - PRIVATE - Control/AthLinks ) +# Pull in the helper CMake code. +find_package( xAODUtilities ) -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTrigMinBias xAODTrigMinBias/*.h xAODTrigMinBias/versions/*.h Root/*.cxx PUBLIC_HEADERS xAODTrigMinBias LINK_LIBRARIES AthContainers xAODCore ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTrigMinBias/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::TrigSpacePointCountsContainer_v1" + "xAOD::TrigT2MbtsBitsContainer_v1" "xAOD::TrigHisto2DContainer_v1" + "xAOD::TrigTrackCountsContainer_v1" + "xAOD::TrigVertexCountsContainer_v1" + "xAOD::TrigT2ZdcSignalsContainer_v1" ) + atlas_add_dictionary( xAODTrigMinBiasDict xAODTrigMinBias/xAODTrigMinBiasDict.h - xAODTrigMinBias/selection.xml - LINK_LIBRARIES AthLinks xAODTrigMinBias + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTrigMinBias EXTRA_FILES Root/dict/*.cxx ) -# Generate CLIDs from the library: +# Generate CLIDs from the library. atlas_generate_cliddb( xAODTrigMinBias ) diff --git a/Event/xAOD/xAODTrigMinBias/xAODTrigMinBias/selection.xml b/Event/xAOD/xAODTrigMinBias/xAODTrigMinBias/selection.xml index 48ded7f23f3d83dffa52e59d9f67f431430aa506..ca6aab76eeac5e1b0aaf9057f2ffd4bb37a728e2 100644 --- a/Event/xAOD/xAODTrigMinBias/xAODTrigMinBias/selection.xml +++ b/Event/xAOD/xAODTrigMinBias/xAODTrigMinBias/selection.xml @@ -1,27 +1,76 @@ +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <class name="xAOD::TrigSpacePointCounts_v1" /> - <class name="xAOD::TrigSpacePointCountsContainer_v1" id="519EBE61-C135-46C7-AD7D-C661DC6FC4B5" /> - <class name="xAOD::TrigSpacePointCountsAuxContainer_v1" id="C682FD32-73CC-4773-ACBF-30B2657C5991" /> - <class name="xAOD::TrigT2MbtsBits_v1" /> - <class name="xAOD::TrigT2MbtsBitsContainer_v1" id="FF96BF06-1206-11E4-9605-02163E00A892" /> - <class name="xAOD::TrigT2MbtsBitsAuxContainer_v1" id="0055818E-1207-11E4-9C7B-02163E00A892" /> - <class name="xAOD::TrigHisto2D_v1" /> - <class name="xAOD::TrigHisto2DContainer_v1" id="0116E8A6-1207-11E4-8724-02163E00A892" /> - <class name="xAOD::TrigHisto2DAuxContainer_v1" id="05B28A1E-1207-11E4-84E2-02163E00A892" /> - <class name="xAOD::TrigTrackCounts_v1" /> - <class name="xAOD::TrigTrackCountsContainer_v1" id="0650DED0-1207-11E4-9CD1-02163E00A892" /> - <class name="xAOD::TrigTrackCountsAuxContainer_v1" id="0701BEB0-1207-11E4-9D08-02163E00A892" /> - <class name="xAOD::TrigVertexCounts_v1" /> - <class name="xAOD::TrigVertexCountsContainer_v1" id="07EE6B72-1207-11E4-8B69-02163E00A892" /> - <class name="xAOD::TrigVertexCountsAuxContainer_v1" id="70E7BDFE-1207-11E4-ACEF-02163E00A892" /> - <class name="xAOD::TrigT2ZdcSignals_v1" /> - <class name="xAOD::TrigT2ZdcSignalsContainer_v1" id="8313279A-5E27-11E4-A635-02163E00A82C" /> - <class name="xAOD::TrigT2ZdcSignalsAuxContainer_v1" id="83B9F174-5E27-11E4-98C2-02163E00A82" /> - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - </exclusion> + + <!-- xAOD::TrigSpacePointCounts interface type(s). --> + <class name="xAOD::TrigSpacePointCounts_v1" /> + <class name="xAOD::TrigSpacePointCountsContainer_v1" + id="519EBE61-C135-46C7-AD7D-C661DC6FC4B5" /> + <typedef name="xAOD::TrigSpacePointCounts" /> + <typedef name="xAOD::TrigSpacePointCountsContainer" /> + + <!-- xAOD::TrigSpacePointCounts auxiliary type(s). --> + <class name="xAOD::TrigSpacePointCountsAuxContainer_v1" + id="C682FD32-73CC-4773-ACBF-30B2657C5991" /> + <typedef name="xAOD::TrigSpacePointCountsAuxContainer" /> + + <!-- xAOD::TrigT2MbtsBits interface type(s). --> + <class name="xAOD::TrigT2MbtsBits_v1" /> + <class name="xAOD::TrigT2MbtsBitsContainer_v1" + id="FF96BF06-1206-11E4-9605-02163E00A892" /> + <typedef name="xAOD::TrigT2MbtsBits" /> + <typedef name="xAOD::TrigT2MbtsBitsContainer" /> + + <!-- xAOD::TrigT1MbtsBits auxiliary type(s). --> + <class name="xAOD::TrigT2MbtsBitsAuxContainer_v1" + id="0055818E-1207-11E4-9C7B-02163E00A892" /> + <typedef name="xAOD::TrigT2MbtsBitsAuxContainer" /> + + <!-- xAOD::TrigHisto2D interface type(s). --> + <class name="xAOD::TrigHisto2D_v1" /> + <class name="xAOD::TrigHisto2DContainer_v1" + id="0116E8A6-1207-11E4-8724-02163E00A892" /> + <typedef name="xAOD::TrigHisto2D" /> + <typedef name="xAOD::TrigHisto2DContainer" /> + + <!-- xAOD::TrigHisto2D auxiliary type(s). --> + <class name="xAOD::TrigHisto2DAuxContainer_v1" + id="05B28A1E-1207-11E4-84E2-02163E00A892" /> + <typedef name="xAOD::TrigHisto2DAuxContainer" /> + + <!-- xAOD::TrigTrackCounts interface type(s). --> + <class name="xAOD::TrigTrackCounts_v1" /> + <class name="xAOD::TrigTrackCountsContainer_v1" + id="0650DED0-1207-11E4-9CD1-02163E00A892" /> + <typedef name="xAOD::TrigTrackCounts" /> + <typedef name="xAOD::TrigTrackCountsContainer" /> + + <!-- xAOD::TrigTrackCounts auxiliary type(s). --> + <class name="xAOD::TrigTrackCountsAuxContainer_v1" + id="0701BEB0-1207-11E4-9D08-02163E00A892" /> + <typedef name="xAOD::TrigTrackCountsAuxContainer" /> + + <!-- xAOD::TrigVertexCounts interface type(s). --> + <class name="xAOD::TrigVertexCounts_v1" /> + <class name="xAOD::TrigVertexCountsContainer_v1" + id="07EE6B72-1207-11E4-8B69-02163E00A892" /> + <typedef name="xAOD::TrigVertexCounts" /> + <typedef name="xAOD::TrigVertexCountsContainer" /> + + <!-- xAOD::TrigVertexCounts auxiliary type(s). --> + <class name="xAOD::TrigVertexCountsAuxContainer_v1" + id="70E7BDFE-1207-11E4-ACEF-02163E00A892" /> + <typedef name="xAOD::TrigVertexCountsAuxContainer" /> + + <!-- xAOD::TrigT2ZdcSignals interface type(s). --> + <class name="xAOD::TrigT2ZdcSignals_v1" /> + <class name="xAOD::TrigT2ZdcSignalsContainer_v1" + id="8313279A-5E27-11E4-A635-02163E00A82C" /> + <typedef name="xAOD::TrigT2ZdcSignals" /> + <typedef name="xAOD::TrigT2ZdcSignalsContainer" /> + + <!-- xAOD::TrigT2ZdcSignals auxiliary type(s). --> + <class name="xAOD::TrigT2ZdcSignalsAuxContainer_v1" + id="83B9F174-5E27-11E4-98C2-02163E00A82" /> + <typedef name="xAOD::TrigT2ZdcSignalsAuxContainer" /> + </lcgdict> diff --git a/Event/xAOD/xAODTrigMinBias/xAODTrigMinBias/xAODTrigMinBiasDict.h b/Event/xAOD/xAODTrigMinBias/xAODTrigMinBias/xAODTrigMinBiasDict.h index 9dfc23333d39aa30560d78a5e223b35859640c11..bab6e929e52f6f7c1230665181753f381803cd33 100644 --- a/Event/xAOD/xAODTrigMinBias/xAODTrigMinBias/xAODTrigMinBiasDict.h +++ b/Event/xAOD/xAODTrigMinBias/xAODTrigMinBias/xAODTrigMinBiasDict.h @@ -1,80 +1,68 @@ +// Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - #ifndef xAODTrigMinBias_xAODTrigMinBias_DICT_H #define xAODTrigMinBias_xAODTrigMinBias_DICT_H -// Include all headers here that need to have dictionaries -// generated for them. - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - +// Local include(s). +#include "xAODTrigMinBias/TrigSpacePointCounts.h" +#include "xAODTrigMinBias/TrigSpacePointCountsContainer.h" +#include "xAODTrigMinBias/TrigSpacePointCountsAuxContainer.h" #include "xAODTrigMinBias/versions/TrigSpacePointCounts_v1.h" #include "xAODTrigMinBias/versions/TrigSpacePointCountsContainer_v1.h" #include "xAODTrigMinBias/versions/TrigSpacePointCountsAuxContainer_v1.h" +#include "xAODTrigMinBias/TrigT2MbtsBits.h" +#include "xAODTrigMinBias/TrigT2MbtsBitsContainer.h" +#include "xAODTrigMinBias/TrigT2MbtsBitsAuxContainer.h" #include "xAODTrigMinBias/versions/TrigT2MbtsBits_v1.h" #include "xAODTrigMinBias/versions/TrigT2MbtsBitsContainer_v1.h" #include "xAODTrigMinBias/versions/TrigT2MbtsBitsAuxContainer_v1.h" +#include "xAODTrigMinBias/TrigHisto2D.h" +#include "xAODTrigMinBias/TrigHisto2DContainer.h" +#include "xAODTrigMinBias/TrigHisto2DAuxContainer.h" #include "xAODTrigMinBias/versions/TrigHisto2D_v1.h" #include "xAODTrigMinBias/versions/TrigHisto2DContainer_v1.h" #include "xAODTrigMinBias/versions/TrigHisto2DAuxContainer_v1.h" +#include "xAODTrigMinBias/TrigVertexCounts.h" +#include "xAODTrigMinBias/TrigVertexCountsContainer.h" +#include "xAODTrigMinBias/TrigVertexCountsAuxContainer.h" #include "xAODTrigMinBias/versions/TrigVertexCounts_v1.h" #include "xAODTrigMinBias/versions/TrigVertexCountsContainer_v1.h" #include "xAODTrigMinBias/versions/TrigVertexCountsAuxContainer_v1.h" +#include "xAODTrigMinBias/TrigTrackCounts.h" +#include "xAODTrigMinBias/TrigTrackCountsContainer.h" +#include "xAODTrigMinBias/TrigTrackCountsAuxContainer.h" #include "xAODTrigMinBias/versions/TrigTrackCounts_v1.h" #include "xAODTrigMinBias/versions/TrigTrackCountsContainer_v1.h" #include "xAODTrigMinBias/versions/TrigTrackCountsAuxContainer_v1.h" +#include "xAODTrigMinBias/TrigT2ZdcSignals.h" +#include "xAODTrigMinBias/TrigT2ZdcSignalsContainer.h" +#include "xAODTrigMinBias/TrigT2ZdcSignalsAuxContainer.h" #include "xAODTrigMinBias/versions/TrigT2ZdcSignals_v1.h" #include "xAODTrigMinBias/versions/TrigT2ZdcSignalsContainer_v1.h" #include "xAODTrigMinBias/versions/TrigT2ZdcSignalsAuxContainer_v1.h" -//i don't know what for +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" + +// Instantiate all necessary types for the dictionary. namespace { struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGMINBIAS { - xAOD::TrigSpacePointCountsContainer_v1 c1; - DataLink< xAOD::TrigSpacePointCountsContainer_v1 > dl1; - std::vector< DataLink< xAOD::TrigSpacePointCountsContainer_v1 > > dl2; - ElementLink< xAOD::TrigSpacePointCountsContainer_v1 > el1; - std::vector< ElementLink< xAOD::TrigSpacePointCountsContainer_v1 > > el2; - std::vector< std::vector< ElementLink< xAOD::TrigSpacePointCountsContainer_v1 > > > el3; - - xAOD::TrigT2MbtsBitsContainer_v1 ct1; - DataLink< xAOD::TrigT2MbtsBitsContainer_v1 > dlt1; - std::vector< DataLink< xAOD::TrigT2MbtsBitsContainer_v1 > > dlt2; - ElementLink< xAOD::TrigT2MbtsBitsContainer_v1 > elt1; - std::vector< ElementLink< xAOD::TrigT2MbtsBitsContainer_v1 > > elt2; - std::vector< std::vector< ElementLink< xAOD::TrigT2MbtsBitsContainer_v1 > > > elt3; - - xAOD::TrigVertexCountsContainer_v1 cv1; - DataLink< xAOD::TrigVertexCountsContainer_v1 > dlv1; - std::vector< DataLink< xAOD::TrigVertexCountsContainer_v1 > > dlv2; - ElementLink< xAOD::TrigVertexCountsContainer_v1 > elv1; - std::vector< ElementLink< xAOD::TrigVertexCountsContainer_v1 > > elv2; - std::vector< std::vector< ElementLink< xAOD::TrigVertexCountsContainer_v1 > > > elv3; - - xAOD::TrigTrackCountsContainer_v1 ctt1; - DataLink< xAOD::TrigTrackCountsContainer_v1 > dltt1; - std::vector< DataLink< xAOD::TrigTrackCountsContainer_v1 > > dltt2; - ElementLink< xAOD::TrigTrackCountsContainer_v1 > eltt1; - std::vector< ElementLink< xAOD::TrigTrackCountsContainer_v1 > > eltt2; - std::vector< std::vector< ElementLink< xAOD::TrigTrackCountsContainer_v1 > > > eltt3; - - xAOD::TrigT2ZdcSignalsContainer_v1 czdct1; - DataLink< xAOD::TrigT2ZdcSignalsContainer_v1 > dlzdct1; - std::vector< DataLink< xAOD::TrigT2ZdcSignalsContainer_v1 > > dlzdct2; - ElementLink< xAOD::TrigT2ZdcSignalsContainer_v1 > elzdct1; - std::vector< ElementLink< xAOD::TrigT2ZdcSignalsContainer_v1 > > elzdct2; - std::vector< std::vector< ElementLink< xAOD::TrigT2ZdcSignalsContainer_v1 > > > elzdct3; - + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, + TrigSpacePointCountsContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigT2MbtsBitsContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigHisto2DContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigVertexCountsContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigTrackCountsContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigT2ZdcSignalsContainer_v1 ); }; -} // private namespace +} -#endif +#endif // xAODTrigMinBias_xAODTrigMinBias_DICT_H diff --git a/Event/xAOD/xAODTrigMissingET/CMakeLists.txt b/Event/xAOD/xAODTrigMissingET/CMakeLists.txt index 7bc799388cbce8bf071d2bb13c6e5b88f9ddec7a..09d60f2e2f2046cb678d89a6106023dcbf0923f3 100644 --- a/Event/xAOD/xAODTrigMissingET/CMakeLists.txt +++ b/Event/xAOD/xAODTrigMissingET/CMakeLists.txt @@ -1,33 +1,24 @@ -################################################################################ -# Package: xAODTrigMissingET -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTrigMissingET ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - Control/AthContainers - Event/xAOD/xAODCore - PRIVATE - Control/AthLinks ) +# Pull in the helper CMake code. +find_package( xAODUtilities ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTrigMissingET - Root/*.cxx - PUBLIC_HEADERS xAODTrigMissingET - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES AthContainers xAODCore - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks ) - -atlas_add_dictionary( xAODTrigMissingETDict - xAODTrigMissingET/xAODTrigMissingETDict.h - xAODTrigMissingET/selection.xml - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers xAODCore AthLinks xAODTrigMissingET - EXTRA_FILES Root/dict/*.cxx ) + xAODTrigMissingET/versions/*.h xAODTrigMissingET/*.h Root/*.cxx + PUBLIC_HEADERS xAODTrigMissingET + LINK_LIBRARIES AthContainers xAODCore ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTrigMissingET/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::TrigMissingETContainer_v1" ) +atlas_add_dictionary( xAODTrigMissingETDict + xAODTrigMissingET/xAODTrigMissingETDict.h + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTrigMissingET + EXTRA_FILES Root/dict/*.cxx ) diff --git a/Event/xAOD/xAODTrigMissingET/xAODTrigMissingET/selection.xml b/Event/xAOD/xAODTrigMissingET/xAODTrigMissingET/selection.xml index 4a323ae44fd7539c0752bc6b3b4d0a4b3188fa72..9d497d7beb5086737d00acf100d20c0a7200823b 100644 --- a/Event/xAOD/xAODTrigMissingET/xAODTrigMissingET/selection.xml +++ b/Event/xAOD/xAODTrigMissingET/xAODTrigMissingET/selection.xml @@ -1,20 +1,16 @@ +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <class name="xAOD::TrigMissingET_v1" /> - <class name="xAOD::TrigMissingETContainer_v1" id="3EA0678D-5DCA-4BA8-BB29-775CB9A246AC" /> - <class name="xAOD::TrigMissingETAuxContainer_v1" id="E8C1613E-5E47-4B7F-8ED7-B30A8FE21DB4" /> - <class name="DataLink<xAOD::TrigMissingETContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::TrigMissingETContainer_v1> >" /> + <!-- xAOD::TrigMissingET interface type(s). --> + <class name="xAOD::TrigMissingET_v1" /> + <class name="xAOD::TrigMissingETContainer_v1" + id="3EA0678D-5DCA-4BA8-BB29-775CB9A246AC" /> + <typedef name="xAOD::TrigMissingET" /> + <typedef name="xAOD::TrigMissingETContainer" /> - <class name="ElementLink<xAOD::TrigMissingETContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TrigMissingETContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigMissingETContainer_v1> > >" /> - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - </exclusion> + <!-- xAOD::TrigMissingET auxiliary type(s). --> + <class name="xAOD::TrigMissingETAuxContainer_v1" + id="E8C1613E-5E47-4B7F-8ED7-B30A8FE21DB4" /> + <typedef name="xAOD::TrigMissingETAuxContainer" /> </lcgdict> diff --git a/Event/xAOD/xAODTrigMissingET/xAODTrigMissingET/xAODTrigMissingETDict.h b/Event/xAOD/xAODTrigMissingET/xAODTrigMissingET/xAODTrigMissingETDict.h index 05c79b8142592b5f3ab33b631fdb17493014efe9..e8c34047f358e473e7f4aacbfb00c666e9e67127 100644 --- a/Event/xAOD/xAODTrigMissingET/xAODTrigMissingET/xAODTrigMissingETDict.h +++ b/Event/xAOD/xAODTrigMissingET/xAODTrigMissingET/xAODTrigMissingETDict.h @@ -1,36 +1,27 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODTrigMissingETDict.h 630930 2014-11-25 14:57:49Z gwatts $ #ifndef xAODTrigMissingET_xAODTrigMissingET_DICT_H #define xAODTrigMissingET_xAODTrigMissingET_DICT_H -// Include all headers here that need to have dictionaries -// generated for them. - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - // Local include(s): #include "xAODTrigMissingET/TrigMissingET.h" #include "xAODTrigMissingET/TrigMissingETContainer.h" +#include "xAODTrigMissingET/TrigMissingETAuxContainer.h" #include "xAODTrigMissingET/versions/TrigMissingET_v1.h" #include "xAODTrigMissingET/versions/TrigMissingETContainer_v1.h" #include "xAODTrigMissingET/versions/TrigMissingETAuxContainer_v1.h" +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" + +// Instantiate all necessary types for the dictionary. namespace { struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGMISSINGET { - xAOD::TrigMissingETContainer_v1 c1; - DataLink< xAOD::TrigMissingETContainer_v1 > dl1; - std::vector< DataLink< xAOD::TrigMissingETContainer_v1 > > dl2; - ElementLink< xAOD::TrigMissingETContainer_v1 > el1; - std::vector< ElementLink< xAOD::TrigMissingETContainer_v1 > > el2; - std::vector< std::vector< ElementLink< xAOD::TrigMissingETContainer_v1 > > > el3; + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigMissingETContainer_v1 ); }; -} // private namespace +} -#endif +#endif // xAODTrigMissingET_xAODTrigMissingET_DICT_H diff --git a/Event/xAOD/xAODTrigMuon/CMakeLists.txt b/Event/xAOD/xAODTrigMuon/CMakeLists.txt index 1e60def6b2e5398082faccf92ebf20bb2c4ce6af..7cd013f180e94bd6ae2448519d7a24d0201253a3 100644 --- a/Event/xAOD/xAODTrigMuon/CMakeLists.txt +++ b/Event/xAOD/xAODTrigMuon/CMakeLists.txt @@ -1,41 +1,29 @@ -################################################################################ -# Package: xAODTrigMuon -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTrigMuon ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - Control/AthContainers - Event/xAOD/xAODBase - Event/xAOD/xAODCore - Event/xAOD/xAODTracking - PRIVATE - Control/AthLinks ) +# External dependencies. +find_package( ROOT COMPONENTS Core GenVector ) +find_package( xAODUtilities ) -# External dependencies: -find_package( ROOT COMPONENTS Physics Core Tree MathCore Hist RIO pthread GenVector ) - -# Extra dependencies, based on what environment we are in: -if (BUILDVP1LIGHT) - if( BUILDVP1LIGHT_DIST STREQUAL "ubuntu") - set( extra_libs GenVector ) - endif() -endif() - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTrigMuon - Root/*.cxx - PUBLIC_HEADERS xAODTrigMuon - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES AthContainers xAODBase xAODCore xAODTracking ${extra_libs} - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks ) + xAODTrigMuon/*.h xAODTrigMuon/versions/*.h Root/*.cxx + PUBLIC_HEADERS xAODTrigMuon + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODBase xAODCore + xAODTracking ) -atlas_add_dictionary( xAODTrigMuonDict - xAODTrigMuon/xAODTrigMuonDict.h - xAODTrigMuon/selection.xml - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers xAODBase xAODCore xAODTracking AthLinks xAODTrigMuon - EXTRA_FILES Root/dict/*.cxx ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTrigMuon/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::L2StandAloneMuonContainer_v1" + "xAOD::L2StandAloneMuonContainer_v2" "xAOD::L2IsoMuonContainer_v1" + "xAOD::L2CombinedMuonContainer_v1" ) +atlas_add_dictionary( xAODTrigMuonDict + xAODTrigMuon/xAODTrigMuonDict.h + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTrigMuon + EXTRA_FILES Root/dict/*.cxx ) diff --git a/Event/xAOD/xAODTrigMuon/xAODTrigMuon/selection.xml b/Event/xAOD/xAODTrigMuon/xAODTrigMuon/selection.xml index 0b8c9e2317debb53bf1ac6864bce3df4630caa2e..f1d072badb62a8e5f5d54c2e377bc7f61443299c 100644 --- a/Event/xAOD/xAODTrigMuon/xAODTrigMuon/selection.xml +++ b/Event/xAOD/xAODTrigMuon/xAODTrigMuon/selection.xml @@ -1,90 +1,72 @@ -<!-- $Id: selection.xml 706292 2015-11-06 05:33:24Z ssnyder $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- dictionaries: --> - - <!-- L2StandAloneMuon_v1 --> - <class name="xAOD::L2StandAloneMuon_v1" /> - - <class name="xAOD::L2StandAloneMuonContainer_v1" - id="645BDBC3-44EE-486B-8783-96F93FA2550B" /> - <class name="xAOD::L2StandAloneMuonAuxContainer_v1" - id="69F56941-D2B5-4C70-BFBD-605CB64A3DB8" /> - - <class name="DataLink<xAOD::L2StandAloneMuonContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::L2StandAloneMuonContainer_v1> >" /> - - <class name="ElementLink<xAOD::L2StandAloneMuonContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::L2StandAloneMuonContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::L2StandAloneMuonContainer_v1> > >" /> - - <!-- L2StandAloneMuon_v2 --> - <class name="xAOD::L2StandAloneMuon_v2" /> - - <class name="xAOD::L2StandAloneMuonContainer_v2" - id="6B02C486-CB3B-4762-89CA-60B210FC5AAF" /> - <class name="xAOD::L2StandAloneMuonAuxContainer_v2" - id="39CA616A-16BF-4CCE-8885-3D68CE7BC3B0" /> - - <class name="DataLink<xAOD::L2StandAloneMuonContainer_v2>" /> - <class name="std::vector<DataLink<xAOD::L2StandAloneMuonContainer_v2> >" /> - - <class name="ElementLink<xAOD::L2StandAloneMuonContainer_v2>" /> - <class name="std::vector<ElementLink<xAOD::L2StandAloneMuonContainer_v2> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::L2StandAloneMuonContainer_v2> > >" /> - - <!-- L2IsoMuon --> - <class name="xAOD::L2IsoMuon_v1" /> - - <class name="xAOD::L2IsoMuonContainer_v1" - id="D3AD2358-29B9-48D1-B181-89D4DA39B5CC" /> - <class name="xAOD::L2IsoMuonAuxContainer_v1" - id="09310901-41D9-49FB-A131-5AC73A9EA455" /> - - <class name="DataLink<xAOD::L2IsoMuonContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::L2IsoMuonContainer_v1> >" /> - - <class name="ElementLink<xAOD::L2IsoMuonContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::L2IsoMuonContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::L2IsoMuonContainer_v1> > >" /> - - <!-- L2CombinedMuon --> - <class name="xAOD::L2CombinedMuon_v1" /> - - <class name="xAOD::L2CombinedMuonContainer_v1" - id="91ECD1FA-3B9F-4F80-BBD1-698DCC7C9477" /> - <class name="xAOD::L2CombinedMuonAuxContainer_v1" - id="0A7A1CB4-A5D3-4447-BE1A-F4DA14D5891B" /> - - <class name="DataLink<xAOD::L2CombinedMuonContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::L2CombinedMuonContainer_v1> >" /> - - <class name="ElementLink<xAOD::L2CombinedMuonContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::L2CombinedMuonContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::L2CombinedMuonContainer_v1> > >" /> - - <read sourceClass="xAOD::L2CombinedMuonAuxContainer_v1" - targetClass="xAOD::L2CombinedMuonAuxContainer_v1" - checksum="[1033889070]" - source="std::vector<ElementLink<xAOD::L2StandAloneMuonContainer_v1> > muSATrackLink" - target="muSATrackLink" > - <![CDATA[ - muSATrackLink.clear(); - muSATrackLink.reserve (onfile.muSATrackLink.size()); - for (const ElementLink<xAOD::L2StandAloneMuonContainer_v1>& el : - onfile.muSATrackLink) - { - muSATrackLink.emplace_back (el.key(), el.index(), el.source()); - } - ]]> - </read> - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - <class name="DataVector<xAOD::IParticle>" /> - </exclusion> + <!-- xAOD::L2StandAloneMuon interface type(s). --> + <class name="xAOD::L2StandAloneMuon_v1" /> + <class name="xAOD::L2StandAloneMuonContainer_v1" + id="645BDBC3-44EE-486B-8783-96F93FA2550B" /> + <class name="xAOD::L2StandAloneMuon_v2" /> + <class name="xAOD::L2StandAloneMuonContainer_v2" + id="6B02C486-CB3B-4762-89CA-60B210FC5AAF" /> + <typedef name="xAOD::L2StandAloneMuon" /> + <typedef name="xAOD::L2StandAloneMuonContainer" /> + + <!-- Tell ROOT that it should automatically convert between smart pointer --> + <!-- types. --> + <read sourceClass="DataLink<xAOD::L2StandAloneMuonContainer_v1>" + version="[1-]" + targetClass="DataLink<xAOD::L2StandAloneMuonContainer_v2>" + source="" target="" /> + <read sourceClass="ElementLink<xAOD::L2StandAloneMuonContainer_v1>" + version="[1-]" + targetClass="ElementLink<xAOD::L2StandAloneMuonContainer_v2>" + source="" target="" /> + + <!-- xAOD::L2StandAloneMuon auxiliary type(s). --> + <class name="xAOD::L2StandAloneMuonAuxContainer_v1" + id="69F56941-D2B5-4C70-BFBD-605CB64A3DB8" /> + <class name="xAOD::L2StandAloneMuonAuxContainer_v2" + id="39CA616A-16BF-4CCE-8885-3D68CE7BC3B0" /> + <typedef name="xAOD::L2StandAloneMuonAuxContainer" /> + + <!-- xAOD::L2IsoMuon interface type(s). --> + <class name="xAOD::L2IsoMuon_v1" /> + <class name="xAOD::L2IsoMuonContainer_v1" + id="D3AD2358-29B9-48D1-B181-89D4DA39B5CC" /> + <typedef name="xAOD::L2IsoMuon" /> + <typedef name="xAOD::L2IsoMuonContainer" /> + + <!-- xAOD::L2IsoMuon auxiliary type(s). --> + <class name="xAOD::L2IsoMuonAuxContainer_v1" + id="09310901-41D9-49FB-A131-5AC73A9EA455" /> + <typedef name="xAOD::L2IsoMuonAuxContainer" /> + + <!-- xAOD::L2CombinedMuon interface type(s). --> + <class name="xAOD::L2CombinedMuon_v1" /> + <class name="xAOD::L2CombinedMuonContainer_v1" + id="91ECD1FA-3B9F-4F80-BBD1-698DCC7C9477" /> + <typedef name="xAOD::L2CombinedMuon" /> + <typedef name="xAOD::L2CombinedMuonContainer" /> + + <!-- xAOD::L2CombinedMuon auxiliary type(s). --> + <class name="xAOD::L2CombinedMuonAuxContainer_v1" + id="0A7A1CB4-A5D3-4447-BE1A-F4DA14D5891B" /> + <typedef name="xAOD::L2CombinedMuonAuxContainer" /> + + <read sourceClass="xAOD::L2CombinedMuonAuxContainer_v1" + targetClass="xAOD::L2CombinedMuonAuxContainer_v1" + checksum="[1033889070]" + source="std::vector<ElementLink<xAOD::L2StandAloneMuonContainer_v1> > muSATrackLink" + target="muSATrackLink" > + <![CDATA[ + muSATrackLink.clear(); + muSATrackLink.reserve (onfile.muSATrackLink.size()); + for (const ElementLink<xAOD::L2StandAloneMuonContainer_v1>& el : + onfile.muSATrackLink) + { + muSATrackLink.emplace_back (el.key(), el.index(), el.source()); + } + ]]> + </read> </lcgdict> diff --git a/Event/xAOD/xAODTrigMuon/xAODTrigMuon/xAODTrigMuonDict.h b/Event/xAOD/xAODTrigMuon/xAODTrigMuon/xAODTrigMuonDict.h index 49625d7b74ad92525356a51c31b2ed5a6f4afadd..6b7ae4fea1a8b60f83799ab35fc327b3e3a81542 100644 --- a/Event/xAOD/xAODTrigMuon/xAODTrigMuon/xAODTrigMuonDict.h +++ b/Event/xAOD/xAODTrigMuon/xAODTrigMuon/xAODTrigMuonDict.h @@ -1,73 +1,48 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODTrigMuonDict.h 698126 2015-10-02 12:59:53Z mishitsu $ #ifndef XAODTRIGMUON_XAODTRIGMUONDICT_H #define XAODTRIGMUON_XAODTRIGMUONDICT_H -// Needed to successfully generate the dictionary in standalone mode: -#if defined(__GCCXML__) and not defined(EIGEN_DONT_VECTORIZE) -# define EIGEN_DONT_VECTORIZE -#endif // __GCCXML__ - -// STL include(s): -#include <vector> - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - -// Local include(s): +// Local include(s). +#include "xAODTrigMuon/L2StandAloneMuon.h" #include "xAODTrigMuon/L2StandAloneMuonContainer.h" -#include "xAODTrigMuon/L2IsoMuonContainer.h" -#include "xAODTrigMuon/L2CombinedMuonContainer.h" +#include "xAODTrigMuon/L2StandAloneMuonAuxContainer.h" #include "xAODTrigMuon/versions/L2StandAloneMuon_v1.h" #include "xAODTrigMuon/versions/L2StandAloneMuonContainer_v1.h" #include "xAODTrigMuon/versions/L2StandAloneMuonAuxContainer_v1.h" #include "xAODTrigMuon/versions/L2StandAloneMuon_v2.h" #include "xAODTrigMuon/versions/L2StandAloneMuonContainer_v2.h" #include "xAODTrigMuon/versions/L2StandAloneMuonAuxContainer_v2.h" + +#include "xAODTrigMuon/L2IsoMuon.h" +#include "xAODTrigMuon/L2IsoMuonContainer.h" +#include "xAODTrigMuon/L2IsoMuonAuxContainer.h" #include "xAODTrigMuon/versions/L2IsoMuon_v1.h" #include "xAODTrigMuon/versions/L2IsoMuonContainer_v1.h" #include "xAODTrigMuon/versions/L2IsoMuonAuxContainer_v1.h" + +#include "xAODTrigMuon/L2CombinedMuon.h" +#include "xAODTrigMuon/L2CombinedMuonContainer.h" +#include "xAODTrigMuon/L2CombinedMuonAuxContainer.h" #include "xAODTrigMuon/versions/L2CombinedMuon_v1.h" #include "xAODTrigMuon/versions/L2CombinedMuonContainer_v1.h" #include "xAODTrigMuon/versions/L2CombinedMuonAuxContainer_v1.h" -namespace{ - struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGMUON { - - xAOD::L2StandAloneMuonContainer_v1 muonsa_c1; - DataLink< xAOD::L2StandAloneMuonContainer_v1 > muonsa_dl1; - std::vector< DataLink< xAOD::L2StandAloneMuonContainer_v1 > > muonsa_dl2; - ElementLink< xAOD::L2StandAloneMuonContainer_v1 > muonsa_el1; - std::vector< ElementLink< xAOD::L2StandAloneMuonContainer_v1 > > muonsa_el2; - std::vector< std::vector< ElementLink< xAOD::L2StandAloneMuonContainer_v1 > > > muonsa_el3; - - xAOD::L2StandAloneMuonContainer_v2 muonsa_c2; - DataLink< xAOD::L2StandAloneMuonContainer_v2 > muonsa_dl4; - std::vector< DataLink< xAOD::L2StandAloneMuonContainer_v2 > > muonsa_dl5; - ElementLink< xAOD::L2StandAloneMuonContainer_v2 > muonsa_el4; - std::vector< ElementLink< xAOD::L2StandAloneMuonContainer_v2 > > muonsa_el5; - std::vector< std::vector< ElementLink< xAOD::L2StandAloneMuonContainer_v2 > > > muonsa_el6; - - xAOD::L2IsoMuonContainer_v1 muoniso_c1; - DataLink< xAOD::L2IsoMuonContainer_v1 > muoniso_dl1; - std::vector< DataLink< xAOD::L2IsoMuonContainer_v1 > > muoniso_dl2; - ElementLink< xAOD::L2IsoMuonContainer_v1 > muoniso_el1; - std::vector< ElementLink< xAOD::L2IsoMuonContainer_v1 > > muoniso_el2; - std::vector< std::vector< ElementLink< xAOD::L2IsoMuonContainer_v1 > > > muoniso_el3; - - xAOD::L2CombinedMuonContainer_v1 muoncb_c1; - DataLink< xAOD::L2CombinedMuonContainer_v1 > muoncb_dl1; - std::vector< DataLink< xAOD::L2CombinedMuonContainer_v1 > > muoncb_dl2; - ElementLink< xAOD::L2CombinedMuonContainer_v1 > muoncb_el1; - std::vector< ElementLink< xAOD::L2CombinedMuonContainer_v1 > > muoncb_el2; - std::vector< std::vector< ElementLink< xAOD::L2CombinedMuonContainer_v1 > > > muoncb_el3; +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGMUON { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, L2StandAloneMuonContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, L2StandAloneMuonContainer_v2 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, L2IsoMuonContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, L2CombinedMuonContainer_v1 ); + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrackParticleContainer ); }; } diff --git a/Event/xAOD/xAODTrigRinger/CMakeLists.txt b/Event/xAOD/xAODTrigRinger/CMakeLists.txt index 7fa143bf63409fcd18f5c582defe9f252bbdf639..37a1fb37cdde2217163c64410736d1245c0efc33 100644 --- a/Event/xAOD/xAODTrigRinger/CMakeLists.txt +++ b/Event/xAOD/xAODTrigRinger/CMakeLists.txt @@ -1,33 +1,27 @@ -################################################################################ -# Package: xAODTrigRinger -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTrigRinger ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - Control/AthContainers - Control/AthLinks - Event/xAOD/xAODCore - Event/xAOD/xAODTrigCalo ) +# Pull in the helper CMake code. +find_package( xAODUtilities ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) - -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTrigRinger - Root/*.cxx - PUBLIC_HEADERS xAODTrigRinger - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES AthContainers AthLinks xAODCore xAODTrigCalo - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) - -atlas_add_dictionary( xAODTrigRingerDict - xAODTrigRinger/xAODTrigRingerDict.h - xAODTrigRinger/selection.xml - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODCore xAODTrigCalo xAODTrigRinger - EXTRA_FILES Root/dict/*.cxx ) + xAODTrigRinger/*.h xAODTrigRinger/versions/*.h Root/*.cxx + PUBLIC_HEADERS xAODTrigRinger + LINK_LIBRARIES AthContainers AthLinks xAODCore xAODTrigCalo ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTrigRinger/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::TrigRingerRingsContainer_v1" + "xAOD::TrigRingerRingsContainer_v2" + "xAOD::TrigRNNOutputContainer_v1" + "xAOD::TrigRNNOutputContainer_v2" ) +atlas_add_dictionary( xAODTrigRingerDict + xAODTrigRinger/xAODTrigRingerDict.h + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTrigRinger + EXTRA_FILES Root/dict/*.cxx ) diff --git a/Event/xAOD/xAODTrigRinger/xAODTrigRinger/selection.xml b/Event/xAOD/xAODTrigRinger/xAODTrigRinger/selection.xml index 7bfd0b3c5c528a9fd32f92344e4bee016385b085..5721f57dab0b7d96cb42f9e1f8a5206577dc7d1d 100644 --- a/Event/xAOD/xAODTrigRinger/xAODTrigRinger/selection.xml +++ b/Event/xAOD/xAODTrigRinger/xAODTrigRinger/selection.xml @@ -1,64 +1,59 @@ -<!-- $Id: selection.xml $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- TrigRingerRings_v1 dictionaries: --> - <class name="xAOD::TrigRingerRings_v1" /> - <class name="xAOD::TrigRingerRingsContainer_v1" - id="AEF63C18-1B19-4861-A909-FCAF11CFBFCE" /> - <class name="xAOD::TrigRingerRingsAuxContainer_v1" - id="4016ADBB-830C-4523-97E2-D5FED349D98D" /> - - <!-- - <class name="ElementLink<xAOD::TrigRingerRingsContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TrigRingerRingsContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigRingerRingsContainer_v1> > >" /> - --> - - <!-- TrigRingerRings_v2 dictionaries: --> - <class name="xAOD::TrigRingerRings_v2" /> - <class name="xAOD::TrigRingerRingsContainer_v2" - id="96FADA09-FADA-4437-AC96-B02CAA5DE776" /> - <class name="xAOD::TrigRingerRingsAuxContainer_v2" - id="5C14CCCA-B46E-4E2A-97F4-A15EAACB124C"/> - - - <class name="ElementLink<xAOD::TrigRingerRingsContainer_v2>" /> - <class name="std::vector<ElementLink<xAOD::TrigRingerRingsContainer_v2> >"/> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigRingerRingsContainer_v2> > >"/> - - - <!-- TrigRNNOutput_v1 dictionaries: --> - <class name="xAOD::TrigRNNOutput_v1" /> - <class name="xAOD::TrigRNNOutputContainer_v1" - id="E96CE49C-6A88-47A0-8DA0-F1D42E0813C8" /> - <class name="xAOD::TrigRNNOutputAuxContainer_v1" - id="5090A739-C400-4322-9F91-C49441C9141F" /> - - <!-- - <class name="ElementLink<xAOD::TrigRNNOutputContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TrigRNNOutputContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigRNNOutputContainer_v1> > >" /> - --> - - <!-- TrigRNNOutput_v2 dictionaries: --> - <class name="xAOD::TrigRNNOutput_v2" /> - <class name="xAOD::TrigRNNOutputContainer_v2" - id="6410C90B-57BE-48A9-9A96-A203E4EF90F1" /> - <class name="xAOD::TrigRNNOutputAuxContainer_v2" - id="725ADE43-9D9D-4856-90C6-8DE105BE62A4" /> - - - <class name="ElementLink<xAOD::TrigRNNOutputContainer_v2>" /> - <class name="std::vector<ElementLink<xAOD::TrigRNNOutputContainer_v2> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TrigRNNOutputContainer_v2> > >" /> - - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - <class name="ElementLink<DataVector<xAOD::TrigEMCluster > >" /> - </exclusion> + <!-- xAOD::TrigRingerRings interface type(s). --> + <class name="xAOD::TrigRingerRings_v1" /> + <class name="xAOD::TrigRingerRingsContainer_v1" + id="AEF63C18-1B19-4861-A909-FCAF11CFBFCE" /> + <class name="xAOD::TrigRingerRings_v2" /> + <class name="xAOD::TrigRingerRingsContainer_v2" + id="96FADA09-FADA-4437-AC96-B02CAA5DE776" /> + <typedef name="xAOD::TrigRingerRings" /> + <typedef name="xAOD::TrigRingerRingsContainer" /> + + <!-- Tell ROOT that it should automatically convert between smart pointer --> + <!-- types. --> + <read sourceClass="DataLink<xAOD::TrigRingerRingsContainer_v1>" + version="[1-]" + targetClass="DataLink<xAOD::TrigRingerRingsContainer_v2>" + source="" target="" /> + <read sourceClass="ElementLink<xAOD::TrigRingerRingsContainer_v1>" + version="[1-]" + targetClass="ElementLink<xAOD::TrigRingerRingsContainer_v2>" + source="" target="" /> + + <!-- xAOD::TrigRingerRings auxiliary type(s). --> + <class name="xAOD::TrigRingerRingsAuxContainer_v1" + id="4016ADBB-830C-4523-97E2-D5FED349D98D" /> + <class name="xAOD::TrigRingerRingsAuxContainer_v2" + id="5C14CCCA-B46E-4E2A-97F4-A15EAACB124C"/> + <typedef name="xAOD::TrigRingerRingsAuxContainer" /> + + <!-- xAOD::TrigRNNOutput interface type(s). --> + <class name="xAOD::TrigRNNOutput_v1" /> + <class name="xAOD::TrigRNNOutputContainer_v1" + id="E96CE49C-6A88-47A0-8DA0-F1D42E0813C8" /> + <class name="xAOD::TrigRNNOutput_v2" /> + <class name="xAOD::TrigRNNOutputContainer_v2" + id="6410C90B-57BE-48A9-9A96-A203E4EF90F1" /> + <typedef name="xAOD::TrigRNNOutput" /> + <typedef name="xAOD::TrigRNNOutputContainer" /> + + <!-- Tell ROOT that it should automatically convert between smart pointer --> + <!-- types. --> + <read sourceClass="DataLink<xAOD::TrigRNNOutputContainer_v1>" version="[1-]" + targetClass="DataLink<xAOD::TrigRNNOutputContainer_v2>" + source="" target="" /> + <read sourceClass="ElementLink<xAOD::TrigRNNOutputContainer_v1>" + version="[1-]" + targetClass="ElementLink<xAOD::TrigRNNOutputContainer_v2>" + source="" target="" /> + + <!-- xAOD::TrigRNNOutput auxiliary type(s). --> + <class name="xAOD::TrigRNNOutputAuxContainer_v1" + id="5090A739-C400-4322-9F91-C49441C9141F" /> + <class name="xAOD::TrigRNNOutputAuxContainer_v2" + id="725ADE43-9D9D-4856-90C6-8DE105BE62A4" /> + <typedef name="xAOD::TrigRNNOutputAuxContainer" /> </lcgdict> diff --git a/Event/xAOD/xAODTrigRinger/xAODTrigRinger/xAODTrigRingerDict.h b/Event/xAOD/xAODTrigRinger/xAODTrigRinger/xAODTrigRingerDict.h index 1ff2a2d9f7cf51d74297620588f5609c36e8400f..c570b23993656b1ef810102a56818551f3269170 100644 --- a/Event/xAOD/xAODTrigRinger/xAODTrigRinger/xAODTrigRingerDict.h +++ b/Event/xAOD/xAODTrigRinger/xAODTrigRinger/xAODTrigRingerDict.h @@ -1,81 +1,45 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - #ifndef XAODTRIGRINGER_XAODTRIGRINGERDICT_H #define XAODTRIGRINGER_XAODTRIGRINGERDICT_H -// STL include(s): -#include <vector> - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - -// Local include(s): +// Local include(s). +#include "xAODTrigRinger/TrigRingerRings.h" #include "xAODTrigRinger/TrigRingerRingsContainer.h" -#include "xAODTrigRinger/TrigRNNOutputContainer.h" - -// version 1 +#include "xAODTrigRinger/TrigRingerRingsAuxContainer.h" #include "xAODTrigRinger/versions/TrigRingerRings_v1.h" #include "xAODTrigRinger/versions/TrigRingerRingsContainer_v1.h" #include "xAODTrigRinger/versions/TrigRingerRingsAuxContainer_v1.h" -#include "xAODTrigRinger/versions/TrigRNNOutput_v1.h" -#include "xAODTrigRinger/versions/TrigRNNOutputContainer_v1.h" -#include "xAODTrigRinger/versions/TrigRNNOutputAuxContainer_v1.h" - -// version 2 #include "xAODTrigRinger/versions/TrigRingerRings_v2.h" #include "xAODTrigRinger/versions/TrigRingerRingsContainer_v2.h" #include "xAODTrigRinger/versions/TrigRingerRingsAuxContainer_v2.h" + +#include "xAODTrigRinger/TrigRNNOutput.h" +#include "xAODTrigRinger/TrigRNNOutputContainer.h" +#include "xAODTrigRinger/TrigRNNOutputAuxContainer.h" +#include "xAODTrigRinger/versions/TrigRNNOutput_v1.h" +#include "xAODTrigRinger/versions/TrigRNNOutputContainer_v1.h" +#include "xAODTrigRinger/versions/TrigRNNOutputAuxContainer_v1.h" #include "xAODTrigRinger/versions/TrigRNNOutput_v2.h" #include "xAODTrigRinger/versions/TrigRNNOutputContainer_v2.h" #include "xAODTrigRinger/versions/TrigRNNOutputAuxContainer_v2.h" -#include "xAODTrigCalo/TrigEMClusterContainer.h" - -// ElementLink<xAOD::*Container_v1> compiling in the dictionary. The CLID -/// is not needed in the "real" code, since users are never exposed to the _v1 -/// classes in Athena anymore. -//#include "xAODCore/CLASS_DEF.h" -//CLASS_DEF( xAOD::TrigRingerRingsContainer_v1 , 1337532868 , 10 ) -//CLASS_DEF( xAOD::TrigRNNOutputContainer_v1 , 1103699247 , 10 ) - - -namespace{ - - struct GCCXML_DUMMY_INSTANTIATION_XAODRINGERRINGS { - - // version 1 - xAOD::TrigRingerRingsContainer_v1 c3; - ElementLink< xAOD::TrigRingerRingsContainer_v1 > a1; - std::vector< ElementLink< xAOD::TrigRingerRingsContainer_v1 > > a3; - std::vector< std::vector< ElementLink< xAOD::TrigRingerRingsContainer_v1 > > > a4; - - xAOD::TrigRNNOutputContainer_v1 c4; - ElementLink< xAOD::TrigRNNOutputContainer_v1 > b1; - std::vector< ElementLink< xAOD::TrigRNNOutputContainer_v1 > > b3; - std::vector< std::vector< ElementLink< xAOD::TrigRNNOutputContainer_v1 > > > b4; - - // version 2 - xAOD::TrigRingerRingsContainer_v2 v2_c3; - ElementLink< xAOD::TrigRingerRingsContainer_v2 > v2_a1; - std::vector< ElementLink< xAOD::TrigRingerRingsContainer_v2 > > v2_a3; - std::vector< std::vector< ElementLink< xAOD::TrigRingerRingsContainer_v2 > > > v2_a4; - - xAOD::TrigRNNOutputContainer_v2 v2_c4; - ElementLink< xAOD::TrigRNNOutputContainer_v2 > v2_b1; - std::vector< ElementLink< xAOD::TrigRNNOutputContainer_v2 > > v2_b3; - std::vector< std::vector< ElementLink< xAOD::TrigRNNOutputContainer_v2 > > > v2_b4; - - // Declarations needed in order to generate the dictionaries of the - // auxiliary containers correctly: - ElementLink< xAOD::TrigEMClusterContainer > dummy1; - std::vector< ElementLink< xAOD::TrigEMClusterContainer > > dummy2; - - }; +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" + +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODRINGERRINGS { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigRingerRingsContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigRingerRingsContainer_v2 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigRNNOutputContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigRNNOutputContainer_v2 ); + // Type(s) needed for the dictionary generation to succeed. + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigEMClusterContainer ); + }; } -#endif // +#endif // XAODTRIGRINGER_XAODTRIGRINGERDICT_H diff --git a/Event/xAOD/xAODTruth/CMakeLists.txt b/Event/xAOD/xAODTruth/CMakeLists.txt index f7804228e3abbcaa96e09f76c36b70b78bd2dc1d..04c964d808232dc71569687cd1a62fcc07e74538 100644 --- a/Event/xAOD/xAODTruth/CMakeLists.txt +++ b/Event/xAOD/xAODTruth/CMakeLists.txt @@ -1,42 +1,37 @@ -# $Id: CMakeLists.txt 761796 2016-07-14 08:06:02Z krasznaa $ -################################################################################ -# Package: xAODTruth -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTruth ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( - PUBLIC - Control/AthContainers - Control/AthLinks - Event/xAOD/xAODBase - Event/xAOD/xAODCore - PRIVATE - Generators/TruthUtils ) - -# External dependencies: +# External dependencies. find_package( ROOT COMPONENTS Core GenVector ) +find_package( xAODUtilities ) -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODTruth xAODTruth/*.h xAODTruth/versions/*.h Root/*.h Root/*.cxx PUBLIC_HEADERS xAODTruth - LINK_LIBRARIES AthContainers AthLinks xAODBase xAODCore + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthLinks xAODBase xAODCore PRIVATE_LINK_LIBRARIES TruthUtils ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTruth/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::TruthParticleContainer_v1" "xAOD::TruthVertexContainer_v1" + "xAOD::TruthEventBaseContainer_v1" "xAOD::TruthEventContainer_v1" + "xAOD::TruthPileupEventContainer_v1" + "xAOD::TruthMetaDataContainer_v1" ) + atlas_add_dictionary( xAODTruthDict xAODTruth/xAODTruthDict.h - xAODTruth/selection.xml - LINK_LIBRARIES xAODTruth + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTruth EXTRA_FILES Root/dict/*.cxx ) - - atlas_generate_cliddb( xAODTruth ) -# Test(s) in the package: +# Test(s) in the package. atlas_add_test( ut_xaodtruth_particle_test SOURCES test/ut_xaodtruth_particle_test.cxx LINK_LIBRARIES xAODTruth ) diff --git a/Event/xAOD/xAODTruth/xAODTruth/selection.xml b/Event/xAOD/xAODTruth/xAODTruth/selection.xml index e051ef8fb0f866f65462af97a4e1f519411a35bf..1daa1f2c4d8cf341bb9d7d5ca0f527d14fcbae10 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/selection.xml +++ b/Event/xAOD/xAODTruth/xAODTruth/selection.xml @@ -1,75 +1,72 @@ -<!-- $Id: selection.xml 670153 2015-05-27 11:42:29Z tbisanz $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <typedef name="xAOD::TruthParticle" /> - <typedef name="xAOD::TruthVertex" /> - <typedef name="xAOD::TruthEvent" /> + <!-- xAOD::TruthParticle interface type(s). --> + <class name="xAOD::TruthParticle_v1" /> + <class name="xAOD::TruthParticle_v1::Polarization" /> + <class name="xAOD::TruthParticleContainer_v1" + id="58F98A16-E465-4CA5-A099-73033206D8E3" /> + <typedef name="xAOD::TruthParticle" /> + <typedef name="xAOD::TruthParticleContainer" /> - <typedef name="xAOD::TruthParticleContainer" /> - <typedef name="xAOD::TruthVertexContainer" /> - <typedef name="xAOD::TruthEventContainer" /> + <!-- xAOD::TruthParticle auxiliary type(s). --> + <class name="xAOD::TruthParticleAuxContainer_v1" + id="BA8FA08F-8DD6-420D-97D5-8B54EABECD65" /> + <typedef name="xAOD::TruthParticleAuxContainer" /> - <typedef name="xAOD::TruthParticleAuxContainer" /> - <typedef name="xAOD::TruthVertexAuxContainer" /> - <typedef name="xAOD::TruthEventAuxContainer" /> + <!-- xAOD::TruthVertex interface type(s). --> + <class name="xAOD::TruthVertex_v1" /> + <class name="xAOD::TruthVertexContainer_v1" + id="5FBAE0AB-09F7-4B6C-B066-0A003FC38ECF" /> + <typedef name="xAOD::TruthVertex" /> + <typedef name="xAOD::TruthVertexContainer" /> - <typedef name="xAOD::TruthMetaData" /> - <typedef name="xAOD::TruthMetaDataContainer" /> + <!-- xAOD::TruthVertex auxiliary type(s). --> + <class name="xAOD::TruthVertexAuxContainer_v1" + id="B6BD3B02-C411-4EB9-903F-5B099D3B1A3E" /> + <typedef name="xAOD::TruthVertexAuxContainer" /> + <!-- xAOD::TruthEvent interface type(s). --> + <class name="xAOD::TruthEventBase_v1" /> + <class name="xAOD::TruthEventBaseContainer_v1" /> + <typedef name="xAOD::TruthEventBase" /> + <typedef name="xAOD::TruthEventBaseContainer" /> - <!-- The TruthParticle_v1 class(es): --> - <class name="xAOD::TruthParticle_v1" /> - <class name="xAOD::TruthParticle_v1::Polarization" /> + <class name="xAOD::TruthEvent_v1" /> + <class name="xAOD::TruthEvent_v1::PdfInfo" /> + <class name="xAOD::TruthEventContainer_v1" + id="6290F297-F529-40EE-9FE5-1C577678306D" /> + <typedef name="xAOD::TruthEvent" /> + <typedef name="xAOD::TruthEventContainer" /> - <!-- The TruthVertex_v1 class: --> - <class name="xAOD::TruthVertex_v1" /> + <class name="xAOD::TruthPileupEvent_v1" /> + <class name="xAOD::TruthPileupEventContainer_v1" + id="05ECB16C-A36F-4853-8BB7-C9E7A84B4677" /> + <typedef name="xAOD::TruthPileupEvent" /> + <typedef name="xAOD::TruthPileupEventContainer" /> - <!-- The TruthEvent_v1 class(es): --> - <class name="xAOD::TruthEventBase_v1" /> - <class name="xAOD::TruthEventBaseContainer_v1" /> - <class name="xAOD::TruthEvent_v1" /> - <class name="xAOD::TruthPileupEvent_v1" /> - <class name="xAOD::TruthEvent_v1::PdfInfo" /> - <class name="xAOD::TruthMetaData_v1" /> + <!-- xAOD::TruthEvent auxiliary type(s). --> + <class name="xAOD::TruthEventAuxContainer_v1" + id="1B945EFD-4F7D-4BDD-9FB1-6FB975315961" /> + <typedef name="xAOD::TruthEventAuxContainer" /> - <!-- The persistent classes: --> - <class name="xAOD::TruthParticleContainer_v1" - id="58F98A16-E465-4CA5-A099-73033206D8E3" /> - <class name="xAOD::TruthVertexContainer_v1" - id="5FBAE0AB-09F7-4B6C-B066-0A003FC38ECF" /> - <class name="xAOD::TruthEventContainer_v1" - id="6290F297-F529-40EE-9FE5-1C577678306D" /> - <class name="xAOD::TruthPileupEventContainer_v1" - id="05ECB16C-A36F-4853-8BB7-C9E7A84B4677" /> - <class name="xAOD::TruthMetaDataContainer_v1" - id="754BDA89-C0D9-43BF-B468-32E10C1690FE" /> + <class name="xAOD::TruthPileupEventAuxContainer_v1" + id="9E9DD653-247C-4D5E-B14C-538EADEA6CD2" /> + <typedef name="xAOD::TruthPileupEventAuxContainer" /> - <class name="xAOD::TruthParticleAuxContainer_v1" - id="BA8FA08F-8DD6-420D-97D5-8B54EABECD65" /> - <class name="xAOD::TruthVertexAuxContainer_v1" - id="B6BD3B02-C411-4EB9-903F-5B099D3B1A3E" /> - <class name="xAOD::TruthEventAuxContainer_v1" - id="1B945EFD-4F7D-4BDD-9FB1-6FB975315961" /> - <class name="xAOD::TruthPileupEventAuxContainer_v1" - id="9E9DD653-247C-4D5E-B14C-538EADEA6CD2" /> - <class name="xAOD::TruthMetaDataAuxContainer_v1" - id="E2EF5F89-DFFA-4225-823E-29E40130A7B2" /> + <!-- xAOD::TruthMetaData interface type(s). --> + <class name="xAOD::TruthMetaData_v1" /> + <class name="xAOD::TruthMetaDataContainer_v1" + id="754BDA89-C0D9-43BF-B468-32E10C1690FE" /> + <typedef name="xAOD::TruthMetaData" /> + <typedef name="xAOD::TruthMetaDataContainer" /> - <!-- Smart pointers for TruthParticle_v1: --> - <class name="DataLink<xAOD::TruthParticleContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::TruthParticleContainer_v1> >" /> - <class name="ElementLink<xAOD::TruthParticleContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TruthParticleContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TruthParticleContainer_v1> > >" /> + <!-- xAOD::TruthMetaData auxiliary type(s). --> + <class name="xAOD::TruthMetaDataAuxContainer_v1" + id="E2EF5F89-DFFA-4225-823E-29E40130A7B2" /> + <typedef name="xAOD::TruthMetaDataAuxContainer" /> - <!-- Smart pointers for TruthVertex_v1: --> - <class name="DataLink<xAOD::TruthVertexContainer_v1>" /> - <class name="std::vector<DataLink<xAOD::TruthVertexContainer_v1> >" /> - <class name="ElementLink<xAOD::TruthVertexContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::TruthVertexContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TruthVertexContainer_v1> > >" /> - - <!-- The helper functions: --> - <function pattern="xAOD::TruthHelpers::*" /> + <!-- Helper function(s). --> + <function pattern="xAOD::TruthHelpers::*" /> </lcgdict> diff --git a/Event/xAOD/xAODTruth/xAODTruth/xAODTruthDict.h b/Event/xAOD/xAODTruth/xAODTruth/xAODTruthDict.h index 43d481519f4aec026ed1e6f57df97231ae104f07..4043d664ca4d2bb8b5a47da3df4f8cc894a83cf4 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/xAODTruthDict.h +++ b/Event/xAOD/xAODTruth/xAODTruth/xAODTruthDict.h @@ -1,67 +1,64 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODTruthDict.h 670153 2015-05-27 11:42:29Z tbisanz $ #ifndef XAODTRUTH_XAODTRUTHDICT_H #define XAODTRUTH_XAODTRUTHDICT_H -// System include(s): -#include <vector> - -// EDM include(s): -#include "AthLinks/DataLink.h" -#include "AthLinks/ElementLink.h" - -// Local include(s): +// Local include(s). +#include "xAODTruth/TruthParticle.h" +#include "xAODTruth/TruthParticleContainer.h" +#include "xAODTruth/TruthParticleAuxContainer.h" +#include "xAODTruth/versions/TruthParticle_v1.h" #include "xAODTruth/versions/TruthParticleContainer_v1.h" #include "xAODTruth/versions/TruthParticleAuxContainer_v1.h" -#include "xAODTruth/versions/TruthVertexContainer_v1.h" -#include "xAODTruth/versions/TruthVertexAuxContainer_v1.h" -#include "xAODTruth/versions/TruthEventBaseContainer_v1.h" -#include "xAODTruth/versions/TruthEventContainer_v1.h" -#include "xAODTruth/versions/TruthEventAuxContainer_v1.h" -#include "xAODTruth/versions/TruthPileupEventContainer_v1.h" -#include "xAODTruth/versions/TruthPileupEventAuxContainer_v1.h" -#include "xAODTruth/versions/TruthMetaDataContainer_v1.h" -#include "xAODTruth/versions/TruthMetaDataAuxContainer_v1.h" -#include "xAODTruth/TruthParticleContainer.h" -#include "xAODTruth/TruthParticleAuxContainer.h" +#include "xAODTruth/TruthVertex.h" #include "xAODTruth/TruthVertexContainer.h" #include "xAODTruth/TruthVertexAuxContainer.h" +#include "xAODTruth/versions/TruthVertex_v1.h" +#include "xAODTruth/versions/TruthVertexContainer_v1.h" +#include "xAODTruth/versions/TruthVertexAuxContainer_v1.h" + +#include "xAODTruth/TruthEventBase.h" #include "xAODTruth/TruthEventBaseContainer.h" +#include "xAODTruth/TruthEvent.h" #include "xAODTruth/TruthEventContainer.h" #include "xAODTruth/TruthEventAuxContainer.h" +#include "xAODTruth/TruthPileupEvent.h" #include "xAODTruth/TruthPileupEventContainer.h" #include "xAODTruth/TruthPileupEventAuxContainer.h" +#include "xAODTruth/versions/TruthEventBase_v1.h" +#include "xAODTruth/versions/TruthEventBaseContainer_v1.h" +#include "xAODTruth/versions/TruthEvent_v1.h" +#include "xAODTruth/versions/TruthEventContainer_v1.h" +#include "xAODTruth/versions/TruthEventAuxContainer_v1.h" +#include "xAODTruth/versions/TruthPileupEvent_v1.h" +#include "xAODTruth/versions/TruthPileupEventContainer_v1.h" +#include "xAODTruth/versions/TruthPileupEventAuxContainer_v1.h" + +#include "xAODTruth/TruthMetaData.h" #include "xAODTruth/TruthMetaDataContainer.h" #include "xAODTruth/TruthMetaDataAuxContainer.h" +#include "xAODTruth/versions/TruthMetaData_v1.h" +#include "xAODTruth/versions/TruthMetaDataContainer_v1.h" +#include "xAODTruth/versions/TruthMetaDataAuxContainer_v1.h" + #include "xAODTruth/xAODTruthHelpers.h" +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" + +// Instantiate all necessary types for the dictionary. namespace { struct GCCXML_DUMMY_INSTANTIATION_XAODTRUTH { - // The DataVector types: - xAOD::TruthParticleContainer_v1 c1; - xAOD::TruthVertexContainer_v1 c2; - xAOD::TruthEventBaseContainer_v1 c3; - xAOD::TruthEventContainer_v1 c4; - xAOD::TruthPileupEventContainer_v1 c5; - xAOD::TruthMetaDataContainer_v1 c6; - - // The smart pointer types: - DataLink< xAOD::TruthParticleContainer_v1 > dl1; - std::vector< DataLink< xAOD::TruthParticleContainer_v1 > > dl2; - DataLink< xAOD::TruthVertexContainer_v1 > dl3; - std::vector< DataLink< xAOD::TruthVertexContainer_v1 > > dl4; - ElementLink< xAOD::TruthParticleContainer_v1 > el1; - std::vector< ElementLink< xAOD::TruthParticleContainer_v1 > > el2; - std::vector< std::vector< ElementLink< xAOD::TruthParticleContainer_v1 > > > el3; - ElementLink< xAOD::TruthVertexContainer_v1 > el4; - std::vector< ElementLink< xAOD::TruthVertexContainer_v1 > > el5; - std::vector< std::vector< ElementLink< xAOD::TruthVertexContainer_v1 > > > el6; + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TruthParticleContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TruthVertexContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TruthEventBaseContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TruthEventContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TruthPileupEventContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TruthMetaDataContainer_v1 ); }; }