diff --git a/Event/xAOD/xAODTruth/CMakeLists.txt b/Event/xAOD/xAODTruth/CMakeLists.txt index b469ec6f34d1661347e4f186379aef0880760a0c..f7804228e3abbcaa96e09f76c36b70b78bd2dc1d 100644 --- a/Event/xAOD/xAODTruth/CMakeLists.txt +++ b/Event/xAOD/xAODTruth/CMakeLists.txt @@ -32,9 +32,16 @@ atlas_add_dictionary( xAODTruthDict LINK_LIBRARIES xAODTruth EXTRA_FILES Root/dict/*.cxx ) + + atlas_generate_cliddb( xAODTruth ) # Test(s) in the package: atlas_add_test( ut_xaodtruth_particle_test SOURCES test/ut_xaodtruth_particle_test.cxx LINK_LIBRARIES xAODTruth ) + +if( XAOD_STANDALONE ) + atlas_add_test( ut_xaodtruth_helpers_test + SCRIPT test/ut_xaodtruth_helpers_test.py ) +endif() diff --git a/Event/xAOD/xAODTruth/Root/TruthMetaDataAuxContainer_v1.cxx b/Event/xAOD/xAODTruth/Root/TruthMetaDataAuxContainer_v1.cxx index 0d1d7a578c1cdbc2ffe0198a42335214d8f9ca6b..08c1142719a6191f74d43ec831e7a7b8b27932bb 100644 --- a/Event/xAOD/xAODTruth/Root/TruthMetaDataAuxContainer_v1.cxx +++ b/Event/xAOD/xAODTruth/Root/TruthMetaDataAuxContainer_v1.cxx @@ -14,6 +14,12 @@ namespace xAOD { AUX_VARIABLE( weightNames ); AUX_VARIABLE( mcChannelNumber ); + AUX_VARIABLE( lhefGenerator ); + AUX_VARIABLE( generators ); + AUX_VARIABLE( evgenProcess ); + AUX_VARIABLE( evgenTune ); + AUX_VARIABLE( hardPDF ); + AUX_VARIABLE( softPDF ); } } // namespace xAOD diff --git a/Event/xAOD/xAODTruth/Root/TruthMetaData_v1.cxx b/Event/xAOD/xAODTruth/Root/TruthMetaData_v1.cxx index 3897c03340dc27adc67ae60ac6b05b922bd51a7f..2cbdbacad3aaf9a1c0daa196975c5616fa61df11 100644 --- a/Event/xAOD/xAODTruth/Root/TruthMetaData_v1.cxx +++ b/Event/xAOD/xAODTruth/Root/TruthMetaData_v1.cxx @@ -17,5 +17,11 @@ namespace xAOD { //Arguments for MACRO are as follows: AUXSTORE_OBJECT/PRIMITIVE_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER) AUXSTORE_OBJECT_SETTER_AND_GETTER(TruthMetaData_v1, std::vector < std::string >, weightNames, setWeightNames ) AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(TruthMetaData_v1, uint32_t, mcChannelNumber, setMcChannelNumber ) + AUXSTORE_OBJECT_SETTER_AND_GETTER(TruthMetaData_v1, std::string, lhefGenerator, setLhefGenerator ) + AUXSTORE_OBJECT_SETTER_AND_GETTER(TruthMetaData_v1, std::string, generators, setGenerators ) + AUXSTORE_OBJECT_SETTER_AND_GETTER(TruthMetaData_v1, std::string, evgenProcess, setEvgenProcess ) + AUXSTORE_OBJECT_SETTER_AND_GETTER(TruthMetaData_v1, std::string, evgenTune, setEvgenTune ) + AUXSTORE_OBJECT_SETTER_AND_GETTER(TruthMetaData_v1, std::string, hardPDF, setHardPDF ) + AUXSTORE_OBJECT_SETTER_AND_GETTER(TruthMetaData_v1, std::string, softPDF, setSoftPDF ) } // diff --git a/Event/xAOD/xAODTruth/Root/TruthParticle_v1.cxx b/Event/xAOD/xAODTruth/Root/TruthParticle_v1.cxx index d3c2c1f30c67a6d1406bce46feb7108e4ba930aa..cd80998bcd5d105aa56fa1ffdb7283c28f37a1f4 100644 --- a/Event/xAOD/xAODTruth/Root/TruthParticle_v1.cxx +++ b/Event/xAOD/xAODTruth/Root/TruthParticle_v1.cxx @@ -17,6 +17,9 @@ // xAOD include(s): #include "xAODCore/AuxStoreAccessorMacros.h" +// Accessor include: +#include "AthContainers/AuxElement.h" + // Local include(s): #include "xAODTruth/versions/TruthParticle_v1.h" #include "xAODTruth/TruthVertexContainer.h" @@ -57,15 +60,15 @@ namespace xAOD { /// Accessor for the production vertex static const SG::AuxElement::Accessor< ElementLink< TruthVertexContainer > > - prodVtxLinkAcc( "prodVtxLink" ); + acc_prodVtxLink( "prodVtxLink" ); /// Accessor for the decay vertex static const SG::AuxElement::Accessor< ElementLink< TruthVertexContainer > > - decayVtxLinkAcc( "decayVtxLink" ); + acc_decayVtxLink( "decayVtxLink" ); bool TruthParticle_v1::hasProdVtx() const { - return ( prodVtxLinkAcc.isAvailable( *this ) && - prodVtxLinkAcc( *this ).isValid() ); + return ( acc_prodVtxLink.isAvailable( *this ) && + acc_prodVtxLink( *this ).isValid() ); } const TruthVertex* TruthParticle_v1::prodVtx() const { @@ -79,8 +82,8 @@ namespace xAOD { bool TruthParticle_v1::hasDecayVtx() const { - return ( decayVtxLinkAcc.isAvailable( *this ) && - decayVtxLinkAcc( *this ).isValid() ); + return ( acc_decayVtxLink.isAvailable( *this ) && + acc_decayVtxLink( *this ).isValid() ); } const TruthVertex* TruthParticle_v1::decayVtx() const { @@ -100,24 +103,50 @@ namespace xAOD { // Direct access to parents and children // - size_t TruthParticle_v1::nParents() const { + // Accessor for links to parents + static const SG::AuxElement::ConstAccessor< std::vector<ElementLink<xAOD::TruthParticleContainer> > > + acc_parentLinks( "parentLinks" ); + // Accessor for links to children + static const SG::AuxElement::ConstAccessor< std::vector<ElementLink<xAOD::TruthParticleContainer> > > + acc_childLinks( "childLinks" ); + // Note that in some conditions the vertex might be saved in a different collection from + // the daughters, causing the vertex to not know how many children or parents the particle has. + // An extra test lets us ensure that we avoid this case. - return hasProdVtx() ? prodVtx()->nIncomingParticles() : 0; + size_t TruthParticle_v1::nParents() const { + if (hasProdVtx() && prodVtx()->nIncomingParticles()>0){ + return prodVtx()->nIncomingParticles(); + } else if ( acc_parentLinks.isAvailable( *this ) ) { + return acc_parentLinks( *this ).size(); + } + return 0; } const TruthParticle_v1* TruthParticle_v1::parent( size_t i ) const { - - return hasProdVtx() ? prodVtx()->incomingParticle( i ) : 0; + if (hasProdVtx() && prodVtx()->nIncomingParticles()>0){ + return prodVtx()->incomingParticle( i ); + } else if ( acc_parentLinks.isAvailable( *this ) && i<acc_parentLinks( *this ).size() ) { + return acc_parentLinks( *this )[i].isValid() ? *(acc_parentLinks( *this )[i]) : nullptr; + } + return nullptr; } size_t TruthParticle_v1::nChildren() const { - - return hasDecayVtx() ? decayVtx()->nOutgoingParticles() : 0; + if (hasDecayVtx() && decayVtx()->nOutgoingParticles()>0){ + return decayVtx()->nOutgoingParticles(); + } else if ( acc_childLinks.isAvailable( *this ) ) { + return acc_childLinks( *this ).size(); + } + return 0; } const TruthParticle_v1* TruthParticle_v1::child( size_t i ) const { - - return hasDecayVtx() ? decayVtx()->outgoingParticle( i ) : 0; + if (hasDecayVtx() && decayVtx()->nOutgoingParticles()>0){ + return decayVtx()->outgoingParticle( i ); + } else if ( acc_childLinks.isAvailable( *this ) && i<acc_childLinks( *this ).size() ) { + return acc_childLinks( *this )[i].isValid() ? *(acc_childLinks( *this )[i]) : nullptr; + } + return nullptr; } // @@ -273,6 +302,7 @@ namespace xAOD { MC_PID_HELPER( bool, isHiggs ) MC_PID_HELPER( bool, isResonance ) MC_PID_HELPER( bool, isGenSpecific ) + MC_PID_HELPER( bool, isBSM ) // Forget about this macro: #undef MC_PID_HELPER @@ -326,7 +356,7 @@ namespace xAOD { return true; } - float TruthParticle_v1::polarizationPatameter( PolParam param ) const { + float TruthParticle_v1::polarizationParameter( PolParam param ) const { // Get the accessor object: const Accessor< float >* acc = polarizationAccessorV1( param ); @@ -355,11 +385,11 @@ namespace xAOD { void TruthParticle_v1::toPersistent() { - if( prodVtxLinkAcc.isAvailableWritable( *this ) ) { - prodVtxLinkAcc( *this ).toPersistent(); + if( acc_prodVtxLink.isAvailableWritable( *this ) ) { + acc_prodVtxLink( *this ).toPersistent(); } - if( decayVtxLinkAcc.isAvailableWritable( *this ) ) { - decayVtxLinkAcc( *this ).toPersistent(); + if( acc_decayVtxLink.isAvailableWritable( *this ) ) { + acc_decayVtxLink( *this ).toPersistent(); } return; } diff --git a/Event/xAOD/xAODTruth/Root/xAODTruthCLIDs.cxx b/Event/xAOD/xAODTruth/Root/xAODTruthCLIDs.cxx index 491a18cd3d169a9884a69cf7adb802278886dab4..9f7e425c4bccbd2b893f5db219917c4fa013edff 100644 --- a/Event/xAOD/xAODTruth/Root/xAODTruthCLIDs.cxx +++ b/Event/xAOD/xAODTruth/Root/xAODTruthCLIDs.cxx @@ -14,4 +14,6 @@ #include "xAODTruth/TruthPileupEventContainer.h" #include "xAODTruth/TruthPileupEventAuxContainer.h" #include "xAODTruth/TruthEventBaseContainer.h" +#include "xAODTruth/TruthMetaDataContainer.h" +#include "xAODTruth/TruthMetaDataAuxContainer.h" diff --git a/Event/xAOD/xAODTruth/test/ut_xaodtruth_helpers_test.py b/Event/xAOD/xAODTruth/test/ut_xaodtruth_helpers_test.py index 4147126363f0779555b4663a4acca857d0c98252..327f904731e1339e1a257fe7924d7f702e374650 100755 --- a/Event/xAOD/xAODTruth/test/ut_xaodtruth_helpers_test.py +++ b/Event/xAOD/xAODTruth/test/ut_xaodtruth_helpers_test.py @@ -2,8 +2,6 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration # -# $Id: ut_xaodtruth_helpers_test.py 761304 2016-07-12 12:03:36Z krasznaa $ -# # This is a simple unit test for checking the health of the truth helper # functions in the standalone analysis environment. # @@ -13,11 +11,13 @@ def main(): # Initialise the environment: import ROOT - ROOT.gROOT.Macro( "$ROOTCOREDIR/scripts/load_packages.C" ) + if not ROOT.xAOD.Init().isSuccess(): + print( "Couldn't initialise the xAOD reading environment" ) + return 1 # Open an input xAOD file: import os - FNAME = os.getenv( "ROOTCORE_TEST_FILE", "FileNotSpecifiedInEnvironment" ) + FNAME = os.getenv( "ASG_TEST_FILE_MC", "FileNotSpecifiedInEnvironment" ) f = ROOT.TFile.Open( FNAME, "READ" ) if not f: print( "Couldn't open \"%s\"" % FNAME ) @@ -25,7 +25,7 @@ def main(): print( "Opened: %s" % FNAME ) # Make a transient tree from it: - treeMgr = ROOT.xAOD.TTreeMgr( ROOT.xAOD.TEvent.kAthenaAccess ) + treeMgr = ROOT.xAOD.TTreeMgr() if not treeMgr.readFrom( f ).isSuccess(): print( "Couldn't make a transient tree from the input file!" ) return 1 diff --git a/Event/xAOD/xAODTruth/xAODTruth/TruthParticleContainerFwd.h b/Event/xAOD/xAODTruth/xAODTruth/TruthParticleContainerFwd.h index 95f85d743c19fbaa873dcddcb653cba0c924b41f..7d1fa5bc8c99c97831a02be036ec09557b99cfd3 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/TruthParticleContainerFwd.h +++ b/Event/xAOD/xAODTruth/xAODTruth/TruthParticleContainerFwd.h @@ -4,7 +4,6 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: TruthParticleContainerFwd.h 574253 2013-12-06 15:21:49Z krasznaa $ #ifndef XAODTRUTH_TRUTHPARTICLECONTAINERFWD_H #define XAODTRUTH_TRUTHPARTICLECONTAINERFWD_H @@ -16,7 +15,7 @@ #include "xAODTruth/TruthParticleFwd.h" // Declare that this is a vector of IParticle-derived objects -DATAVECTOR_BASE( xAOD::TruthParticle, xAOD::IParticle ); +DATAVECTOR_BASE_FWD( xAOD::TruthParticle, xAOD::IParticle ); namespace xAOD { /// Provide a forward declaration for TruthParticleContainer diff --git a/Event/xAOD/xAODTruth/xAODTruth/selection.xml b/Event/xAOD/xAODTruth/xAODTruth/selection.xml index 25517183cd939d67197995db6e02cbb2bf6b7d1d..e051ef8fb0f866f65462af97a4e1f519411a35bf 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/selection.xml +++ b/Event/xAOD/xAODTruth/xAODTruth/selection.xml @@ -1,6 +1,22 @@ <!-- $Id: selection.xml 670153 2015-05-27 11:42:29Z tbisanz $ --> <lcgdict> + <typedef name="xAOD::TruthParticle" /> + <typedef name="xAOD::TruthVertex" /> + <typedef name="xAOD::TruthEvent" /> + + <typedef name="xAOD::TruthParticleContainer" /> + <typedef name="xAOD::TruthVertexContainer" /> + <typedef name="xAOD::TruthEventContainer" /> + + <typedef name="xAOD::TruthParticleAuxContainer" /> + <typedef name="xAOD::TruthVertexAuxContainer" /> + <typedef name="xAOD::TruthEventAuxContainer" /> + + <typedef name="xAOD::TruthMetaData" /> + <typedef name="xAOD::TruthMetaDataContainer" /> + + <!-- The TruthParticle_v1 class(es): --> <class name="xAOD::TruthParticle_v1" /> <class name="xAOD::TruthParticle_v1::Polarization" /> diff --git a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthEventContainer_v1.h b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthEventContainer_v1.h index a0f62c9b12d39e954d5c5278f284d8f616772094..17ac7d6994602d1c9bf1a41748b9ca9855d31191 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthEventContainer_v1.h +++ b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthEventContainer_v1.h @@ -1,10 +1,9 @@ // -*- C++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// $Id: TruthEventContainer_v1.h 622193 2014-10-16 16:08:34Z krasznaa $ #ifndef XAODTRUTH_VERSIONS_TRUTHEVENTCONTAINER_V1_H #define XAODTRUTH_VERSIONS_TRUTHEVENTCONTAINER_V1_H @@ -14,9 +13,6 @@ // Local include(s): #include "xAODTruth/versions/TruthEvent_v1.h" -// Declare the base class of TruthEvent_v1 for DataVector -DATAVECTOR_BASE( xAOD::TruthEvent_v1, xAOD::TruthEventBase_v1 ); - namespace xAOD { /// Alias typedef DataVector< TruthEvent_v1 > TruthEventContainer_v1; diff --git a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthEvent_v1.h b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthEvent_v1.h index 5363f63227e5e5de2d7774f92ed11a6e47979c85..3afcf7aeaba31f168edf0f6565170a764f594abd 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthEvent_v1.h +++ b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthEvent_v1.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: TruthEvent_v1.h 761796 2016-07-14 08:06:02Z krasznaa $ @@ -210,4 +210,8 @@ namespace xAOD { #include "xAODCore/BaseInfo.h" SG_BASE( xAOD::TruthEvent_v1, xAOD::TruthEventBase_v1 ); +#include "AthContainers/DataVector.h" +DATAVECTOR_BASE( xAOD::TruthEvent_v1, xAOD::TruthEventBase_v1 ); + + #endif // XAODTRUTH_VERSIONS_TRUTHEVENT_V1_H diff --git a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthMetaDataAuxContainer_v1.h b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthMetaDataAuxContainer_v1.h index aec914664b52160c49992d4b0ad2ddc5a3d8dce6..8ba72062a2c31b653c76cc5632ce79342b572209 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthMetaDataAuxContainer_v1.h +++ b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthMetaDataAuxContainer_v1.h @@ -39,6 +39,14 @@ namespace xAOD { std::vector < std::vector < std::string > > weightNames; std::vector < uint32_t > mcChannelNumber; + // Provide access to the other key generator metadata + std::vector < std::string > lhefGenerator; //!< Generator for LHE file events + std::vector < std::string > generators; //!< Generators for this dataset + std::vector < std::string > evgenProcess; //!< Physics process in this dataset + std::vector < std::string > evgenTune; //!< Hadronization and UE tune used for this dataset + std::vector < std::string > hardPDF; //!< PDF used for the hard process + std::vector < std::string > softPDF; //!< PDF used for the tune / shower / hadronization + }; // class TruthMetaDataAuxContainer_v1 } // namespace xAOD diff --git a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthMetaData_v1.h b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthMetaData_v1.h index cd48d625979ab35333d96b32ac8fa0fc85356db1..53d3d478abacc488bfd9b5b5b15caade35793139 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthMetaData_v1.h +++ b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthMetaData_v1.h @@ -40,6 +40,24 @@ namespace xAOD { const std::vector< std::string >& weightNames() const; void setWeightNames( const std::vector< std::string >& value ); + const std::string& lhefGenerator() const; + void setLhefGenerator( const std::string& value ); + + const std::string& generators() const; + void setGenerators( const std::string& value ); + + const std::string& evgenProcess() const; + void setEvgenProcess( const std::string& value ); + + const std::string& evgenTune() const; + void setEvgenTune( const std::string& value ); + + const std::string& hardPDF() const; + void setHardPDF( const std::string& value ); + + const std::string& softPDF() const; + void setSoftPDF( const std::string& value ); + /// @} private: diff --git a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthParticleContainer_v1.h b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthParticleContainer_v1.h index 4bee9879f63ca4729110c988001e81d539a82e1d..bd5d1a977d0580e97435432405d56efd739c454c 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthParticleContainer_v1.h +++ b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthParticleContainer_v1.h @@ -1,10 +1,9 @@ // -*- C++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// $Id: TruthParticleContainer_v1.h 622193 2014-10-16 16:08:34Z krasznaa $ #ifndef XAODTRUTH_VERSIONS_TRUTHPARTICLECONTAINER_V1_H #define XAODTRUTH_VERSIONS_TRUTHPARTICLECONTAINER_V1_H @@ -14,7 +13,6 @@ // Local include(s): #include "xAODTruth/versions/TruthParticle_v1.h" -#include "xAODTruth/TruthParticleContainerFwd.h" // Only as long as this is the most recent version... namespace xAOD { // Alias diff --git a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthParticle_v1.h b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthParticle_v1.h index 311c2ec6a536b24a9d2677914ef6730e3917af92..d6fcfe18cdf4d851bfab9302184869a4094c83f7 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthParticle_v1.h +++ b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthParticle_v1.h @@ -20,6 +20,8 @@ // ROOT include(s): #include "Math/Vector4D.h" +#include "xAODTruth/TruthParticleContainerFwd.h" +template struct DataVector_detail::DVLEltBaseInit< xAOD::TruthParticle_v1>; namespace xAOD { @@ -290,6 +292,8 @@ namespace xAOD { bool isResonance() const; /// Check if this is a generator specific (non-physical) particle bool isGenSpecific() const; + /// Check if this is a BSM particle + bool isBSM() const; /// @} @@ -340,7 +344,7 @@ namespace xAOD { /// @param parameter The polarion parameter that we are interested in /// @return The value of the polarization parameter requested /// - float polarizationPatameter( PolParam parameter ) const; + float polarizationParameter( PolParam parameter ) const; /// Single container for full polarization information /// diff --git a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthPileupEventContainer_v1.h b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthPileupEventContainer_v1.h index ded2f41126038d647a442c5367e41709af8b7063..bed3a688df4dc9ad0ce1a65c84f0ded2e93354f5 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthPileupEventContainer_v1.h +++ b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthPileupEventContainer_v1.h @@ -1,10 +1,9 @@ // -*- C++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// $Id: TruthPileupEventContainer_v1.h 622193 2014-10-16 16:08:34Z krasznaa $ #ifndef XAODTRUTH_VERSIONS_TRUTHPILEUPEVENTCONTAINER_V1_H #define XAODTRUTH_VERSIONS_TRUTHPILEUPEVENTCONTAINER_V1_H @@ -14,8 +13,6 @@ // Local include(s): #include "xAODTruth/versions/TruthPileupEvent_v1.h" -// Declare the base class of TruthEvent_v1 for DataVector -DATAVECTOR_BASE( xAOD::TruthPileupEvent_v1, xAOD::TruthEventBase_v1 ); namespace xAOD { /// Alias declaring the container type diff --git a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthPileupEvent_v1.h b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthPileupEvent_v1.h index a38277cbd93f914752a6bb055ce5c10b835269f4..3bc254384f89d06ba6dca6df6266f6f52ebf036e 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/versions/TruthPileupEvent_v1.h +++ b/Event/xAOD/xAODTruth/xAODTruth/versions/TruthPileupEvent_v1.h @@ -1,10 +1,9 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// $Id: TruthPileupEvent_v1.h 622193 2014-10-16 16:08:34Z krasznaa $ #ifndef XAODTRUTH_VERSIONS_TRUTHPILEUPEVENT_V1_H #define XAODTRUTH_VERSIONS_TRUTHPILEUPEVENT_V1_H @@ -40,4 +39,6 @@ namespace xAOD { #include "xAODCore/BaseInfo.h" SG_BASE( xAOD::TruthPileupEvent_v1, xAOD::TruthEventBase_v1 ); +DATAVECTOR_BASE( xAOD::TruthPileupEvent_v1, xAOD::TruthEventBase_v1 ); + #endif // XAODTRUTH_VERSIONS_TRUTHPILEUPEVENT_V1_H diff --git a/Event/xAOD/xAODTruth/xAODTruth/xAODTruthDict.h b/Event/xAOD/xAODTruth/xAODTruth/xAODTruthDict.h index ed88b03a434bccbd99b5a889654c9757b28fbd50..43d481519f4aec026ed1e6f57df97231ae104f07 100644 --- a/Event/xAOD/xAODTruth/xAODTruth/xAODTruthDict.h +++ b/Event/xAOD/xAODTruth/xAODTruth/xAODTruthDict.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: xAODTruthDict.h 670153 2015-05-27 11:42:29Z tbisanz $ @@ -27,6 +27,18 @@ #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/TruthVertexContainer.h" +#include "xAODTruth/TruthVertexAuxContainer.h" +#include "xAODTruth/TruthEventBaseContainer.h" +#include "xAODTruth/TruthEventContainer.h" +#include "xAODTruth/TruthEventAuxContainer.h" +#include "xAODTruth/TruthPileupEventContainer.h" +#include "xAODTruth/TruthPileupEventAuxContainer.h" +#include "xAODTruth/TruthMetaDataContainer.h" +#include "xAODTruth/TruthMetaDataAuxContainer.h" #include "xAODTruth/xAODTruthHelpers.h" namespace { diff --git a/Reconstruction/PFlow/PFlowUtils/CMakeLists.txt b/Reconstruction/PFlow/PFlowUtils/CMakeLists.txt index d57f06fe8af2fdc90f34510df0b0ef524795a84b..6407592f882a4221c06d85012d8de55504ab8c01 100644 --- a/Reconstruction/PFlow/PFlowUtils/CMakeLists.txt +++ b/Reconstruction/PFlow/PFlowUtils/CMakeLists.txt @@ -21,6 +21,7 @@ atlas_depends_on_subdirs( PRIVATE Control/AthContainers Event/xAOD/xAODJet + Event/xAOD/xAODTruth ${extra_deps} ) # Component(s) in the package: @@ -32,7 +33,7 @@ atlas_add_library( PFlowUtilsLib if( NOT XAOD_STANDALONE ) atlas_add_component( PFlowUtils src/*.h src/*.cxx src/components/*.cxx - LINK_LIBRARIES AthenaBaseComps xAODJet xAODPFlow GaudiKernel + LINK_LIBRARIES AthenaBaseComps xAODJet xAODPFlow GaudiKernel xAODTruth PFlowUtilsLib ) endif()