From adc473363fdcce91c026543c89a1713d0c974bb2 Mon Sep 17 00:00:00 2001 From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch> Date: Tue, 26 May 2020 10:36:44 +0200 Subject: [PATCH] Updated the xAODTrigger package's dictionary generation. Made sure that all potentially useful/necessary types are generated in an organised fashion, using the helper code from xAODCore. Declared the typedef names to the generated ROOT dictionary. Moved the pure STL types to the xAODCoreSTLDict dictionary. --- Event/xAOD/xAODTrigger/CMakeLists.txt | 45 ++--- .../xAODTrigger/xAODTrigger/selection.xml | 153 +++++++++++----- .../xAODTrigger/xAODTrigger/xAODTriggerDict.h | 163 ++++++++---------- 3 files changed, 202 insertions(+), 159 deletions(-) diff --git a/Event/xAOD/xAODTrigger/CMakeLists.txt b/Event/xAOD/xAODTrigger/CMakeLists.txt index 5f0b72e7966..73487f2ce92 100644 --- a/Event/xAOD/xAODTrigger/CMakeLists.txt +++ b/Event/xAOD/xAODTrigger/CMakeLists.txt @@ -1,38 +1,41 @@ -################################################################################ -# Package: xAODTrigger -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODTrigger ) -# Extra dependencies, based on what environment we're in: +# Extra dependencies, based on what environment we're 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 - Control/AthContainersInterfaces - Control/AthLinks - Event/xAOD/xAODCore - Event/xAOD/xAODBase - Trigger/TrigEvent/TrigNavStructure - ${extra_deps} ) - -# Component(s) in the package: +# Pull in the helper CMake code. +find_package( xAODUtilities ) + +# Component(s) in the package. atlas_add_library( xAODTrigger xAODTrigger/*.h xAODTrigger/versions/*.h xAODTrigger/versions/*.icc Root/*.cxx PUBLIC_HEADERS xAODTrigger - LINK_LIBRARIES AthContainers AthLinks xAODCore xAODBase TrigNavStructure ${extra_libs} ) + LINK_LIBRARIES AthContainers AthLinks xAODCore xAODBase TrigNavStructure + ${extra_libs} ) + +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODTrigger/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::MuonRoIContainer_v1" "xAOD::JetRoIContainer_v1" + "xAOD::JetRoIContainer_v2" "xAOD::EmTauRoIContainer_v1" + "xAOD::EmTauRoIContainer_v2" "xAOD::TriggerMenuContainer_v1" + "xAOD::TrigCompositeContainer_v1" "xAOD::BunchConfContainer_v1" + "xAOD::TrigPassBitsContainer_v1" + OBJECTS "xAOD::EnergySumRoI_v1" "xAOD::EnergySumRoI_v2" + "xAOD::TrigDecision_v1" "xAOD::TrigNavigation_v1" + "xAOD::RoiDescriptorStore_v1" ) atlas_add_dictionary( xAODTriggerDict xAODTrigger/xAODTriggerDict.h - xAODTrigger/selection.xml - LINK_LIBRARIES xAODTrigger + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODTrigger EXTRA_FILES Root/dict/*.cxx ) atlas_add_test( ut_xaodtrigger_bytestreamauxcontainer_v1_test diff --git a/Event/xAOD/xAODTrigger/xAODTrigger/selection.xml b/Event/xAOD/xAODTrigger/xAODTrigger/selection.xml index a336d26549c..d316db7bfc3 100644 --- a/Event/xAOD/xAODTrigger/xAODTrigger/selection.xml +++ b/Event/xAOD/xAODTrigger/xAODTrigger/selection.xml @@ -1,7 +1,7 @@ -<!-- $Id: selection.xml 743093 2016-04-26 21:46:56Z watsona $ --> +<!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> - <!-- The byte stream auxiliary container, v1: --> + <!-- xAOD::ByteStreamAuxContainer type(s). --> <class name="xAOD::ByteStreamAuxContainer_v1" > <field name="m_auxids" transient="true" /> <field name="m_staticVecs" transient="true" /> @@ -20,119 +20,169 @@ ]]> </read> - <!-- Types used by ByteStreamAuxContainer_v1 internally: --> - <class name="std::map<std::string,std::vector<int> >" /> - <class name="std::map<std::string,std::vector<float> >" /> - <class name="std::map<std::string,std::vector<std::vector<int> > >" /> - <class name="std::map<std::string,std::vector<std::vector<float> > >" /> - - <!-- Types used by Signature and Sequence info in TriggerMenuAuxContainer_v1 --> - <class name="std::vector<std::vector<std::vector<std::string> > >" /> - <class name="std::vector<std::vector<std::vector<uint32_t> > >" /> - <class name="std::vector<std::vector<std::vector<std::vector<std::string> > > >" /> - - <!-- RoI dictionaries: --> + <!-- xAOD::MuonRoI interface type(s). --> <class name="xAOD::MuonRoI_v1" /> <class name="xAOD::MuonRoIContainer_v1" id="807F1B34-CFD5-4410-AB98-83231B551D6F" /> + <typedef name="xAOD::MuonRoI" /> + <typedef name="xAOD::MuonRoIContainer" /> + + <!-- xAOD::MuonRoI auxiliary type(s). --> <class name="xAOD::MuonRoIAuxContainer_v1" id="242CC7E8-D74C-4208-A3F6-2982628F1F8E" /> + <typedef name="xAOD::MuonRoIAuxContainer" /> + <!-- xAOD::JetRoI interface type(s). --> <class name="xAOD::JetRoI_v1" /> <class name="xAOD::JetRoIContainer_v1" id="ED39F230-5E9A-11E3-9563-02163E00A725" /> - <class name="xAOD::JetRoIAuxContainer_v1" - id="64C2E2A4-5E9A-11E3-BEF2-02163E00A725" /> - <class name="xAOD::JetRoI_v2" /> <class name="xAOD::JetRoIContainer_v2" id="8F9A76C9-2083-4774-A0EE-FB585930B664" /> + <typedef name="xAOD::JetRoI" /> + <typedef name="xAOD::JetRoIContainer" /> + + <!-- xAOD::JetRoI auxiliary type(s). --> + <class name="xAOD::JetRoIAuxContainer_v1" + id="64C2E2A4-5E9A-11E3-BEF2-02163E00A725" /> <class name="xAOD::JetRoIAuxContainer_v2" id="8448ECAF-10E0-4E8B-9E67-3A00FEA36317" /> - + <typedef name="xAOD::JetRoIAuxContainer" /> + + <!-- Tell ROOT that it should automatically convert between smart pointer --> + <!-- types. --> + <read sourceClass="DataLink<xAOD::JetRoIContainer_v1>" version="[1-]" + targetClass="DataLink<xAOD::JetRoIContainer_v2>" + source="" target="" /> + <read sourceClass="ElementLink<xAOD::JetRoIContainer_v1>" version="[1-]" + targetClass="ElementLink<xAOD::JetRoIContainer_v2>" + source="" target="" /> + + <!-- xAOD::EmTauRoI interface type(s). --> <class name="xAOD::EmTauRoI_v1" /> <class name="xAOD::EmTauRoIContainer_v1" id="101CD1EE-5EA2-11E3-895D-02163E00A743" /> - <class name="xAOD::EmTauRoIAuxContainer_v1" - id="1825AE7E-5EA2-11E3-A41F-02163E00A743" /> - <class name="xAOD::EmTauRoI_v2" /> <class name="xAOD::EmTauRoIContainer_v2" id="6AB862C4-31E6-4F66-AAE8-56BA01E350F2" /> + <typedef name="xAOD::EmTauRoI" /> + <typedef name="xAOD::EmTauRoIContainer" /> + + <!-- xAOD::EmTauRoI auxiliary type(s). --> + <class name="xAOD::EmTauRoIAuxContainer_v1" + id="1825AE7E-5EA2-11E3-A41F-02163E00A743" /> <class name="xAOD::EmTauRoIAuxContainer_v2" id="74EA3AFB-B7BE-4E4B-AD5D-4297CA6EDBCD" /> - + <typedef name="xAOD::EmTauRoIAuxContainer" /> + + <!-- Tell ROOT that it should automatically convert between smart pointer --> + <!-- types. --> + <read sourceClass="DataLink<xAOD::EmTauRoIContainer_v1>" version="[1-]" + targetClass="DataLink<xAOD::EmTauRoIContainer_v2>" + source="" target="" /> + <read sourceClass="ElementLink<xAOD::EmTauRoIContainer_v1>" version="[1-]" + targetClass="ElementLink<xAOD::EmTauRoIContainer_v2>" + source="" target="" /> + + <!-- xAOD::JetEtRoI interface type(s). --> <class name="xAOD::JetEtRoI_v1" id="6018AD28-5EAF-11E3-9B5D-02163E00A743" /> + <typedef name="xAOD::JetEtRoI" /> + + <!-- xAOD::JetEtRoI auxiliary type(s). --> <class name="xAOD::JetEtRoIAuxInfo_v1" id="6A7C6F7A-5EAF-11E3-BFBC-02163E00A743" /> + <typedef name="xAOD::JetEtRoIAuxInfo" /> + <!-- xAOD::EnergySumRoI interface type(s). --> <class name="xAOD::EnergySumRoI_v1" id="727CB19A-5EB8-11E3-81B0-02163E00A743" /> - <class name="xAOD::EnergySumRoIAuxInfo_v1" - id="7BD71A00-5EB8-11E3-95AF-02163E00A743" /> - <class name="xAOD::EnergySumRoI_v2" id="3F26401F-25D9-4CCA-B883-57EBCEE8D299" /> + <typedef name="xAOD::EnergySumRoI" /> + + <!-- xAOD::EnergySumRoI auxiliary type(s). --> + <class name="xAOD::EnergySumRoIAuxInfo_v1" + id="7BD71A00-5EB8-11E3-95AF-02163E00A743" /> <class name="xAOD::EnergySumRoIAuxInfo_v2" id="7A0DB6D7-05F6-4D3A-9E8B-0230350E3E25" /> + <typedef name="xAOD::EnergySumRoIAuxInfo" /> + + <!-- Tell ROOT that it should automatically convert between smart pointer --> + <!-- types. --> + <read sourceClass="DataLink<xAOD::EnergySumRoI_v1>" version="[1-]" + targetClass="DataLink<xAOD::EnergySumRoI_v2>" + source="" target="" /> - <!-- TriggerMenu dictionaries: --> + <!-- xAOD::TriggerMenu interface type(s). --> <class name="xAOD::TriggerMenu_v1" /> <class name="xAOD::TriggerMenuContainer_v1" id="AA55120B-11CF-44A3-B1E4-A5AB062207B7" /> + <typedef name="xAOD::TriggerMenu" /> + <typedef name="xAOD::TriggerMenuContainer" /> + + <!-- xAOD::TriggerMenu auxiliary type(s). --> <class name="xAOD::TriggerMenuAuxContainer_v1" id="B8614CC5-8696-4170-8CCC-496DA7671246" /> + <typedef name="xAOD::TriggerMenuAuxContainer" /> - <class name="xAOD::TrigConfKeys_v1" - id="A88FD5D2-8BCB-4ADC-978C-0914D86B96B7" /> - - <!-- Extra types used by TriggerMenu: --> - <class name="std::vector<std::vector<uint16_t> >" /> - <class name="std::vector<std::vector<std::vector<uint16_t> > >" /> - - <!-- TrigDecision_v1 dictionaries: --> + <!-- xAOD::TrigDecision interface type(s). --> <class name="xAOD::TrigDecision_v1" id="092BCB2D-9630-4689-BE86-7B93466420DA" /> + <typedef name="xAOD::TrigDecision" /> + + <!-- xAOD::TrigDecision auxiliary type(s). --> <class name="xAOD::TrigDecisionAuxInfo_v1" id="F9618829-3B9C-41CB-8A87-D26B5D31CA79" /> + <typedef name="xAOD::TrigDecisionAuxInfo" /> - <!-- TrigNavigation_v1 dictionaries: --> + <!-- xAOD::TrigNavigation interface type(s). --> <class name="xAOD::TrigNavigation_v1" id="C9131CE0-C4D5-47A2-B088-D49ECE2C3C69" /> + <typedef name="xAOD::TrigNavigation" /> + + <!-- xAOD::TrigNavigation auxiliary type(s). --> <class name="xAOD::TrigNavigationAuxInfo_v1" id="924049A6-25B4-4406-A70A-CCAC2E4233E1" /> + <typedef name="xAOD::TrigNavigationAuxInfo" /> - <!-- TrigComposite_v1 dictionaries: --> + <!-- xAOD::TrigComposite interface type(s). --> <class name="xAOD::TrigComposite_v1" /> <class name="xAOD::TrigCompositeContainer_v1" id="3CB1DCCD-2B78-4E15-AC09-D75B228A29AA" /> + <typedef name="xAOD::TrigComposite" /> + <typedef name="xAOD::TrigCompositeContainer" /> + + <!-- xAOD::TrigComposite auxiliary type(s). --> <class name="xAOD::TrigCompositeAuxContainer_v1" id="171EB8B8-A777-47D9-94A9-33B2482E2AAF" /> - - <!-- TrigComposite_v2 dictionaries: --> <class name="xAOD::TrigCompositeAuxContainer_v2" id="3174A8A0-7EA2-436D-93FC-0D058BE99B09" /> + <typedef name="xAOD::TrigCompositeAuxContainer" /> - <!-- RoiDescriptorStore_v1 dictionaries: --> + <!-- xAOD::RoiDescriptorStore interface type(s). --> <class name="xAOD::RoiDescriptorStore_v1" id="882822c8-906a-11e5-87f4-02163e010d8c" /> + <typedef name="xAOD::RoiDescriptorStore" /> + + <!-- xAOD::RoiDescriptorStore auxiliary type(s). --> <class name="xAOD::RoiDescriptorStoreAuxInfo_v1" id="8aa7eae2-906a-11e5-a100-02163e010d8c" /> + <typedef name="xAOD::RoiDescriptorStoreAuxInfo" /> - <!-- Extra types used by TrigComposite: --> - <class name="std::vector<std::vector<std::string> >" /> - - <!-- Bunch configuration dictionaries: --> + <!-- xAOD::BunchConf interface type(s). --> <class name="xAOD::BunchConf_v1" /> <class name="xAOD::BunchConfContainer_v1" id="07B1BB98-24EE-4EA3-B0D5-ECB2B0A3CB65" /> + <typedef name="xAOD::BunchConf" /> + <typedef name="xAOD::BunchConfContainer" /> + + <!-- xAOD::BunchConf auxiliary type(s). --> <class name="xAOD::BunchConfAuxContainer_v1" id="29CFA84E-5C7C-4AAD-8FB5-F5EB9AF93423" /> - <class name="xAOD::BunchConfKey_v1" - id="B7FA1A14-95A4-4852-813E-CB2271906060" /> + <typedef name="xAOD::BunchConfAuxContainer" /> - <!-- TrigPassBits dictionaries: --> + <!-- xAOD::TrigPassBits interface type(s). --> <class name="xAOD::TrigPassBits_v1" > <field name="m_container" transient="true" /> </class> @@ -145,7 +195,18 @@ </read> <class name="xAOD::TrigPassBitsContainer_v1" id="7B5DF7FF-2043-414E-BEDC-2BB0AB518AF7" /> + <typedef name="xAOD::TrigPassBits" /> + <typedef name="xAOD::TrigPassBitsContainer" /> + + <!-- xAOD::TrigPassBits auxiliary type(s). --> <class name="xAOD::TrigPassBitsAuxContainer_v1" id="AD293D04-8D40-4704-B945-04283172D035" /> + <typedef name="xAOD::TrigPassBitsAuxContainer" /> + + <!-- Key type(s). --> + <class name="xAOD::TrigConfKeys_v1" + id="A88FD5D2-8BCB-4ADC-978C-0914D86B96B7" /> + <class name="xAOD::BunchConfKey_v1" + id="B7FA1A14-95A4-4852-813E-CB2271906060" /> </lcgdict> diff --git a/Event/xAOD/xAODTrigger/xAODTrigger/xAODTriggerDict.h b/Event/xAOD/xAODTrigger/xAODTrigger/xAODTriggerDict.h index 6ce42c1839a..5b5127c2523 100644 --- a/Event/xAOD/xAODTrigger/xAODTrigger/xAODTriggerDict.h +++ b/Event/xAOD/xAODTrigger/xAODTrigger/xAODTriggerDict.h @@ -1,149 +1,128 @@ // 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: xAODTriggerDict.h 743093 2016-04-26 21:46:56Z watsona $ #ifndef XAODTRIGGER_XAODTRIGGERDICT_H #define XAODTRIGGER_XAODTRIGGERDICT_H -// 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 "xAODTrigger/versions/ByteStreamAuxContainer_v1.h" +#include "xAODTrigger/TriggerMenu.h" +#include "xAODTrigger/TriggerMenuContainer.h" +#include "xAODTrigger/TriggerMenuAuxContainer.h" #include "xAODTrigger/versions/TriggerMenu_v1.h" #include "xAODTrigger/versions/TriggerMenuContainer_v1.h" #include "xAODTrigger/versions/TriggerMenuAuxContainer_v1.h" +#include "xAODTrigger/MuonRoI.h" +#include "xAODTrigger/MuonRoIContainer.h" +#include "xAODTrigger/MuonRoIAuxContainer.h" +#include "xAODTrigger/versions/MuonRoI_v1.h" #include "xAODTrigger/versions/MuonRoIContainer_v1.h" #include "xAODTrigger/versions/MuonRoIAuxContainer_v1.h" -#include "xAODTrigger/versions/MuonRoI_v1.h" +#include "xAODTrigger/JetRoI.h" +#include "xAODTrigger/JetRoIContainer.h" +#include "xAODTrigger/JetRoIAuxContainer.h" +#include "xAODTrigger/versions/JetRoI_v1.h" #include "xAODTrigger/versions/JetRoIContainer_v1.h" #include "xAODTrigger/versions/JetRoIAuxContainer_v1.h" -#include "xAODTrigger/versions/JetRoI_v1.h" - +#include "xAODTrigger/versions/JetRoI_v2.h" #include "xAODTrigger/versions/JetRoIContainer_v2.h" #include "xAODTrigger/versions/JetRoIAuxContainer_v2.h" -#include "xAODTrigger/versions/JetRoI_v2.h" +#include "xAODTrigger/EmTauRoI.h" +#include "xAODTrigger/EmTauRoIContainer.h" +#include "xAODTrigger/EmTauRoIAuxContainer.h" +#include "xAODTrigger/versions/EmTauRoI_v1.h" #include "xAODTrigger/versions/EmTauRoIContainer_v1.h" #include "xAODTrigger/versions/EmTauRoIAuxContainer_v1.h" -#include "xAODTrigger/versions/EmTauRoI_v1.h" - +#include "xAODTrigger/versions/EmTauRoI_v2.h" #include "xAODTrigger/versions/EmTauRoIContainer_v2.h" #include "xAODTrigger/versions/EmTauRoIAuxContainer_v2.h" -#include "xAODTrigger/versions/EmTauRoI_v2.h" -#include "xAODTrigger/versions/JetEtRoIAuxInfo_v1.h" +#include "xAODTrigger/JetEtRoI.h" +#include "xAODTrigger/JetEtRoIAuxInfo.h" #include "xAODTrigger/versions/JetEtRoI_v1.h" +#include "xAODTrigger/versions/JetEtRoIAuxInfo_v1.h" -#include "xAODTrigger/versions/EnergySumRoIAuxInfo_v2.h" -#include "xAODTrigger/versions/EnergySumRoI_v2.h" - -#include "xAODTrigger/versions/EnergySumRoIAuxInfo_v1.h" +#include "xAODTrigger/EnergySumRoI.h" +#include "xAODTrigger/EnergySumRoIAuxInfo.h" #include "xAODTrigger/versions/EnergySumRoI_v1.h" - -#include "xAODTrigger/versions/EnergySumRoIAuxInfo_v2.h" +#include "xAODTrigger/versions/EnergySumRoIAuxInfo_v1.h" #include "xAODTrigger/versions/EnergySumRoI_v2.h" +#include "xAODTrigger/versions/EnergySumRoIAuxInfo_v2.h" +#include "xAODTrigger/TrigDecision.h" +#include "xAODTrigger/TrigDecisionAuxInfo.h" #include "xAODTrigger/versions/TrigDecision_v1.h" #include "xAODTrigger/versions/TrigDecisionAuxInfo_v1.h" +#include "xAODTrigger/TrigNavigation.h" +#include "xAODTrigger/TrigNavigationAuxInfo.h" #include "xAODTrigger/versions/TrigNavigation_v1.h" #include "xAODTrigger/versions/TrigNavigationAuxInfo_v1.h" +#include "xAODTrigger/TrigConfKeys.h" #include "xAODTrigger/versions/TrigConfKeys_v1.h" +#include "xAODTrigger/TrigComposite.h" +#include "xAODTrigger/TrigCompositeContainer.h" +#include "xAODTrigger/TrigCompositeAuxContainer.h" #include "xAODTrigger/versions/TrigComposite_v1.h" #include "xAODTrigger/versions/TrigCompositeContainer_v1.h" #include "xAODTrigger/versions/TrigCompositeAuxContainer_v1.h" #include "xAODTrigger/versions/TrigCompositeAuxContainer_v2.h" +#include "xAODTrigger/BunchConfKey.h" #include "xAODTrigger/versions/BunchConfKey_v1.h" + +#include "xAODTrigger/BunchConf.h" +#include "xAODTrigger/BunchConfContainer.h" +#include "xAODTrigger/BunchConfAuxContainer.h" +#include "xAODTrigger/versions/BunchConf_v1.h" #include "xAODTrigger/versions/BunchConfContainer_v1.h" #include "xAODTrigger/versions/BunchConfAuxContainer_v1.h" +#include "xAODTrigger/TrigPassBits.h" +#include "xAODTrigger/TrigPassBitsContainer.h" +#include "xAODTrigger/TrigPassBitsAuxContainer.h" #include "xAODTrigger/versions/TrigPassBits_v1.h" #include "xAODTrigger/versions/TrigPassBitsContainer_v1.h" #include "xAODTrigger/versions/TrigPassBitsAuxContainer_v1.h" +#include "xAODTrigger/RoiDescriptorStore.h" +#include "xAODTrigger/RoiDescriptorStoreAuxInfo.h" #include "xAODTrigger/versions/RoiDescriptorStore_v1.h" #include "xAODTrigger/versions/RoiDescriptorStoreAuxInfo_v1.h" -namespace{ - struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGGER { - - xAOD::MuonRoIContainer_v1 muon_c1; - DataLink< xAOD::MuonRoIContainer_v1 > muon_l1; - ElementLink< xAOD::MuonRoIContainer_v1 > muon_l2; - ElementLinkVector< xAOD::MuonRoIContainer_v1 > muon_l3; - std::vector< DataLink<xAOD::MuonRoIContainer_v1 > > muon_l4; - std::vector< ElementLink<xAOD::MuonRoIContainer_v1 > > muon_l5; - std::vector< ElementLinkVector< xAOD::MuonRoIContainer_v1 > > muon_l6; - - xAOD::JetRoIContainer_v1 jet_c1; - DataLink< xAOD::JetRoIContainer_v1 > jet_l1; - ElementLink< xAOD::JetRoIContainer_v1 > jet_l2; - ElementLinkVector< xAOD::JetRoIContainer_v1 > jet_l3; - std::vector< DataLink<xAOD::JetRoIContainer_v1 > > jet_l4; - std::vector< ElementLink<xAOD::JetRoIContainer_v1 > > jet_l5; - std::vector< ElementLinkVector< xAOD::JetRoIContainer_v1 > > jet_l6; - - xAOD::JetRoIContainer_v2 jet_v2_c1; - DataLink< xAOD::JetRoIContainer_v2 > jet_v2_l1; - ElementLink< xAOD::JetRoIContainer_v2 > jet_v2_l2; - ElementLinkVector< xAOD::JetRoIContainer_v2 > jet_v2_l3; - std::vector< DataLink<xAOD::JetRoIContainer_v2 > > jet_v2_l4; - std::vector< ElementLink<xAOD::JetRoIContainer_v2 > > jet_v2_l5; - std::vector< ElementLinkVector< xAOD::JetRoIContainer_v2 > > jet_v2_l6; - - xAOD::EmTauRoIContainer_v1 emtau_c1; - DataLink< xAOD::EmTauRoIContainer_v1 > emtau_l1; - ElementLink< xAOD::EmTauRoIContainer_v1 > emtau_l2; - ElementLinkVector< xAOD::EmTauRoIContainer_v1 > emtau_l3; - std::vector< DataLink<xAOD::EmTauRoIContainer_v1 > > emtau_l4; - std::vector< ElementLink<xAOD::EmTauRoIContainer_v1 > > emtau_l5; - std::vector< ElementLinkVector< xAOD::EmTauRoIContainer_v1 > > emtau_l6; - - xAOD::EmTauRoIContainer_v2 emtau_v2_c1; - DataLink< xAOD::EmTauRoIContainer_v2 > emtau_v2_l1; - ElementLink< xAOD::EmTauRoIContainer_v2 > emtau_v2_l2; - ElementLinkVector< xAOD::EmTauRoIContainer_v2 > emtau_v2_l3; - std::vector< DataLink<xAOD::EmTauRoIContainer_v2 > > emtau_v2_l4; - std::vector< ElementLink<xAOD::EmTauRoIContainer_v2 > > emtau_v2_l5; - std::vector< ElementLinkVector< xAOD::EmTauRoIContainer_v2 > > emtau_v2_l6; - - DataLink< xAOD::JetEtRoI_v1 > jetEt_l1; - std::vector< DataLink< xAOD::JetEtRoI_v1 > > jetEt_l2; - - DataLink< xAOD::EnergySumRoI_v1 > esum_l1; - std::vector< DataLink< xAOD::EnergySumRoI_v1 > > esum_l2; - - DataLink< xAOD::EnergySumRoI_v2 > esum_v2_l1; - std::vector< DataLink< xAOD::EnergySumRoI_v2 > > esum_v2_l2; - - xAOD::TriggerMenuContainer_v1 c2; - - xAOD::TrigCompositeContainer_v1 comp_c1; - - xAOD::BunchConfContainer_v1 c5; - - xAOD::TrigPassBitsContainer_v1 pb_c1; - DataLink< xAOD::TrigPassBitsContainer_v1 > pb_l1; - ElementLink< xAOD::TrigPassBitsContainer_v1 > pb_l2; - std::vector< DataLink< xAOD::TrigPassBitsContainer_v1 > > pb_l3; - std::vector< ElementLink< xAOD::TrigPassBitsContainer_v1 > > pb_l4; - - }; +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" + +// Instantiate all necessary types for the dictionary. +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODTRIGGER { + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TriggerMenuContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, BunchConfContainer_v1 ); + + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, MuonRoIContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JetRoIContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JetRoIContainer_v2 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, EmTauRoIContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, EmTauRoIContainer_v2 ); + + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigCompositeContainer_v1 ); + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, TrigPassBitsContainer_v1 ); + + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, JetEtRoI_v1 ); + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, EnergySumRoI_v1 ); + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, EnergySumRoI_v2 ); + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, TrigDecision_v1 ); + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, TrigNavigation_v1 ); + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, RoiDescriptorStore_v1 ); + }; } #endif // XAODTRIGGER_XAODTRIGGERDICT_H -- GitLab