From c0e7c718fe73857b4544a97204592ff99b080798 Mon Sep 17 00:00:00 2001 From: Roland Jansky <roland.jansky@cern.ch> Date: Fri, 26 Apr 2019 13:46:46 +0200 Subject: [PATCH] also adapting Truth EDM to build with atlas/master. also fixing incompatibility in FaserDetDescr --- .../FaserDetDescr/FaserDetectorIDBase.h | 4 +- .../FaserDetDescr/src/FaserDetectorIDBase.cxx | 4 +- README.md | 32 ++--- xAOD/xAODFaserBase/Root/FaserObjectType.cxx | 8 +- .../xAODFaserBase/FaserObjectType.h | 8 +- xAOD/xAODFaserTruth/CMakeLists.txt | 29 ++--- ...hAccessors.cxx => FaserTruthAccessors.cxx} | 30 ++--- ...TruthAccessors.h => FaserTruthAccessors.h} | 12 +- .../{TruthEvent.cxx => FaserTruthEvent.cxx} | 113 +++++++++-------- ...er.cxx => FaserTruthEventAuxContainer.cxx} | 4 +- ...uthParticle.cxx => FaserTruthParticle.cxx} | 118 +++++++++--------- ...cxx => FaserTruthParticleAuxContainer.cxx} | 4 +- .../{TruthVertex.cxx => FaserTruthVertex.cxx} | 71 ++++++----- ...r.cxx => FaserTruthVertexAuxContainer.cxx} | 6 +- .../Root/dict/ContainerProxies.cxx | 12 +- .../Root/xAODFaserTruthCLIDs.cxx | 14 +++ ...hHelpers.cxx => xAODFaserTruthHelpers.cxx} | 12 +- xAOD/xAODFaserTruth/Root/xAODTruthCLIDs.cxx | 14 --- ...ef => ut_xaodfasertruth_particle_test.ref} | 0 ...t.py => ut_xaodfasertruth_helpers_test.py} | 0 ...xx => ut_xaodfasertruth_particle_test.cxx} | 12 +- .../FaserTruthEvent.h} | 71 ++++++----- .../FaserTruthEventAuxContainer.h} | 28 ++--- .../xAODFaserTruth/FaserTruthEventContainer.h | 26 ++++ .../FaserTruthParticle.h} | 46 +++---- .../FaserTruthParticleAuxContainer.h} | 22 ++-- .../FaserTruthParticleContainer.h | 26 ++++ .../FaserTruthVertex.h} | 24 ++-- .../FaserTruthVertexAuxContainer.h} | 20 +-- .../FaserTruthVertexContainer.h | 25 ++++ .../xAODFaserTruth/selection.xml | 53 ++++++++ .../xAODFaserTruth/xAODFaserTruthDict.h | 41 ++++++ .../xAODFaserTruthHelpers.h} | 12 +- .../xAODTruth/TruthEventContainer.h | 22 ---- .../xAODTruth/TruthParticleContainer.h | 26 ---- .../xAODTruth/TruthVertexContainer.h | 25 ---- xAOD/xAODFaserTruth/xAODTruth/selection.xml | 66 ---------- xAOD/xAODFaserTruth/xAODTruth/xAODTruthDict.h | 41 ------ 38 files changed, 535 insertions(+), 546 deletions(-) rename xAOD/xAODFaserTruth/Root/{TruthAccessors.cxx => FaserTruthAccessors.cxx} (60%) rename xAOD/xAODFaserTruth/Root/{TruthAccessors.h => FaserTruthAccessors.h} (68%) rename xAOD/xAODFaserTruth/Root/{TruthEvent.cxx => FaserTruthEvent.cxx} (67%) rename xAOD/xAODFaserTruth/Root/{TruthEventAuxContainer.cxx => FaserTruthEventAuxContainer.cxx} (77%) rename xAOD/xAODFaserTruth/Root/{TruthParticle.cxx => FaserTruthParticle.cxx} (71%) rename xAOD/xAODFaserTruth/Root/{TruthParticleAuxContainer.cxx => FaserTruthParticleAuxContainer.cxx} (75%) rename xAOD/xAODFaserTruth/Root/{TruthVertex.cxx => FaserTruthVertex.cxx} (72%) rename xAOD/xAODFaserTruth/Root/{TruthVertexAuxContainer.cxx => FaserTruthVertexAuxContainer.cxx} (67%) create mode 100644 xAOD/xAODFaserTruth/Root/xAODFaserTruthCLIDs.cxx rename xAOD/xAODFaserTruth/Root/{xAODTruthHelpers.cxx => xAODFaserTruthHelpers.cxx} (85%) delete mode 100644 xAOD/xAODFaserTruth/Root/xAODTruthCLIDs.cxx rename xAOD/xAODFaserTruth/share/{ut_xaodtruth_particle_test.ref => ut_xaodfasertruth_particle_test.ref} (100%) rename xAOD/xAODFaserTruth/test/{ut_xaodtruth_helpers_test.py => ut_xaodfasertruth_helpers_test.py} (100%) rename xAOD/xAODFaserTruth/test/{ut_xaodtruth_particle_test.cxx => ut_xaodfasertruth_particle_test.cxx} (88%) rename xAOD/xAODFaserTruth/{xAODTruth/TruthEvent.h => xAODFaserTruth/FaserTruthEvent.h} (71%) rename xAOD/xAODFaserTruth/{xAODTruth/TruthEventAuxContainer.h => xAODFaserTruth/FaserTruthEventAuxContainer.h} (60%) create mode 100644 xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEventContainer.h rename xAOD/xAODFaserTruth/{xAODTruth/TruthParticle.h => xAODFaserTruth/FaserTruthParticle.h} (90%) rename xAOD/xAODFaserTruth/{xAODTruth/TruthParticleAuxContainer.h => xAODFaserTruth/FaserTruthParticleAuxContainer.h} (54%) create mode 100644 xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticleContainer.h rename xAOD/xAODFaserTruth/{xAODTruth/TruthVertex.h => xAODFaserTruth/FaserTruthVertex.h} (85%) rename xAOD/xAODFaserTruth/{xAODTruth/TruthVertexAuxContainer.h => xAODFaserTruth/FaserTruthVertexAuxContainer.h} (58%) create mode 100644 xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertexContainer.h create mode 100644 xAOD/xAODFaserTruth/xAODFaserTruth/selection.xml create mode 100644 xAOD/xAODFaserTruth/xAODFaserTruth/xAODFaserTruthDict.h rename xAOD/xAODFaserTruth/{xAODTruth/xAODTruthHelpers.h => xAODFaserTruth/xAODFaserTruthHelpers.h} (68%) delete mode 100644 xAOD/xAODFaserTruth/xAODTruth/TruthEventContainer.h delete mode 100644 xAOD/xAODFaserTruth/xAODTruth/TruthParticleContainer.h delete mode 100644 xAOD/xAODFaserTruth/xAODTruth/TruthVertexContainer.h delete mode 100644 xAOD/xAODFaserTruth/xAODTruth/selection.xml delete mode 100644 xAOD/xAODFaserTruth/xAODTruth/xAODTruthDict.h diff --git a/DetectorDescription/FaserDetDescr/FaserDetDescr/FaserDetectorIDBase.h b/DetectorDescription/FaserDetDescr/FaserDetDescr/FaserDetectorIDBase.h index 1d24d45f..a7fdbc62 100644 --- a/DetectorDescription/FaserDetDescr/FaserDetDescr/FaserDetectorIDBase.h +++ b/DetectorDescription/FaserDetDescr/FaserDetDescr/FaserDetectorIDBase.h @@ -181,13 +181,13 @@ public: /// @name Checks are performed by default in debug compilation and NOT in optimized compilation. One can switch or query this mode for any idHelper with the following methods: //@{ virtual bool do_checks (void) const; - virtual void set_do_checks (bool do_checks) const; + virtual void set_do_checks (bool do_checks); //@} /// @name neighbours are initialized by default. One can switch or query this mode with the following methods: //@{ virtual bool do_neighbours (void) const; - virtual void set_do_neighbours (bool do_neighbours) const; + virtual void set_do_neighbours (bool do_neighbours); //@} /// @name setting pointer to the MessageService diff --git a/DetectorDescription/FaserDetDescr/src/FaserDetectorIDBase.cxx b/DetectorDescription/FaserDetDescr/src/FaserDetectorIDBase.cxx index ead54e86..175c7044 100644 --- a/DetectorDescription/FaserDetDescr/src/FaserDetectorIDBase.cxx +++ b/DetectorDescription/FaserDetDescr/src/FaserDetectorIDBase.cxx @@ -592,7 +592,7 @@ FaserDetectorIDBase::do_checks (void) const } void -FaserDetectorIDBase::set_do_checks (bool do_checks) const +FaserDetectorIDBase::set_do_checks (bool do_checks) { m_do_checks = do_checks; } @@ -604,7 +604,7 @@ FaserDetectorIDBase::do_neighbours (void) const } void -FaserDetectorIDBase::set_do_neighbours (bool do_neighbours) const +FaserDetectorIDBase::set_do_neighbours (bool do_neighbours) { m_do_neighbours = do_neighbours; } diff --git a/README.md b/README.md index 4e4449af..a21a2d0b 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,18 @@ -First barebone project for Calypso based on Athena 21.0. Only packages necessary to implement the current EDM in xAOD are included. The current build relies on Gaudi and AthenaExternals libraries. This should be okay for FASER, as we don.t want or need to build these two on our own. It currently also uses some of the ATLAS scripts to set environment variables . these can be replaced with either the spelled-out commands or our own scripts in the future. +First barebone project for Calypso based on Athena master. Only packages not included in atlas/athena are included. The current build relies on the entire ATLAS software library. -The following sequence will allow you to compile Calypso 1.0 on any machine with cvmfs access, and the necessary compiler libraries installed. +The following sequence will allow you to compile Calypso 1.0.0 on any machine with cvmfs access. ``` #clone the (forked) project to your local machine git clone https://:@gitlab.cern.ch:8443/username/calypso.git -cd calypso/EDM/ -#The next four lines are used to pick up the latest Gaudi and AthenaExternals libraries, and set the correct compiler +cd calypso/ + +#The next three lines are used to setup the ATLAS release environment export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh -asetup AthenaExternals,gcc62,latest,21.0 -source ./calypso/Build/AtlasBuildScripts/TDAQ_RELEASE_BASE.sh +asetup master,latest,Athena + +#create build directory mkdir build cd build #build calypso -cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCTEST_USE_LAUNCHERS=TRUE ../calypso/Projects/Calypso ; make -#run a unittest for xAOD::StripCluster -ctest -V -R xAODTracking_StripCluster_test -``` -If everything worked out, you should see the following printout: -``` -test 176 - Start 176: xAODTracking_xAODTracking_StripCluster_test_ctest - -176: Test command: /home/calypso/EDM/build/xAOD/xAODTracking/CMakeFiles/xAODTracking_StripCluster_test.sh -176: Test timeout computed to be: 120 -176: id = 0 -176: local x = 1, local y = 2, local x error = 0.2, local y error = 0.2, local xy correlation = 0.05 -176: global x = 225, global y = -151.4, global z = 144.4 -176: Dumping StripClusterAuxContainer -176: id:0, localX:1, localY:2, localXError:0.2, localYError:0.2, localXYCorrelation:0.05, globalX:225, globalY:-151.4, globalZ:144.4, -``` +cmake -DCMAKE_INSTALL_PREFIX=../run ../calypso ; make ; make install diff --git a/xAOD/xAODFaserBase/Root/FaserObjectType.cxx b/xAOD/xAODFaserBase/Root/FaserObjectType.cxx index 925d8b15..ba6d1500 100644 --- a/xAOD/xAODFaserBase/Root/FaserObjectType.cxx +++ b/xAOD/xAODFaserBase/Root/FaserObjectType.cxx @@ -32,10 +32,10 @@ std::ostream& operator<< ( std::ostream& out, xAOD::FaserType::ObjectType type ) PRINT_TYPE( xAOD::FaserType::Vertex ); - PRINT_TYPE( xAOD::FaserType::TruthParticle ); - PRINT_TYPE( xAOD::FaserType::TruthVertex ); - PRINT_TYPE( xAOD::FaserType::TruthEvent ); - PRINT_TYPE( xAOD::FaserType::TruthPileupEvent ); + PRINT_TYPE( xAOD::FaserType::FaserTruthParticle ); + PRINT_TYPE( xAOD::FaserType::FaserTruthVertex ); + PRINT_TYPE( xAOD::FaserType::FaserTruthEvent ); + PRINT_TYPE( xAOD::FaserType::FaserTruthPileupEvent ); PRINT_TYPE( xAOD::FaserType::EventInfo ); PRINT_TYPE( xAOD::FaserType::EventFormat ); diff --git a/xAOD/xAODFaserBase/xAODFaserBase/FaserObjectType.h b/xAOD/xAODFaserBase/xAODFaserBase/FaserObjectType.h index bf2abc66..dbb5c696 100644 --- a/xAOD/xAODFaserBase/xAODFaserBase/FaserObjectType.h +++ b/xAOD/xAODFaserBase/xAODFaserBase/FaserObjectType.h @@ -61,10 +61,10 @@ namespace xAOD { // Truth types // { - TruthParticle = 201, ///< The object is a truth particle - TruthVertex = 202, ///< The object is a truth vertex - TruthEvent = 203, ///< The object is a truth event - TruthPileupEvent = 204, ///< The object is a truth pileup event + FaserTruthParticle = 201, ///< The object is a truth particle + FaserTruthVertex = 202, ///< The object is a truth vertex + FaserTruthEvent = 203, ///< The object is a truth event + FaserTruthPileupEvent = 204, ///< The object is a truth pileup event // } diff --git a/xAOD/xAODFaserTruth/CMakeLists.txt b/xAOD/xAODFaserTruth/CMakeLists.txt index 4d63992e..c13ee743 100644 --- a/xAOD/xAODFaserTruth/CMakeLists.txt +++ b/xAOD/xAODFaserTruth/CMakeLists.txt @@ -1,10 +1,10 @@ # $Id: CMakeLists.txt 761796 2016-07-14 08:06:02Z krasznaa $ ################################################################################ -# Package: xAODTruth +# Package: xAODFaserTruth ################################################################################ # Declare the package name: -atlas_subdir( xAODTruth ) +atlas_subdir( xAODFaserTruth ) # Declare the package's dependencies: atlas_depends_on_subdirs( @@ -12,26 +12,27 @@ atlas_depends_on_subdirs( Control/AthContainers Control/AthLinks Event/xAOD/xAODBase + Event/xAOD/xAODFaserBase Event/xAOD/xAODCore PRIVATE Generators/TruthUtils ) # 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 +atlas_add_library( xAODFaserTruth + xAODFaserTruth/*.h xAODFaserTruth/versions/*.h Root/*.h Root/*.cxx + PUBLIC_HEADERS xAODFaserTruth + LINK_LIBRARIES AthContainers AthLinks xAODBase xAODFaserBase xAODCore PRIVATE_LINK_LIBRARIES TruthUtils ) -atlas_add_dictionary( xAODTruthDict - xAODTruth/xAODTruthDict.h - xAODTruth/selection.xml - LINK_LIBRARIES xAODTruth +atlas_add_dictionary( xAODFaserTruthDict + xAODFaserTruth/xAODFaserTruthDict.h + xAODFaserTruth/selection.xml + LINK_LIBRARIES xAODFaserTruth EXTRA_FILES Root/dict/*.cxx ) -atlas_generate_cliddb( xAODTruth ) +atlas_generate_cliddb( xAODFaserTruth ) # Test(s) in the package: -atlas_add_test( ut_xaodtruth_particle_test - SOURCES test/ut_xaodtruth_particle_test.cxx - LINK_LIBRARIES xAODTruth ) +atlas_add_test( ut_xaodfasertruth_particle_test + SOURCES test/ut_xaodfasertruth_particle_test.cxx + LINK_LIBRARIES xAODFaserTruth ) diff --git a/xAOD/xAODFaserTruth/Root/TruthAccessors.cxx b/xAOD/xAODFaserTruth/Root/FaserTruthAccessors.cxx similarity index 60% rename from xAOD/xAODFaserTruth/Root/TruthAccessors.cxx rename to xAOD/xAODFaserTruth/Root/FaserTruthAccessors.cxx index 0e8785e9..856c450b 100644 --- a/xAOD/xAODFaserTruth/Root/TruthAccessors.cxx +++ b/xAOD/xAODFaserTruth/Root/FaserTruthAccessors.cxx @@ -2,7 +2,7 @@ #include <iostream> // Local include(s): -#include "TruthAccessors.h" +#include "FaserTruthAccessors.h" /// Helper macro for managing cluster moment Accessor objects #define DEFINE_ACCESSOR( PARENT, TYPE, NAME ) \ @@ -16,12 +16,12 @@ namespace xAOD { SG::AuxElement::Accessor< float >* - polarizationAccessor( TruthParticle::PolParam type ) { + polarizationAccessor( FaserTruthParticle::PolParam type ) { switch( type ) { - DEFINE_ACCESSOR( TruthParticle, float, polarizationTheta ); - DEFINE_ACCESSOR( TruthParticle, float, polarizationPhi ); + DEFINE_ACCESSOR( FaserTruthParticle, float, polarizationTheta ); + DEFINE_ACCESSOR( FaserTruthParticle, float, polarizationPhi ); default: std::cerr << "xAOD::polarizationAccessor ERROR Unknown PolParam (" @@ -33,14 +33,14 @@ namespace xAOD { } SG::AuxElement::Accessor< int >* - pdfInfoAccessorInt( TruthEvent::PdfParam type ) { + pdfInfoAccessorInt( FaserTruthEvent::PdfParam type ) { switch( type ) { - DEFINE_ACCESSOR( TruthEvent, int, PDGID1 ); - DEFINE_ACCESSOR( TruthEvent, int, PDGID2 ); - DEFINE_ACCESSOR( TruthEvent, int, PDFID1 ); - DEFINE_ACCESSOR( TruthEvent, int, PDFID2 ); + DEFINE_ACCESSOR( FaserTruthEvent, int, PDGID1 ); + DEFINE_ACCESSOR( FaserTruthEvent, int, PDGID2 ); + DEFINE_ACCESSOR( FaserTruthEvent, int, PDFID1 ); + DEFINE_ACCESSOR( FaserTruthEvent, int, PDFID2 ); default: std::cerr << "xAOD::pdfInfoAccessorInt ERROR Unknown PdfParam (" @@ -52,15 +52,15 @@ namespace xAOD { } SG::AuxElement::Accessor< float >* - pdfInfoAccessorFloat( TruthEvent::PdfParam type ) { + pdfInfoAccessorFloat( FaserTruthEvent::PdfParam type ) { switch( type ) { - DEFINE_ACCESSOR( TruthEvent, float, X1 ); - DEFINE_ACCESSOR( TruthEvent, float, X2 ); - DEFINE_ACCESSOR( TruthEvent, float, Q ); - DEFINE_ACCESSOR( TruthEvent, float, XF1 ); - DEFINE_ACCESSOR( TruthEvent, float, XF2 ); + DEFINE_ACCESSOR( FaserTruthEvent, float, X1 ); + DEFINE_ACCESSOR( FaserTruthEvent, float, X2 ); + DEFINE_ACCESSOR( FaserTruthEvent, float, Q ); + DEFINE_ACCESSOR( FaserTruthEvent, float, XF1 ); + DEFINE_ACCESSOR( FaserTruthEvent, float, XF2 ); default: std::cerr << "xAOD::pdfInfoAccessorFloat ERROR Unknown ParamDef (" diff --git a/xAOD/xAODFaserTruth/Root/TruthAccessors.h b/xAOD/xAODFaserTruth/Root/FaserTruthAccessors.h similarity index 68% rename from xAOD/xAODFaserTruth/Root/TruthAccessors.h rename to xAOD/xAODFaserTruth/Root/FaserTruthAccessors.h index 704ad790..72d13bb0 100644 --- a/xAOD/xAODFaserTruth/Root/TruthAccessors.h +++ b/xAOD/xAODFaserTruth/Root/FaserTruthAccessors.h @@ -12,24 +12,24 @@ #include "AthContainers/AuxElement.h" // Local include(s): -#include "xAODTruth/TruthEvent.h" -#include "xAODTruth/TruthParticle.h" +#include "xAODFaserTruth/FaserTruthEvent.h" +#include "xAODFaserTruth/FaserTruthParticle.h" namespace xAOD { /// This function holds on to Accessor objects that can be used by each - /// TruthParticle object at runtime to get/set parameter values on + /// FaserTruthParticle object at runtime to get/set parameter values on /// themselves. SG::AuxElement::Accessor< float >* - polarizationAccessor( TruthParticle::PolParam type ); + polarizationAccessor( FaserTruthParticle::PolParam type ); /// Helper function for getting accessors for integer type PDF information SG::AuxElement::Accessor< int >* - pdfInfoAccessorInt( TruthEvent::PdfParam type ); + pdfInfoAccessorInt( FaserTruthEvent::PdfParam type ); /// Helper function for getting accessors for floating point PDF information SG::AuxElement::Accessor< float >* - pdfInfoAccessorFloat( TruthEvent::PdfParam type ); + pdfInfoAccessorFloat( FaserTruthEvent::PdfParam type ); } // namespace xAOD diff --git a/xAOD/xAODFaserTruth/Root/TruthEvent.cxx b/xAOD/xAODFaserTruth/Root/FaserTruthEvent.cxx similarity index 67% rename from xAOD/xAODFaserTruth/Root/TruthEvent.cxx rename to xAOD/xAODFaserTruth/Root/FaserTruthEvent.cxx index aa83accf..512474bb 100644 --- a/xAOD/xAODFaserTruth/Root/TruthEvent.cxx +++ b/xAOD/xAODFaserTruth/Root/FaserTruthEvent.cxx @@ -2,7 +2,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: TruthEvent.cxx 761798 2016-07-14 08:15:01Z krasznaa $ +// $Id: FaserTruthEvent.cxx 761798 2016-07-14 08:15:01Z krasznaa $ // System include(s): #include <cmath> @@ -11,13 +11,13 @@ #include "xAODCore/AuxStoreAccessorMacros.h" // Local include(s): -#include "xAODTruth/TruthEvent.h" -#include "TruthAccessors.h" +#include "xAODFaserTruth/FaserTruthEvent.h" +#include "FaserTruthAccessors.h" namespace xAOD { - TruthEvent::TruthEvent() + FaserTruthEvent::FaserTruthEvent() : SG::AuxElement() { } @@ -25,16 +25,16 @@ namespace xAOD { ///////////////////////////////////////////////////////////////////////////// // Implementation of the truth particle accessor functions - AUXSTORE_OBJECT_SETTER_AND_GETTER( TruthEvent, - TruthEvent::TruthParticleLinks_t, + AUXSTORE_OBJECT_SETTER_AND_GETTER( FaserTruthEvent, + FaserTruthEvent::FaserTruthParticleLinks_t, truthParticleLinks, - setTruthParticleLinks ) + setFaserTruthParticleLinks ) /// Accessor for the truth particles - static SG::AuxElement::Accessor< TruthEvent::TruthParticleLinks_t > + static SG::AuxElement::Accessor< FaserTruthEvent::FaserTruthParticleLinks_t > truthParticleLinksAcc( "truthParticleLinks" ); - size_t TruthEvent::nTruthParticles() const { + size_t FaserTruthEvent::nFaserTruthParticles() const { // If the variable is not available, we don't have any truth particles // associated... @@ -46,13 +46,13 @@ namespace xAOD { return truthParticleLinksAcc( *this ).size(); } - const TruthEvent::TruthParticleLink_t& - TruthEvent::truthParticleLink( size_t index ) const { + const FaserTruthEvent::FaserTruthParticleLink_t& + FaserTruthEvent::truthParticleLink( size_t index ) const { return truthParticleLinksAcc( *this ).at( index ); } - const TruthParticle* TruthEvent::truthParticle( size_t index ) const { + const FaserTruthParticle* FaserTruthEvent::truthParticle( size_t index ) const { // Check if the variable is available: if( ! truthParticleLinksAcc.isAvailable( *this ) ) { @@ -60,7 +60,7 @@ namespace xAOD { } // Check if the link is valid: - const TruthParticleLinks_t& links = truthParticleLinksAcc( *this ); + const FaserTruthParticleLinks_t& links = truthParticleLinksAcc( *this ); if( ! links[ index ].isValid() ) { return 0; } @@ -70,13 +70,13 @@ namespace xAOD { } void - TruthEvent::addTruthParticleLink( const TruthParticleLink_t& link ) { + FaserTruthEvent::addFaserTruthParticleLink( const FaserTruthParticleLink_t& link ) { truthParticleLinksAcc( *this ).push_back( link ); return; } - void TruthEvent::clearTruthParticleLinks() { + void FaserTruthEvent::clearFaserTruthParticleLinks() { truthParticleLinksAcc( *this ).clear(); return; @@ -87,16 +87,16 @@ namespace xAOD { ///////////////////////////////////////////////////////////////////////////// // Implementation of the truth vertex accessor functions - AUXSTORE_OBJECT_SETTER_AND_GETTER( TruthEvent, - TruthEvent::TruthVertexLinks_t, + AUXSTORE_OBJECT_SETTER_AND_GETTER( FaserTruthEvent, + FaserTruthEvent::FaserTruthVertexLinks_t, truthVertexLinks, - setTruthVertexLinks ) + setFaserTruthVertexLinks ) /// Accessor for the truth vertices - static SG::AuxElement::Accessor< TruthEvent::TruthVertexLinks_t > + static SG::AuxElement::Accessor< FaserTruthEvent::FaserTruthVertexLinks_t > truthVertexLinksAcc( "truthVertexLinks" ); - size_t TruthEvent::nTruthVertices() const { + size_t FaserTruthEvent::nTruthVertices() const { // If the variable is not available, we don't have any truth particles // associated... @@ -108,13 +108,13 @@ namespace xAOD { return truthVertexLinksAcc( *this ).size(); } - const TruthEvent::TruthVertexLink_t& - TruthEvent::truthVertexLink( size_t index ) const { + const FaserTruthEvent::FaserTruthVertexLink_t& + FaserTruthEvent::truthVertexLink( size_t index ) const { return truthVertexLinksAcc( *this ).at(index); } - const TruthVertex* TruthEvent::truthVertex( size_t index ) const { + const FaserTruthVertex* FaserTruthEvent::truthVertex( size_t index ) const { // Check if the variable is available: if( ! truthVertexLinksAcc.isAvailable( *this ) ) { @@ -122,7 +122,7 @@ namespace xAOD { } // Check if the link is valid: - const TruthVertexLinks_t& links = truthVertexLinksAcc( *this ); + const FaserTruthVertexLinks_t& links = truthVertexLinksAcc( *this ); if( ! links[ index ].isValid() ) { return 0; } @@ -131,13 +131,13 @@ namespace xAOD { return *( links[ index ] ); } - void TruthEvent::addTruthVertexLink( const TruthVertexLink_t& link ) { + void FaserTruthEvent::addFaserTruthVertexLink( const FaserTruthVertexLink_t& link ) { truthVertexLinksAcc( *this ).push_back( link ); return; } - void TruthEvent::clearTruthVertexLinks() { + void FaserTruthEvent::clearFaserTruthVertexLinks() { truthVertexLinksAcc( *this ).clear(); return; @@ -149,16 +149,16 @@ namespace xAOD { /// @todo Need upgrade to allow string-valued map-like access... or access a /// corresponding vector of names - AUXSTORE_OBJECT_SETTER_AND_GETTER( TruthEvent, std::vector< float >, + AUXSTORE_OBJECT_SETTER_AND_GETTER( FaserTruthEvent, std::vector< float >, weights, setWeights ) - AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TruthEvent, float, crossSection, + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( FaserTruthEvent, float, crossSection, setCrossSection ) - AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TruthEvent, float, + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( FaserTruthEvent, float, crossSectionError, setCrossSectionError ) - void TruthEvent::setCrossSection( float value, float error ) { + void FaserTruthEvent::setCrossSection( float value, float error ) { setCrossSection( value ); setCrossSectionError( error ); @@ -170,7 +170,7 @@ namespace xAOD { ///////////////////////////////////////////////////////////////////////////// // Optional PDF info accessors - bool TruthEvent::pdfInfoParameter( int& value, + bool FaserTruthEvent::pdfInfoParameter( int& value, PdfParam information ) const { // Look for the accessor object: @@ -182,7 +182,7 @@ namespace xAOD { return true; } - bool TruthEvent::pdfInfoParameter( float& value, + bool FaserTruthEvent::pdfInfoParameter( float& value, PdfParam information ) const { // Look for the accessor object: @@ -194,7 +194,7 @@ namespace xAOD { return true; } - bool TruthEvent::setPdfInfoParameter( int value, + bool FaserTruthEvent::setPdfInfoParameter( int value, PdfParam information ) { // Look for the accessor object: @@ -206,7 +206,7 @@ namespace xAOD { return true; } - bool TruthEvent::setPdfInfoParameter( float value, + bool FaserTruthEvent::setPdfInfoParameter( float value, PdfParam information ) { // Look for the accessor object: @@ -218,13 +218,13 @@ namespace xAOD { return true; } - TruthEvent::PdfInfo::PdfInfo() + FaserTruthEvent::PdfInfo::PdfInfo() : pdgId1( 0 ), pdgId2( 0 ), pdfId1( -1 ), pdfId2( -1 ), x1( NAN ), x2( NAN ), Q( NAN ), xf1( NAN ), xf2( NAN ) { } - bool TruthEvent::PdfInfo::valid() const { + bool FaserTruthEvent::PdfInfo::valid() const { return ( ( pdgId1 != 0 ) && ( pdgId2 != 0 ) && ( pdfId1 >= 0 ) && ( pdfId2 >= 0 ) && @@ -233,7 +233,7 @@ namespace xAOD { ( ! std::isnan( xf1 ) ) && ( ! std::isnan( xf2 ) ) ); } - TruthEvent::PdfInfo TruthEvent::pdfInfo() const { + FaserTruthEvent::PdfInfo FaserTruthEvent::pdfInfo() const { // The result object: PdfInfo rtn; @@ -258,10 +258,10 @@ namespace xAOD { // Implementation for the links to truth particles/vertices // Accessor for the signal vertex - static SG::AuxElement::Accessor< TruthEvent::TruthVertexLink_t > + static SG::AuxElement::Accessor< FaserTruthEvent::FaserTruthVertexLink_t > signalProcessVertexLinkAcc( "signalProcessVertexLink" ); - const TruthVertex* TruthEvent::signalProcessVertex() const { + const FaserTruthVertex* FaserTruthEvent::signalProcessVertex() const { // Check if the link variable is available: if( ! signalProcessVertexLinkAcc.isAvailable( *this ) ) { @@ -269,7 +269,7 @@ namespace xAOD { } // Get the link: - const TruthVertexLink_t& vertLink = signalProcessVertexLinkAcc( *this ); + const FaserTruthVertexLink_t& vertLink = signalProcessVertexLinkAcc( *this ); // Check if it's valid: if( ! vertLink.isValid() ) { @@ -280,31 +280,36 @@ namespace xAOD { return *vertLink; } - AUXSTORE_OBJECT_SETTER_AND_GETTER( TruthEvent, - TruthEvent::TruthVertexLink_t, + AUXSTORE_OBJECT_SETTER_AND_GETTER( FaserTruthEvent, + FaserTruthEvent::FaserTruthVertexLink_t, signalProcessVertexLink, setSignalProcessVertexLink ) // Accessors for the beam particles - static SG::AuxElement::Accessor< TruthEvent::TruthParticleLink_t > + static SG::AuxElement::Accessor< FaserTruthEvent::FaserTruthParticleLink_t > primaryParticleLinkLinkAcc( "primaryParticleLink" ); - AUXSTORE_OBJECT_SETTER_AND_GETTER( TruthEvent, - TruthEvent::TruthParticleLink_t, + AUXSTORE_OBJECT_SETTER_AND_GETTER( FaserTruthEvent, + FaserTruthEvent::FaserTruthParticleLink_t, primaryParticleLink, setPrimaryParticleLink ) ///////////////////////////////////////////////////////////////////////////// - Type::ObjectType TruthEvent::type() const { + FaserType::ObjectType FaserTruthEvent::faserType() const { - return Type::TruthEvent; + return FaserType::FaserTruthEvent; } - AUXSTORE_OBJECT_SETTER_AND_GETTER(TruthEvent, std::vector < std::string >, weightNames, setWeightNames ) - AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(TruthEvent, uint32_t, mcChannelNumber, setMcChannelNumber ) + Type::ObjectType FaserTruthEvent::type() const { - void TruthEvent::toPersistent() { + return Type::Other; + } + + AUXSTORE_OBJECT_SETTER_AND_GETTER(FaserTruthEvent, std::vector < std::string >, weightNames, setWeightNames ) + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(FaserTruthEvent, uint32_t, mcChannelNumber, setMcChannelNumber ) + + void FaserTruthEvent::toPersistent() { if( primaryParticleLinkLinkAcc.isAvailableWritable( *this ) ) { primaryParticleLinkLinkAcc( *this ).toPersistent(); @@ -316,9 +321,9 @@ namespace xAOD { // Prepare the truth particle links for writing: if( truthParticleLinksAcc.isAvailableWritable( *this ) ) { - TruthParticleLinks_t::iterator itr = + FaserTruthParticleLinks_t::iterator itr = truthParticleLinksAcc( *this ).begin(); - TruthParticleLinks_t::iterator end = + FaserTruthParticleLinks_t::iterator end = truthParticleLinksAcc( *this ).end(); for( ; itr != end; ++itr ) { itr->toPersistent(); @@ -327,9 +332,9 @@ namespace xAOD { // Prepare the truth vertex links for writing: if( truthVertexLinksAcc.isAvailableWritable( *this ) ) { - TruthVertexLinks_t::iterator itr = + FaserTruthVertexLinks_t::iterator itr = truthVertexLinksAcc( *this ).begin(); - TruthVertexLinks_t::iterator end = + FaserTruthVertexLinks_t::iterator end = truthVertexLinksAcc( *this ).end(); for( ; itr != end; ++itr ) { itr->toPersistent(); diff --git a/xAOD/xAODFaserTruth/Root/TruthEventAuxContainer.cxx b/xAOD/xAODFaserTruth/Root/FaserTruthEventAuxContainer.cxx similarity index 77% rename from xAOD/xAODFaserTruth/Root/TruthEventAuxContainer.cxx rename to xAOD/xAODFaserTruth/Root/FaserTruthEventAuxContainer.cxx index 52bfe7e6..8beb4fa0 100644 --- a/xAOD/xAODFaserTruth/Root/TruthEventAuxContainer.cxx +++ b/xAOD/xAODFaserTruth/Root/FaserTruthEventAuxContainer.cxx @@ -1,9 +1,9 @@ // Local include(s): -#include "xAODTruth/TruthEventAuxContainer.h" +#include "xAODFaserTruth/FaserTruthEventAuxContainer.h" namespace xAOD { - TruthEventAuxContainer::TruthEventAuxContainer() + FaserTruthEventAuxContainer::FaserTruthEventAuxContainer() : AuxContainerBase() { AUX_VARIABLE( signalProcessVertexLink ); diff --git a/xAOD/xAODFaserTruth/Root/TruthParticle.cxx b/xAOD/xAODFaserTruth/Root/FaserTruthParticle.cxx similarity index 71% rename from xAOD/xAODFaserTruth/Root/TruthParticle.cxx rename to xAOD/xAODFaserTruth/Root/FaserTruthParticle.cxx index 39142e92..4f1fd7d7 100644 --- a/xAOD/xAODFaserTruth/Root/TruthParticle.cxx +++ b/xAOD/xAODFaserTruth/Root/FaserTruthParticle.cxx @@ -4,7 +4,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: TruthParticle.cxx 690336 2015-08-20 10:54:57Z abuckley $ +// $Id: FaserTruthParticle.cxx 690336 2015-08-20 10:54:57Z abuckley $ // System include(s): #include <cmath> @@ -18,14 +18,14 @@ #include "xAODCore/AuxStoreAccessorMacros.h" // Local include(s): -#include "xAODTruth/TruthParticle.h" -#include "xAODTruth/TruthVertexContainer.h" -#include "TruthAccessors.h" +#include "xAODFaserTruth/FaserTruthParticle.h" +#include "xAODFaserTruth/FaserTruthVertexContainer.h" +#include "FaserTruthAccessors.h" namespace xAOD { - TruthParticle::TruthParticle() - : IParticle(), m_p4(), m_p4Cached( false ) { + FaserTruthParticle::FaserTruthParticle() + : IParticle() { } @@ -34,17 +34,17 @@ namespace xAOD { // Implementation for functions identifying the particle in the MC record // - AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TruthParticle, int, pdgId, + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( FaserTruthParticle, int, pdgId, setPdgId ) - int TruthParticle::absPdgId() const { + int FaserTruthParticle::absPdgId() const { return std::abs( pdgId() ); } - AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TruthParticle, int, barcode, + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( FaserTruthParticle, int, barcode, setBarcode ) - AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TruthParticle, int, status, + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( FaserTruthParticle, int, status, setStatus ) // @@ -56,40 +56,40 @@ namespace xAOD { // /// Accessor for the production vertex - static SG::AuxElement::Accessor< ElementLink< TruthVertexContainer > > + static SG::AuxElement::Accessor< ElementLink< FaserTruthVertexContainer > > prodVtxLinkAcc( "prodVtxLink" ); /// Accessor for the decay vertex - static SG::AuxElement::Accessor< ElementLink< TruthVertexContainer > > + static SG::AuxElement::Accessor< ElementLink< FaserTruthVertexContainer > > decayVtxLinkAcc( "decayVtxLink" ); - bool TruthParticle::hasProdVtx() const { + bool FaserTruthParticle::hasProdVtx() const { return ( prodVtxLinkAcc.isAvailable( *this ) && prodVtxLinkAcc( *this ).isValid() ); } - const TruthVertex* TruthParticle::prodVtx() const { + const FaserTruthVertex* FaserTruthParticle::prodVtx() const { return hasProdVtx() ? *prodVtxLink() : 0; } - AUXSTORE_OBJECT_SETTER_AND_GETTER( TruthParticle, - ElementLink< TruthVertexContainer >, + AUXSTORE_OBJECT_SETTER_AND_GETTER( FaserTruthParticle, + ElementLink< FaserTruthVertexContainer >, prodVtxLink, setProdVtxLink ) - bool TruthParticle::hasDecayVtx() const { + bool FaserTruthParticle::hasDecayVtx() const { return ( decayVtxLinkAcc.isAvailable( *this ) && decayVtxLinkAcc( *this ).isValid() ); } - const TruthVertex* TruthParticle::decayVtx() const { + const FaserTruthVertex* FaserTruthParticle::decayVtx() const { return hasDecayVtx() ? *decayVtxLink() : 0; } - AUXSTORE_OBJECT_SETTER_AND_GETTER( TruthParticle, - ElementLink< TruthVertexContainer >, + AUXSTORE_OBJECT_SETTER_AND_GETTER( FaserTruthParticle, + ElementLink< FaserTruthVertexContainer >, decayVtxLink, setDecayVtxLink ) // @@ -100,22 +100,22 @@ namespace xAOD { // Direct access to parents and children // - size_t TruthParticle::nParents() const { + size_t FaserTruthParticle::nParents() const { return hasProdVtx() ? prodVtx()->nIncomingParticles() : 0; } - const TruthParticle* TruthParticle::parent( size_t i ) const { + const FaserTruthParticle* FaserTruthParticle::parent( size_t i ) const { return hasProdVtx() ? prodVtx()->incomingParticle( i ) : 0; } - size_t TruthParticle::nChildren() const { + size_t FaserTruthParticle::nChildren() const { return hasDecayVtx() ? decayVtx()->nOutgoingParticles() : 0; } - const TruthParticle* TruthParticle::child( size_t i ) const { + const FaserTruthParticle* FaserTruthParticle::child( size_t i ) const { return hasDecayVtx() ? decayVtx()->outgoingParticle( i ) : 0; } @@ -128,7 +128,7 @@ namespace xAOD { // Implementation of the IParticle interface // - double TruthParticle::pt() const { + double FaserTruthParticle::pt() const { // Do the calculation by hand: const double localPx = static_cast< double >( px() ); @@ -136,42 +136,40 @@ namespace xAOD { return std::sqrt( localPx * localPx + localPy * localPy ); } - double TruthParticle::eta() const { + double FaserTruthParticle::eta() const { // Calculate the pseudo-rapidity using TLorentzVector. // Could do something more lightweight later on. return p4().Eta(); } - double TruthParticle::phi() const { + double FaserTruthParticle::phi() const { // Calculate the azimuth angle using TLorentzVector. // Could do something more lightweight later on. return p4().Phi(); } - AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TruthParticle, float, double, m ) - AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TruthParticle, float, double, e ) + AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( FaserTruthParticle, float, double, m ) + AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( FaserTruthParticle, float, double, e ) - double TruthParticle::rapidity() const { + double FaserTruthParticle::rapidity() const { return p4().Rapidity(); } - const TruthParticle::FourMom_t& TruthParticle::p4() const { + FaserTruthParticle::FourMom_t FaserTruthParticle::p4() const { + return FourMom_t(px(), py(), pz(), e() ); + } - // Cache the 4-momentum if it's not already: - if( ! m_p4Cached ) { - m_p4.SetPxPyPzE( px(), py(), pz(), e() ); - m_p4Cached = true; - } + FaserType::ObjectType FaserTruthParticle::faserType() const { - return m_p4; + return FaserType::FaserTruthParticle; } + + Type::ObjectType FaserTruthParticle::type() const { - Type::ObjectType TruthParticle::type() const { - - return Type::TruthParticle; + return Type::Other; } // @@ -182,51 +180,47 @@ namespace xAOD { // Implementation of the truth particle specific 4-momentum functions // - double TruthParticle::abseta() const { + double FaserTruthParticle::abseta() const { return std::abs( eta() ); } - double TruthParticle::absrapidity() const { + double FaserTruthParticle::absrapidity() const { return std::abs( rapidity() ); } - AUXSTORE_PRIMITIVE_GETTER( TruthParticle, float, px ) + AUXSTORE_PRIMITIVE_GETTER( FaserTruthParticle, float, px ) - void TruthParticle::setPx( float value ) { + void FaserTruthParticle::setPx( float value ) { static Accessor< float > acc( "px" ); - m_p4Cached = false; acc( *this ) = value; return; } - AUXSTORE_PRIMITIVE_GETTER( TruthParticle, float, py ) + AUXSTORE_PRIMITIVE_GETTER( FaserTruthParticle, float, py ) - void TruthParticle::setPy( float value ) { + void FaserTruthParticle::setPy( float value ) { static Accessor< float > acc( "py" ); - m_p4Cached = false; acc( *this ) = value; return; } - AUXSTORE_PRIMITIVE_GETTER( TruthParticle, float, pz ) + AUXSTORE_PRIMITIVE_GETTER( FaserTruthParticle, float, pz ) - void TruthParticle::setPz( float value ) { + void FaserTruthParticle::setPz( float value ) { static Accessor< float > acc( "pz" ); - m_p4Cached = false; acc( *this ) = value; return; } - void TruthParticle::setE( float value ) { + void FaserTruthParticle::setE( float value ) { static Accessor< float > acc( "e" ); - m_p4Cached = false; acc( *this ) = value; return; } - void TruthParticle::setM( float value ) { + void FaserTruthParticle::setM( float value ) { static Accessor< float > acc( "m" ); // note: this does not invalidate the cache acc( *this ) = value; @@ -243,7 +237,7 @@ namespace xAOD { /// Helper macro to implement the functions that rely in functions from MC::PID #define MC_PID_HELPER( TYPE, FNAME ) \ - TYPE TruthParticle::FNAME() const { \ + TYPE FaserTruthParticle::FNAME() const { \ return MC::PID::FNAME( pdgId() ); \ } @@ -309,14 +303,14 @@ namespace xAOD { // Implementation of the optional polarization accessors // - bool TruthParticle::polarizationParameter( float& value, + bool FaserTruthParticle::polarizationParameter( float& value, PolParam param ) const { // Get the accessor object: Accessor< float >* acc = polarizationAccessor( param ); if( ! acc ) { // The user asked for a non-existent parameter type. o.O - std::cerr << "xAOD::TruthParticle::polarizationParameter ERROR " + std::cerr << "xAOD::FaserTruthParticle::polarizationParameter ERROR " << "Request for an unknown (" << param << ") polarization " << "parameter type" << std::endl; return false; @@ -332,14 +326,14 @@ namespace xAOD { return true; } - bool TruthParticle::setPolarizationParameter( float value, + bool FaserTruthParticle::setPolarizationParameter( float value, PolParam param ) { // Get the accessor object: Accessor< float >* acc = polarizationAccessor( param ); if( ! acc ) { // The user asked for a non-existent parameter type. o.O - std::cerr << "xAOD::TruthParticle::setPolarizationParameter ERROR " + std::cerr << "xAOD::FaserTruthParticle::setPolarizationParameter ERROR " << "Request for an unknown (" << param << ") polarization " << "parameter type" << std::endl; return false; @@ -350,7 +344,7 @@ namespace xAOD { return true; } - float TruthParticle::polarizationPatameter( PolParam param ) const { + float FaserTruthParticle::polarizationPatameter( PolParam param ) const { // Get the accessor object: Accessor< float >* acc = polarizationAccessor( param ); @@ -364,7 +358,7 @@ namespace xAOD { return ( *acc )( *this ); } - TruthParticle::Polarization TruthParticle::polarization() const { + FaserTruthParticle::Polarization FaserTruthParticle::polarization() const { // Construct the object: Polarization rtn; @@ -377,7 +371,7 @@ namespace xAOD { // ///////////////////////////////////////////////////////////////////////////// - void TruthParticle::toPersistent() { + void FaserTruthParticle::toPersistent() { if( prodVtxLinkAcc.isAvailableWritable( *this ) ) { prodVtxLinkAcc( *this ).toPersistent(); diff --git a/xAOD/xAODFaserTruth/Root/TruthParticleAuxContainer.cxx b/xAOD/xAODFaserTruth/Root/FaserTruthParticleAuxContainer.cxx similarity index 75% rename from xAOD/xAODFaserTruth/Root/TruthParticleAuxContainer.cxx rename to xAOD/xAODFaserTruth/Root/FaserTruthParticleAuxContainer.cxx index 8a4fede3..d117a6d3 100644 --- a/xAOD/xAODFaserTruth/Root/TruthParticleAuxContainer.cxx +++ b/xAOD/xAODFaserTruth/Root/FaserTruthParticleAuxContainer.cxx @@ -1,9 +1,9 @@ // Local include(s): -#include "xAODTruth/TruthParticleAuxContainer.h" +#include "xAODFaserTruth/FaserTruthParticleAuxContainer.h" namespace xAOD { - TruthParticleAuxContainer::TruthParticleAuxContainer() + FaserTruthParticleAuxContainer::FaserTruthParticleAuxContainer() : AuxContainerBase() { AUX_VARIABLE( pdgId ); diff --git a/xAOD/xAODFaserTruth/Root/TruthVertex.cxx b/xAOD/xAODFaserTruth/Root/FaserTruthVertex.cxx similarity index 72% rename from xAOD/xAODFaserTruth/Root/TruthVertex.cxx rename to xAOD/xAODFaserTruth/Root/FaserTruthVertex.cxx index fcc60609..f4b0df46 100644 --- a/xAOD/xAODFaserTruth/Root/TruthVertex.cxx +++ b/xAOD/xAODFaserTruth/Root/FaserTruthVertex.cxx @@ -2,7 +2,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: TruthVertex.cxx 624338 2014-10-27 15:08:55Z krasznaa $ +// $Id: FaserTruthVertex.cxx 624338 2014-10-27 15:08:55Z krasznaa $ // System include(s): #include <cmath> @@ -11,12 +11,12 @@ #include "xAODCore/AuxStoreAccessorMacros.h" // Local include(s): -#include "xAODTruth/TruthVertex.h" -#include "xAODTruth/TruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthVertex.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" namespace xAOD { - TruthVertex::TruthVertex() + FaserTruthVertex::FaserTruthVertex() : SG::AuxElement(), m_v4(), m_v4Cached( false ) { } @@ -26,8 +26,8 @@ namespace xAOD { // Implementation for the "MC specific" functions // - AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TruthVertex, int, id, setId ) - AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TruthVertex, int, barcode, + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( FaserTruthVertex, int, id, setId ) + AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( FaserTruthVertex, int, barcode, setBarcode ) // @@ -38,15 +38,15 @@ namespace xAOD { // Implementation for the links to the truth particles // - AUXSTORE_OBJECT_SETTER_AND_GETTER( TruthVertex, TruthVertex::TPLinks_t, + AUXSTORE_OBJECT_SETTER_AND_GETTER( FaserTruthVertex, FaserTruthVertex::TPLinks_t, incomingParticleLinks, setIncomingParticleLinks ) /// Accessor for the incoming particles - static SG::AuxElement::Accessor< TruthVertex::TPLinks_t > + static SG::AuxElement::Accessor< FaserTruthVertex::TPLinks_t > incomingParticleLinksAcc( "incomingParticleLinks" ); - size_t TruthVertex::nIncomingParticles() const { + size_t FaserTruthVertex::nIncomingParticles() const { // Check if the variable is available: if( ! incomingParticleLinksAcc.isAvailable( *this ) ) { @@ -58,7 +58,7 @@ namespace xAOD { return incomingParticleLinksAcc( *this ).size(); } - const TruthParticle* TruthVertex::incomingParticle( size_t index ) const { + const FaserTruthParticle* FaserTruthVertex::incomingParticle( size_t index ) const { // Check that the variable exists, and that it has enough elements in it: if( ( ! incomingParticleLinksAcc.isAvailable( *this ) ) || @@ -76,27 +76,27 @@ namespace xAOD { return *ipl; } - void TruthVertex::addIncomingParticleLink( const TPLink_t& link ) { + void FaserTruthVertex::addIncomingParticleLink( const TPLink_t& link ) { incomingParticleLinksAcc( *this ).push_back( link ); return; } - void TruthVertex::clearIncomingParticleLinks() { + void FaserTruthVertex::clearIncomingParticleLinks() { incomingParticleLinksAcc( *this ).clear(); return; } - AUXSTORE_OBJECT_SETTER_AND_GETTER( TruthVertex, TruthVertex::TPLinks_t, + AUXSTORE_OBJECT_SETTER_AND_GETTER( FaserTruthVertex, FaserTruthVertex::TPLinks_t, outgoingParticleLinks, setOutgoingParticleLinks ) /// Accessor for the outgoing particles - static SG::AuxElement::Accessor< TruthVertex::TPLinks_t > + static SG::AuxElement::Accessor< FaserTruthVertex::TPLinks_t > outgoingParticleLinksAcc( "outgoingParticleLinks" ); - size_t TruthVertex::nOutgoingParticles() const { + size_t FaserTruthVertex::nOutgoingParticles() const { // Check if the variable is available: if( ! outgoingParticleLinksAcc.isAvailable( *this ) ) { @@ -108,7 +108,7 @@ namespace xAOD { return outgoingParticleLinksAcc( *this ).size(); } - const TruthParticle* TruthVertex::outgoingParticle( size_t index ) const { + const FaserTruthParticle* FaserTruthVertex::outgoingParticle( size_t index ) const { // Check that the variable exists, and that it has enough elements in it: if( ( ! outgoingParticleLinksAcc.isAvailable( *this ) ) || @@ -126,13 +126,13 @@ namespace xAOD { return *opl; } - void TruthVertex::addOutgoingParticleLink( const TPLink_t& link ) { + void FaserTruthVertex::addOutgoingParticleLink( const TPLink_t& link ) { outgoingParticleLinksAcc( *this ).push_back( link ); return; } - void TruthVertex::clearOutgoingParticleLinks() { + void FaserTruthVertex::clearOutgoingParticleLinks() { outgoingParticleLinksAcc( *this ).clear(); return; @@ -146,9 +146,9 @@ namespace xAOD { // Implementation of the functions specifying the vertex's position // - AUXSTORE_PRIMITIVE_GETTER( TruthVertex, float, x ) + AUXSTORE_PRIMITIVE_GETTER( FaserTruthVertex, float, x ) - void TruthVertex::setX( float x ) { + void FaserTruthVertex::setX( float x ) { static SG::AuxElement::Accessor< float > acc( "x" ); m_v4Cached = false; @@ -156,9 +156,9 @@ namespace xAOD { return; } - AUXSTORE_PRIMITIVE_GETTER( TruthVertex, float, y ) + AUXSTORE_PRIMITIVE_GETTER( FaserTruthVertex, float, y ) - void TruthVertex::setY( float y ) { + void FaserTruthVertex::setY( float y ) { static SG::AuxElement::Accessor< float > acc( "y" ); m_v4Cached = false; @@ -166,9 +166,9 @@ namespace xAOD { return; } - AUXSTORE_PRIMITIVE_GETTER( TruthVertex, float, z ) + AUXSTORE_PRIMITIVE_GETTER( FaserTruthVertex, float, z ) - void TruthVertex::setZ( float z ) { + void FaserTruthVertex::setZ( float z ) { static SG::AuxElement::Accessor< float > acc( "z" ); m_v4Cached = false; @@ -176,28 +176,28 @@ namespace xAOD { return; } - float TruthVertex::perp() const { + float FaserTruthVertex::perp() const { // Do the calculation by hand. Could make it faster than this even in a // future iteration... return std::sqrt( x() * x() + y() * y() ); } - float TruthVertex::eta() const { + float FaserTruthVertex::eta() const { // This is not necessarily what Andy was thinking about... return v4().Eta(); } - float TruthVertex::phi() const { + float FaserTruthVertex::phi() const { // This is not necessarily what Andy was thinking about... return v4().Phi(); } - AUXSTORE_PRIMITIVE_GETTER( TruthVertex, float, t ) + AUXSTORE_PRIMITIVE_GETTER( FaserTruthVertex, float, t ) - void TruthVertex::setT( float t ) { + void FaserTruthVertex::setT( float t ) { static SG::AuxElement::Accessor< float > acc( "t" ); m_v4Cached = false; @@ -205,7 +205,7 @@ namespace xAOD { return; } - const TruthVertex::FourVec_t& TruthVertex::v4() const { + const FaserTruthVertex::FourVec_t& FaserTruthVertex::v4() const { // Cache the 4-vector if it's not already: if( ! m_v4Cached ) { @@ -220,12 +220,17 @@ namespace xAOD { // ///////////////////////////////////////////////////////////////////////////// - Type::ObjectType TruthVertex::type() const { + FaserType::ObjectType FaserTruthVertex::faserType() const { - return Type::TruthVertex; + return FaserType::FaserTruthVertex; + } + + Type::ObjectType FaserTruthVertex::type() const { + + return Type::Other; } - void TruthVertex::toPersistent() { + void FaserTruthVertex::toPersistent() { // Prepare the incoming particle links for persistification: if( incomingParticleLinksAcc.isAvailableWritable( *this ) ) { diff --git a/xAOD/xAODFaserTruth/Root/TruthVertexAuxContainer.cxx b/xAOD/xAODFaserTruth/Root/FaserTruthVertexAuxContainer.cxx similarity index 67% rename from xAOD/xAODFaserTruth/Root/TruthVertexAuxContainer.cxx rename to xAOD/xAODFaserTruth/Root/FaserTruthVertexAuxContainer.cxx index a0b3f0d6..6bf93f81 100644 --- a/xAOD/xAODFaserTruth/Root/TruthVertexAuxContainer.cxx +++ b/xAOD/xAODFaserTruth/Root/FaserTruthVertexAuxContainer.cxx @@ -2,14 +2,14 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: TruthVertexAuxContainer.cxx 624338 2014-10-27 15:08:55Z krasznaa $ +// $Id: FaserTruthVertexAuxContainer.cxx 624338 2014-10-27 15:08:55Z krasznaa $ // Local include(s): -#include "xAODTruth/TruthVertexAuxContainer.h" +#include "xAODFaserTruth/FaserTruthVertexAuxContainer.h" namespace xAOD { - TruthVertexAuxContainer::TruthVertexAuxContainer() + FaserTruthVertexAuxContainer::FaserTruthVertexAuxContainer() : AuxContainerBase() { AUX_VARIABLE( id ); diff --git a/xAOD/xAODFaserTruth/Root/dict/ContainerProxies.cxx b/xAOD/xAODFaserTruth/Root/dict/ContainerProxies.cxx index c3086181..9d6e1383 100644 --- a/xAOD/xAODFaserTruth/Root/dict/ContainerProxies.cxx +++ b/xAOD/xAODFaserTruth/Root/dict/ContainerProxies.cxx @@ -2,11 +2,11 @@ #include "xAODCore/AddDVProxy.h" // Local include(s): -#include "xAODTruth/TruthParticleContainer.h" -#include "xAODTruth/TruthVertexContainer.h" -#include "xAODTruth/TruthEventContainer.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthVertexContainer.h" +#include "xAODFaserTruth/FaserTruthEventContainer.h" // Set up the collection proxies: -ADD_NS_DV_PROXY( xAOD, TruthParticleContainer ); -ADD_NS_DV_PROXY( xAOD, TruthVertexContainer ); -ADD_NS_DV_PROXY( xAOD, TruthEventContainer ); +ADD_NS_DV_PROXY( xAOD, FaserTruthParticleContainer ); +ADD_NS_DV_PROXY( xAOD, FaserTruthVertexContainer ); +ADD_NS_DV_PROXY( xAOD, FaserTruthEventContainer ); diff --git a/xAOD/xAODFaserTruth/Root/xAODFaserTruthCLIDs.cxx b/xAOD/xAODFaserTruth/Root/xAODFaserTruthCLIDs.cxx new file mode 100644 index 00000000..d293e724 --- /dev/null +++ b/xAOD/xAODFaserTruth/Root/xAODFaserTruthCLIDs.cxx @@ -0,0 +1,14 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + + +//simple includes to force the CLASS_DEF to be encountered during compile + +#include "xAODFaserTruth/FaserTruthVertexContainer.h" +#include "xAODFaserTruth/FaserTruthVertexAuxContainer.h" +#include "xAODFaserTruth/FaserTruthEventContainer.h" +#include "xAODFaserTruth/FaserTruthEventAuxContainer.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthParticleAuxContainer.h" + diff --git a/xAOD/xAODFaserTruth/Root/xAODTruthHelpers.cxx b/xAOD/xAODFaserTruth/Root/xAODFaserTruthHelpers.cxx similarity index 85% rename from xAOD/xAODFaserTruth/Root/xAODTruthHelpers.cxx rename to xAOD/xAODFaserTruth/Root/xAODFaserTruthHelpers.cxx index 3d00de95..c6c398b4 100644 --- a/xAOD/xAODFaserTruth/Root/xAODTruthHelpers.cxx +++ b/xAOD/xAODFaserTruth/Root/xAODFaserTruthHelpers.cxx @@ -2,7 +2,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: xAODTruthHelpers.cxx 668406 2015-05-19 15:32:15Z krasznaa $ +// $Id: xAODFaserTruthHelpers.cxx 668406 2015-05-19 15:32:15Z krasznaa $ // Core EDM include(s): #include "AthLinks/ElementLink.h" @@ -12,9 +12,9 @@ #include "xAODBase/IParticle.h" // Local include(s): -#include "xAODTruth/xAODTruthHelpers.h" -#include "xAODTruth/TruthParticle.h" -#include "xAODTruth/TruthParticleContainer.h" +#include "xAODFaserTruth/xAODFaserTruthHelpers.h" +#include "xAODFaserTruth/FaserTruthParticle.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" namespace xAOD { @@ -24,10 +24,10 @@ namespace xAOD { /// @returns A pointer to the associated truth particle if available, /// or a null pointer if not /// - const xAOD::TruthParticle* getTruthParticle( const xAOD::IParticle& p ) { + const xAOD::FaserTruthParticle* getFaserTruthParticle( const xAOD::IParticle& p ) { /// A convenience type declaration - typedef ElementLink< xAOD::TruthParticleContainer > Link_t; + typedef ElementLink< xAOD::FaserTruthParticleContainer > Link_t; /// A static accessor for the information static SG::AuxElement::ConstAccessor< Link_t > acc( "truthParticleLink" ); diff --git a/xAOD/xAODFaserTruth/Root/xAODTruthCLIDs.cxx b/xAOD/xAODFaserTruth/Root/xAODTruthCLIDs.cxx deleted file mode 100644 index 50c624ca..00000000 --- a/xAOD/xAODFaserTruth/Root/xAODTruthCLIDs.cxx +++ /dev/null @@ -1,14 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - - -//simple includes to force the CLASS_DEF to be encountered during compile - -#include "xAODTruth/TruthVertexContainer.h" -#include "xAODTruth/TruthVertexAuxContainer.h" -#include "xAODTruth/TruthEventContainer.h" -#include "xAODTruth/TruthEventAuxContainer.h" -#include "xAODTruth/TruthParticleContainer.h" -#include "xAODTruth/TruthParticleAuxContainer.h" - diff --git a/xAOD/xAODFaserTruth/share/ut_xaodtruth_particle_test.ref b/xAOD/xAODFaserTruth/share/ut_xaodfasertruth_particle_test.ref similarity index 100% rename from xAOD/xAODFaserTruth/share/ut_xaodtruth_particle_test.ref rename to xAOD/xAODFaserTruth/share/ut_xaodfasertruth_particle_test.ref diff --git a/xAOD/xAODFaserTruth/test/ut_xaodtruth_helpers_test.py b/xAOD/xAODFaserTruth/test/ut_xaodfasertruth_helpers_test.py similarity index 100% rename from xAOD/xAODFaserTruth/test/ut_xaodtruth_helpers_test.py rename to xAOD/xAODFaserTruth/test/ut_xaodfasertruth_helpers_test.py diff --git a/xAOD/xAODFaserTruth/test/ut_xaodtruth_particle_test.cxx b/xAOD/xAODFaserTruth/test/ut_xaodfasertruth_particle_test.cxx similarity index 88% rename from xAOD/xAODFaserTruth/test/ut_xaodtruth_particle_test.cxx rename to xAOD/xAODFaserTruth/test/ut_xaodfasertruth_particle_test.cxx index 363f3b15..0550373a 100644 --- a/xAOD/xAODFaserTruth/test/ut_xaodtruth_particle_test.cxx +++ b/xAOD/xAODFaserTruth/test/ut_xaodfasertruth_particle_test.cxx @@ -9,9 +9,9 @@ #include <cmath> // Local include(s): -#include "xAODTruth/TruthParticle.h" -#include "xAODTruth/TruthParticleContainer.h" -#include "xAODTruth/TruthParticleAuxContainer.h" +#include "xAODFaserTruth/FaserTruthParticle.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthParticleAuxContainer.h" /// Helper macro to test assertions #define SIMPLE_ASSERT( EXP ) \ @@ -25,8 +25,8 @@ int main() { // Create a container to test: - xAOD::TruthParticleContainer c; - xAOD::TruthParticleAuxContainer aux; + xAOD::FaserTruthParticleContainer c; + xAOD::FaserTruthParticleAuxContainer aux; c.setStore( &aux ); // Construct a particle that we can test. The values are chosen on purpose @@ -37,7 +37,7 @@ int main() { static const double PZ = std::sqrt( ( double ) 3.4567 ); static const double E = std::sqrt( ( double ) 4.5678 ); static const double M = std::sqrt( ( double ) 5.6789 ); - xAOD::TruthParticle* p = new xAOD::TruthParticle(); + xAOD::FaserTruthParticle* p = new xAOD::FaserTruthParticle(); c.push_back( p ); p->setPx( PX ); p->setPy( PY ); diff --git a/xAOD/xAODFaserTruth/xAODTruth/TruthEvent.h b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEvent.h similarity index 71% rename from xAOD/xAODFaserTruth/xAODTruth/TruthEvent.h rename to xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEvent.h index 695f2eeb..b66e4b74 100644 --- a/xAOD/xAODFaserTruth/xAODTruth/TruthEvent.h +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEvent.h @@ -1,5 +1,5 @@ -#ifndef XAODTRUTH_TRUTHEVENT_H -#define XAODTRUTH_TRUTHEVENT_H +#ifndef XAODFASERTRUTH_TRUTHEVENT_H +#define XAODFASERTRUTH_TRUTHEVENT_H // System include(s): #include <utility> @@ -9,45 +9,46 @@ #include "AthContainers/AuxElement.h" #include "AthLinks/ElementLink.h" #include "xAODBase/ObjectType.h" +#include "xAODFaserBase/FaserObjectType.h" // Local include(s): -#include "xAODTruth/TruthParticleContainer.h" -#include "xAODTruth/TruthVertexContainer.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthVertexContainer.h" namespace xAOD { /// Class describing a signal truth event in the MC record /// - class TruthEvent : public SG::AuxElement { + class FaserTruthEvent : public SG::AuxElement { public: /// Default constructor - TruthEvent(); + FaserTruthEvent(); /// Virtual destructor, to make vtable happy - virtual ~TruthEvent() {} + virtual ~FaserTruthEvent() {} /// @name Access to all the particles associated with the event /// @{ /// Type of a single truth particle link - typedef ElementLink< TruthParticleContainer > TruthParticleLink_t; + typedef ElementLink< FaserTruthParticleContainer > FaserTruthParticleLink_t; /// Type of the truth particle links vector - typedef std::vector< TruthParticleLink_t > TruthParticleLinks_t; + typedef std::vector< FaserTruthParticleLink_t > FaserTruthParticleLinks_t; /// Get all the truth particles - const TruthParticleLinks_t& truthParticleLinks() const; + const FaserTruthParticleLinks_t& truthParticleLinks() const; /// Set all the truth particles - void setTruthParticleLinks( const TruthParticleLinks_t& plinks ); + void setFaserTruthParticleLinks( const FaserTruthParticleLinks_t& plinks ); /// Get the number of truth particles - size_t nTruthParticles() const; + size_t nFaserTruthParticles() const; /// Get the link to one of the truth particles - const TruthParticleLink_t& truthParticleLink( size_t index ) const; + const FaserTruthParticleLink_t& truthParticleLink( size_t index ) const; /// Get a pointer to one of the truth particles - const TruthParticle* truthParticle( size_t index ) const; + const FaserTruthParticle* truthParticle( size_t index ) const; /// Add one truth particle - void addTruthParticleLink( const TruthParticleLink_t& plink ); + void addFaserTruthParticleLink( const FaserTruthParticleLink_t& plink ); /// Remove all truth particles - void clearTruthParticleLinks(); + void clearFaserTruthParticleLinks(); /// @} @@ -55,24 +56,24 @@ namespace xAOD { /// @{ /// Type of a single truth vertex link - typedef ElementLink< TruthVertexContainer > TruthVertexLink_t; + typedef ElementLink< FaserTruthVertexContainer > FaserTruthVertexLink_t; /// Type of the truth particle links vector - typedef std::vector< TruthVertexLink_t > TruthVertexLinks_t; + typedef std::vector< FaserTruthVertexLink_t > FaserTruthVertexLinks_t; /// Get all the truth vertices - const TruthVertexLinks_t& truthVertexLinks() const; + const FaserTruthVertexLinks_t& truthVertexLinks() const; /// Set all the truth vertices - void setTruthVertexLinks( const TruthVertexLinks_t& links ); + void setFaserTruthVertexLinks( const FaserTruthVertexLinks_t& links ); /// Get the number of truth vertices size_t nTruthVertices() const; /// Get the link to one of the truth vertices - const TruthVertexLink_t& truthVertexLink( size_t index ) const; + const FaserTruthVertexLink_t& truthVertexLink( size_t index ) const; /// Get a pointer to one of the truth vertices - const TruthVertex* truthVertex( size_t index ) const; + const FaserTruthVertex* truthVertex( size_t index ) const; /// Add one truth vertex - void addTruthVertexLink( const TruthVertexLink_t& vlink ); + void addFaserTruthVertexLink( const FaserTruthVertexLink_t& vlink ); /// Remove all truth vertices - void clearTruthVertexLinks(); + void clearFaserTruthVertexLinks(); /// @} @@ -169,25 +170,27 @@ namespace xAOD { /// The naming of the function is a bit misleading. The returned vertex /// can only be interpreted as an interaction *position*. /// - const TruthVertex* signalProcessVertex() const; + const FaserTruthVertex* signalProcessVertex() const; /// Link to the vertex representing the primary interaction point - const TruthVertexLink_t& signalProcessVertexLink() const; + const FaserTruthVertexLink_t& signalProcessVertexLink() const; /// Set pointer to a vertex representing the primary interaction point - void setSignalProcessVertexLink( const TruthVertexLink_t& link ); + void setSignalProcessVertexLink( const FaserTruthVertexLink_t& link ); /// Pointer to the incoming primary particle - const TruthParticle* primaryParticle() const; + const FaserTruthParticle* primaryParticle() const; /// Get the link to the primary particle - const TruthParticleLink_t& primaryParticleLink() const; + const FaserTruthParticleLink_t& primaryParticleLink() const; /// Set incoming primary particle - void setPrimaryParticleLink( const TruthParticleLink_t& pcl); + void setPrimaryParticleLink( const FaserTruthParticleLink_t& pcl); /// @} - - /// The type of the object as a simple enumeration + /// The type for the IParticle, this should not be used virtual Type::ObjectType type() const; + + /// The type of the object as a simple enumeration + FaserType::ObjectType faserType() const; /// @name Simple truth meta data properties /// @{ @@ -203,8 +206,8 @@ namespace xAOD { /// Function making sure that the object is ready for persistification void toPersistent(); - }; // class TruthEvent + }; // class FaserTruthEvent } // namespace xAOD -#endif // XAODTRUTH_TRUTHEVENT_H +#endif // XAODFASERTRUTH_TRUTHEVENT_H diff --git a/xAOD/xAODFaserTruth/xAODTruth/TruthEventAuxContainer.h b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEventAuxContainer.h similarity index 60% rename from xAOD/xAODFaserTruth/xAODTruth/TruthEventAuxContainer.h rename to xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEventAuxContainer.h index 57c6e62c..7b691588 100644 --- a/xAOD/xAODFaserTruth/xAODTruth/TruthEventAuxContainer.h +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEventAuxContainer.h @@ -1,5 +1,5 @@ -#ifndef XAODTRUTH_TRUTHEVENTAUXCONTAINER_H -#define XAODTRUTH_TRUTHEVENTAUXCONTAINER_H +#ifndef XAODFASERTRUTH_TRUTHEVENTAUXCONTAINER_H +#define XAODFASERTRUTH_TRUTHEVENTAUXCONTAINER_H // System include(s): #include <vector> @@ -9,23 +9,23 @@ #include "xAODCore/AuxContainerBase.h" // Local include(s): -#include "xAODTruth/TruthParticleContainer.h" -#include "xAODTruth/TruthVertexContainer.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthVertexContainer.h" namespace xAOD { /// Auxiliary store for the truth vertices /// - class TruthEventAuxContainer : public AuxContainerBase { + class FaserTruthEventAuxContainer : public AuxContainerBase { public: /// Default constructor - TruthEventAuxContainer(); + FaserTruthEventAuxContainer(); private: /// @name Links to the interaction particles/vertices /// @{ - std::vector< ElementLink< TruthVertexContainer > > + std::vector< ElementLink< FaserTruthVertexContainer > > signalProcessVertexLink; /// @} @@ -40,9 +40,9 @@ namespace xAOD { /// @name Links to the generated/simulated particles/vertices /// @{ - std::vector< std::vector< ElementLink< TruthParticleContainer > > > + std::vector< std::vector< ElementLink< FaserTruthParticleContainer > > > truthParticleLinks; - std::vector< std::vector< ElementLink< TruthVertexContainer > > > + std::vector< std::vector< ElementLink< FaserTruthVertexContainer > > > truthVertexLinks; /// @} @@ -51,12 +51,12 @@ namespace xAOD { std::vector < std::vector < std::string > > weightNames; std::vector < uint32_t > mcChannelNumber; - }; // class TruthEventAuxContainer + }; // class FaserTruthEventAuxContainer } // namespace xAOD -// Declare the class's inheritance to StoreGate: -#include "xAODCore/BaseInfo.h" -SG_BASE( xAOD::TruthEventAuxContainer, xAOD::AuxContainerBase ); +// Declare a CLID for the class +#include "xAODCore/CLASS_DEF.h" +CLASS_DEF( xAOD::FaserTruthEventAuxContainer, 1254985314, 1 ) -#endif // XAODTRUTH_TRUTHEVENTAUXCONTAINER_H +#endif // XAODFASERTRUTH_TRUTHEVENTAUXCONTAINER_H diff --git a/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEventContainer.h b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEventContainer.h new file mode 100644 index 00000000..7d6f9eee --- /dev/null +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthEventContainer.h @@ -0,0 +1,26 @@ +// -*- C++ -*- + +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// $Id: FaserTruthEventContainer_v1.h 622193 2014-10-16 16:08:34Z krasznaa $ +#ifndef XAODFASERTRUTH_TRUTHEVENTCONTAINER_H +#define XAODFASERTRUTH_TRUTHEVENTCONTAINER_H + +// EDM include(s): +#include "AthContainers/DataVector.h" + +// Local include(s): +#include "xAODFaserTruth/FaserTruthEvent.h" + +namespace xAOD { + /// Alias + typedef DataVector< FaserTruthEvent > FaserTruthEventContainer; +} + +// Declare a CLID for the class for Athena: +#include "xAODCore/CLASS_DEF.h" +CLASS_DEF( xAOD::FaserTruthEventContainer, 1237345824, 1 ) + +#endif // XAODFASERTRUTH_TRUTHEVENTCONTAINER_H diff --git a/xAOD/xAODFaserTruth/xAODTruth/TruthParticle.h b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticle.h similarity index 90% rename from xAOD/xAODFaserTruth/xAODTruth/TruthParticle.h rename to xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticle.h index 3a230b01..f8290fd6 100644 --- a/xAOD/xAODFaserTruth/xAODTruth/TruthParticle.h +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticle.h @@ -1,5 +1,5 @@ -#ifndef XAODTRUTH_TRUTHPARTICLE_H -#define XAODTRUTH_TRUTHPARTICLE_H +#ifndef XAODFASERTRUTH_TRUTHPARTICLE_H +#define XAODFASERTRUTH_TRUTHPARTICLE_H // EDM include(s): #include "AthLinks/ElementLink.h" @@ -8,10 +8,11 @@ // xAOD include(s): #include "xAODBase/IParticle.h" #include "xAODBase/ObjectType.h" +#include "xAODFaserBase/FaserObjectType.h" namespace xAOD { - class TruthVertex; - typedef DataVector< TruthVertex > TruthVertexContainer; + class FaserTruthVertex; + typedef DataVector< FaserTruthVertex > FaserTruthVertexContainer; /// Class describing a truth particle in the MC record /// @@ -20,11 +21,11 @@ namespace xAOD { /// connected to a single production and decay vertex. And each vertex is /// connected to one or more incoming, and one or more outgoing particles. /// - class TruthParticle : public IParticle { + class FaserTruthParticle : public IParticle { public: /// Default constructor - TruthParticle(); + FaserTruthParticle(); /// @name Functions identifying the particle in the MC record /// @{ @@ -55,20 +56,20 @@ namespace xAOD { /// Check for a production vertex on this particle bool hasProdVtx() const; /// The production vertex of this particle - const TruthVertex* prodVtx() const; + const FaserTruthVertex* prodVtx() const; /// The production vertex link of this particle - const ElementLink< TruthVertexContainer >& prodVtxLink() const; + const ElementLink< FaserTruthVertexContainer >& prodVtxLink() const; /// Set the production vertex of the particle - void setProdVtxLink( const ElementLink< TruthVertexContainer >& link ); + void setProdVtxLink( const ElementLink< FaserTruthVertexContainer >& link ); /// Check for a decay vertex on this particle bool hasDecayVtx() const; /// The decay vertex of this particle - const TruthVertex* decayVtx() const; + const FaserTruthVertex* decayVtx() const; /// The decay vertex link of this particle - const ElementLink< TruthVertexContainer >& decayVtxLink() const; + const ElementLink< FaserTruthVertexContainer >& decayVtxLink() const; /// Set the decay vertex of the particle - void setDecayVtxLink( const ElementLink< TruthVertexContainer >& link ); + void setDecayVtxLink( const ElementLink< FaserTruthVertexContainer >& link ); /// @} @@ -78,14 +79,14 @@ namespace xAOD { /// Number of parents of this particle size_t nParents() const; - /// Retrieve the i-th mother (TruthParticle) of this TruthParticle - const TruthParticle* parent( size_t i = 0 ) const; + /// Retrieve the i-th mother (FaserTruthParticle) of this FaserTruthParticle + const FaserTruthParticle* parent( size_t i = 0 ) const; /// Number of children of this particle size_t nChildren() const; - /// Retrieve the i-th mother (TruthParticle) of this TruthParticle - const TruthParticle* child( size_t i = 0 ) const; + /// Retrieve the i-th mother (FaserTruthParticle) of this FaserTruthParticle + const FaserTruthParticle* child( size_t i = 0 ) const; /// @} @@ -116,10 +117,13 @@ namespace xAOD { /// Note that m may not be right, though, if not on mass shell. In which /// case <code>p4().M()</code> will be different from <code>m()</code>. /// - virtual const FourMom_t& p4() const; + virtual FourMom_t p4() const; - /// The type of the object as a simple enumeration + /// The type for the IParticle, this should not be used virtual Type::ObjectType type() const; + + /// The type of the object as a simple enumeration + FaserType::ObjectType faserType() const; /// @} @@ -348,12 +352,8 @@ namespace xAOD { void toPersistent(); private: - /// Cached four momentum - mutable FourMom_t m_p4; - /// Flag specifying if the four-momentum is cached - mutable bool m_p4Cached; - }; // class TruthParticle + }; // class FaserTruthParticle } // namespace xAOD diff --git a/xAOD/xAODFaserTruth/xAODTruth/TruthParticleAuxContainer.h b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticleAuxContainer.h similarity index 54% rename from xAOD/xAODFaserTruth/xAODTruth/TruthParticleAuxContainer.h rename to xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticleAuxContainer.h index ca8ec361..3507766b 100644 --- a/xAOD/xAODFaserTruth/xAODTruth/TruthParticleAuxContainer.h +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticleAuxContainer.h @@ -1,13 +1,13 @@ -#ifndef XAODTRUTH_TRUTHPARTICLEAUXCONTAINER_H -#define XAODTRUTH_TRUTHPARTICLEAUXCONTAINER_H +#ifndef XAODFASERTRUTH_TRUTHPARTICLEAUXCONTAINER_H +#define XAODFASERTRUTH_TRUTHPARTICLEAUXCONTAINER_H #include <vector> #include "AthLinks/ElementLink.h" #include "xAODCore/AuxContainerBase.h" -#include "xAODTruth/TruthParticleContainer.h" -#include "xAODTruth/TruthVertexContainer.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthVertexContainer.h" namespace xAOD { @@ -18,30 +18,30 @@ namespace xAOD { /// @author Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch> /// @author Jovan Mitrevski <Jovan.Mitrevski@cern.h> /// - class TruthParticleAuxContainer : public AuxContainerBase { + class FaserTruthParticleAuxContainer : public AuxContainerBase { public: /// Default constructor - TruthParticleAuxContainer(); + FaserTruthParticleAuxContainer(); private: std::vector< int > pdgId; std::vector< int > barcode; std::vector< int > status; - std::vector< ElementLink< TruthVertexContainer > > prodVtxLink; - std::vector< ElementLink< TruthVertexContainer > > decayVtxLink; + std::vector< ElementLink< FaserTruthVertexContainer > > prodVtxLink; + std::vector< ElementLink< FaserTruthVertexContainer > > decayVtxLink; std::vector< float > px; std::vector< float > py; std::vector< float > pz; std::vector< float > e; std::vector< float > m; // needed since not necessarily on shell - }; // class TruthParticleAuxContainer + }; // class FaserTruthParticleAuxContainer } // namespace xAOD // Declare a CLID for the class #include "xAODCore/CLASS_DEF.h" -CLASS_DEF( xAOD::TruthParticleAuxContainer, 1107340896, 1 ) +CLASS_DEF( xAOD::FaserTruthParticleAuxContainer, 1107850896, 1 ) -#endif // XAODTRUTH_TRUTHPARTICLEAUXCONTAINER_H +#endif // XAODFASERTRUTH_TRUTHPARTICLEAUXCONTAINER_H diff --git a/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticleContainer.h b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticleContainer.h new file mode 100644 index 00000000..0f484806 --- /dev/null +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthParticleContainer.h @@ -0,0 +1,26 @@ +// Dear emacs, this is -*- c++ -*- + +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// $Id: FaserTruthParticleContainer.h 622193 2014-10-16 16:08:34Z krasznaa $ +#ifndef XAODFASERTRUTH_TRUTHPARTICLECONTAINER_H +#define XAODFASERTRUTH_TRUTHPARTICLECONTAINER_H + +// Local include(s): +#include "xAODFaserTruth/FaserTruthParticle.h" +// EDM include(s): +#include "AthContainers/DataVector.h" + + +namespace xAOD { + // Alias + typedef DataVector< FaserTruthParticle > FaserTruthParticleContainer; +} + +// Declare a CLID for the class for Athena: +#include "xAODCore/CLASS_DEF.h" +CLASS_DEF( xAOD::FaserTruthParticleContainer, 1237340784, 1 ) + +#endif // XAODFASERTRUTH_TRUTHPARTICLECONTAINER_H diff --git a/xAOD/xAODFaserTruth/xAODTruth/TruthVertex.h b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertex.h similarity index 85% rename from xAOD/xAODFaserTruth/xAODTruth/TruthVertex.h rename to xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertex.h index 6f24fbd9..291b87bf 100644 --- a/xAOD/xAODFaserTruth/xAODTruth/TruthVertex.h +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertex.h @@ -1,5 +1,5 @@ -#ifndef XAODTRUTH_TRUTHVERTEX_H -#define XAODTRUTH_TRUTHVERTEX_H +#ifndef XAODFASERTRUTH_TRUTHVERTEX_H +#define XAODFASERTRUTH_TRUTHVERTEX_H // ROOT include(s): #include <TLorentzVector.h> @@ -10,9 +10,10 @@ // xAOD include(s): #include "xAODBase/ObjectType.h" +#include "xAODFaserBase/FaserObjectType.h" // Local include(s): -#include "xAODTruth/TruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" namespace xAOD { @@ -28,11 +29,11 @@ namespace xAOD { /// $Revision: 624338 $ /// $Date: 2014-10-27 16:08:55 +0100 (Mon, 27 Oct 2014) $ /// - class TruthVertex : public SG::AuxElement { + class FaserTruthVertex : public SG::AuxElement { public: /// Default constructor - TruthVertex(); + FaserTruthVertex(); /// @name Functions identifying the vertex in the MC record /// @{ @@ -53,7 +54,7 @@ namespace xAOD { /// @{ /// Type of one truth particle link - typedef ElementLink< TruthParticleContainer > TPLink_t; + typedef ElementLink< FaserTruthParticleContainer > TPLink_t; /// Type used to save the links to incoming and outgoing particles typedef std::vector< TPLink_t > TPLinks_t; @@ -64,7 +65,7 @@ namespace xAOD { /// Get the number of incoming particles size_t nIncomingParticles() const; /// Get one of the incoming particles - const TruthParticle* incomingParticle( size_t index ) const; + const FaserTruthParticle* incomingParticle( size_t index ) const; /// Add one incoming particle void addIncomingParticleLink( const TPLink_t& link ); /// Remove all incoming particles @@ -77,7 +78,7 @@ namespace xAOD { /// Get the number of outgoing particles size_t nOutgoingParticles() const; /// Get one of the outgoing particles - const TruthParticle* outgoingParticle( size_t index ) const; + const FaserTruthParticle* outgoingParticle( size_t index ) const; /// Add one outgoing particle void addOutgoingParticleLink( const TPLink_t& link ); /// Remove all outgoing particles @@ -123,8 +124,11 @@ namespace xAOD { /// @} + /// The type for the IParticle, this should not be used + virtual Type::ObjectType type() const; + /// The type of the object as a simple enumeration - Type::ObjectType type() const; + FaserType::ObjectType faserType() const; /// Function making sure that the object is ready for persistification void toPersistent(); @@ -135,7 +139,7 @@ namespace xAOD { /// Flag showing whether the four-vector is cached mutable bool m_v4Cached; - }; // class TruthVertex + }; // class FaserTruthVertex } // namespace xAOD diff --git a/xAOD/xAODFaserTruth/xAODTruth/TruthVertexAuxContainer.h b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertexAuxContainer.h similarity index 58% rename from xAOD/xAODFaserTruth/xAODTruth/TruthVertexAuxContainer.h rename to xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertexAuxContainer.h index b6098f43..520e69c1 100644 --- a/xAOD/xAODFaserTruth/xAODTruth/TruthVertexAuxContainer.h +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertexAuxContainer.h @@ -1,5 +1,5 @@ -#ifndef XAODTRUTH_TRUTHVERTEXAUXCONTAINER_H -#define XAODTRUTH_TRUTHVERTEXAUXCONTAINER_H +#ifndef XAODFASERTRUTH_TRUTHVERTEXAUXCONTAINER_H +#define XAODFASERTRUTH_TRUTHVERTEXAUXCONTAINER_H // System include(s): #include <vector> @@ -9,7 +9,7 @@ #include "xAODCore/AuxContainerBase.h" // Local include(s): -#include "xAODTruth/TruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthParticleContainer.h" namespace xAOD { @@ -21,30 +21,30 @@ namespace xAOD { /// $Revision: 624338 $ /// $Date: 2014-10-27 16:08:55 +0100 (Mon, 27 Oct 2014) $ /// - class TruthVertexAuxContainer : public AuxContainerBase { + class FaserTruthVertexAuxContainer : public AuxContainerBase { public: /// Default constructor - TruthVertexAuxContainer(); + FaserTruthVertexAuxContainer(); private: std::vector< int > id; std::vector< int > barcode; - std::vector< std::vector< ElementLink< TruthParticleContainer > > > + std::vector< std::vector< ElementLink< FaserTruthParticleContainer > > > incomingParticleLinks; - std::vector< std::vector< ElementLink< TruthParticleContainer > > > + std::vector< std::vector< ElementLink< FaserTruthParticleContainer > > > outgoingParticleLinks; std::vector< float > x; std::vector< float > y; std::vector< float > z; std::vector< float > t; - }; // class TruthVertexAuxContainer + }; // class FaserTruthVertexAuxContainer } // namespace xAOD // Declare a CLID for the class #include "xAODCore/CLASS_DEF.h" -CLASS_DEF( xAOD::TruthVertexAuxContainer, 1254939514, 1 ) +CLASS_DEF( xAOD::FaserTruthVertexAuxContainer, 1254974514, 1 ) -#endif // XAODTRUTH_TRUTHVERTEXAUXCONTAINER_H +#endif // XAODFASERTRUTH_TRUTHVERTEXAUXCONTAINER_H diff --git a/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertexContainer.h b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertexContainer.h new file mode 100644 index 00000000..e338f963 --- /dev/null +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/FaserTruthVertexContainer.h @@ -0,0 +1,25 @@ +// Dear emacs, this is -*- c++ -*- + +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// $Id: FaserTruthVertexContainer.h 622193 2014-10-16 16:08:34Z krasznaa $ +#ifndef XAODFASERTRUTH_TRUTHVERTEXCONTAINER_H +#define XAODFASERTRUTH_TRUTHVERTEXCONTAINER_H + +// Local include(s): +#include "xAODFaserTruth/FaserTruthVertex.h" +// EDM include(s): +#include "AthContainers/DataVector.h" + +namespace xAOD { + // Alias + typedef DataVector< FaserTruthVertex > FaserTruthVertexContainer; +} + +// Declare a CLID for the class for Athena: +#include "xAODCore/CLASS_DEF.h" +CLASS_DEF( xAOD::FaserTruthVertexContainer, 1239726537, 1 ) + +#endif // XAODFASERTRUTH_TRUTHVERTEXCONTAINER_H diff --git a/xAOD/xAODFaserTruth/xAODFaserTruth/selection.xml b/xAOD/xAODFaserTruth/xAODFaserTruth/selection.xml new file mode 100644 index 00000000..a82ac527 --- /dev/null +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/selection.xml @@ -0,0 +1,53 @@ +<!-- $Id: selection.xml 670153 2015-05-27 11:42:29Z tbisanz $ --> +<lcgdict> + + <!-- The FaserTruthVertex class: --> + <class name="xAOD::FaserTruthVertex" > + <field name="m_v4" transient="true" /> + <field name="m_v4Cached" transient="true" /> + </class> + <read sourceClass="xAOD::FaserTruthVertex" version="[1-]" + targetClass="xAOD::FaserTruthVertex" source="" target="m_v4Cached" > + <![CDATA[ + m_v4Cached = false; + ]]> + </read> + + <!-- The FaserTruthEvent class(es): --> + <class name="xAOD::FaserTruthEvent" /> + <class name="xAOD::FaserTruthEvent::PdfInfo" /> + <class name="xAOD::TruthMetaData" /> + + <!-- The persistent classes: --> + <class name="xAOD::FaserTruthParticleContainer" + id="58F98A16-E465-4CA5-A099-73033206D8E3" /> + <class name="xAOD::FaserTruthVertexContainer" + id="5FBAE0AB-09F7-4B6C-B066-0A003FC38ECF" /> + <class name="xAOD::FaserTruthEventContainer" + id="6290F297-F529-40EE-9FE5-1C577678306D" /> + + <class name="xAOD::FaserTruthParticleAuxContainer" + id="BA8FA08F-8DD6-420D-97D5-8B54EABECD65" /> + <class name="xAOD::FaserTruthVertexAuxContainer" + id="B6BD3B02-C411-4EB9-903F-5B099D3B1A3E" /> + <class name="xAOD::FaserTruthEventAuxContainer" + id="1B945EFD-4F7D-4BDD-9FB1-6FB975315961" /> + + <!-- Smart pointers for FaserTruthParticle: --> + <class name="DataLink<xAOD::FaserTruthParticleContainer>" /> + <class name="std::vector<DataLink<xAOD::FaserTruthParticleContainer> >" /> + <class name="ElementLink<xAOD::FaserTruthParticleContainer>" /> + <class name="std::vector<ElementLink<xAOD::FaserTruthParticleContainer> >" /> + <class name="std::vector<std::vector<ElementLink<xAOD::FaserTruthParticleContainer> > >" /> + + <!-- Smart pointers for FaserTruthVertex: --> + <class name="DataLink<xAOD::FaserTruthVertexContainer>" /> + <class name="std::vector<DataLink<xAOD::FaserTruthVertexContainer> >" /> + <class name="ElementLink<xAOD::FaserTruthVertexContainer>" /> + <class name="std::vector<ElementLink<xAOD::FaserTruthVertexContainer> >" /> + <class name="std::vector<std::vector<ElementLink<xAOD::FaserTruthVertexContainer> > >" /> + + <!-- The helper functions: --> + <function pattern="xAOD::TruthHelpers::*" /> + +</lcgdict> diff --git a/xAOD/xAODFaserTruth/xAODFaserTruth/xAODFaserTruthDict.h b/xAOD/xAODFaserTruth/xAODFaserTruth/xAODFaserTruthDict.h new file mode 100644 index 00000000..d1606bc5 --- /dev/null +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/xAODFaserTruthDict.h @@ -0,0 +1,41 @@ +#ifndef XAODFASERTRUTH_XAODFASERTRUTHDICT_H +#define XAODFASERTRUTH_XAODFASERTRUTHDICT_H + +// System include(s): +#include <vector> + +// EDM include(s): +#include "AthLinks/DataLink.h" +#include "AthLinks/ElementLink.h" + +// Local include(s): +#include "xAODFaserTruth/FaserTruthParticleContainer.h" +#include "xAODFaserTruth/FaserTruthParticleAuxContainer.h" +#include "xAODFaserTruth/FaserTruthVertexContainer.h" +#include "xAODFaserTruth/FaserTruthVertexAuxContainer.h" +#include "xAODFaserTruth/FaserTruthEventContainer.h" +#include "xAODFaserTruth/FaserTruthEventAuxContainer.h" +#include "xAODFaserTruth/xAODFaserTruthHelpers.h" + +namespace { + struct GCCXML_DUMMY_INSTANTIATION_XAODFASERTRUTH { + // The DataVector types: + xAOD::FaserTruthParticleContainer c1; + xAOD::FaserTruthVertexContainer c2; + xAOD::FaserTruthEventContainer c3; + + // The smart pointer types: + DataLink< xAOD::FaserTruthParticleContainer > dl1; + std::vector< DataLink< xAOD::FaserTruthParticleContainer > > dl2; + DataLink< xAOD::FaserTruthVertexContainer > dl3; + std::vector< DataLink< xAOD::FaserTruthVertexContainer > > dl4; + ElementLink< xAOD::FaserTruthParticleContainer > el1; + std::vector< ElementLink< xAOD::FaserTruthParticleContainer > > el2; + std::vector< std::vector< ElementLink< xAOD::FaserTruthParticleContainer > > > el3; + ElementLink< xAOD::FaserTruthVertexContainer > el4; + std::vector< ElementLink< xAOD::FaserTruthVertexContainer > > el5; + std::vector< std::vector< ElementLink< xAOD::FaserTruthVertexContainer > > > el6; + }; +} + +#endif // XAODFASERTRUTH_XAODFASERTRUTHDICT_H diff --git a/xAOD/xAODFaserTruth/xAODTruth/xAODTruthHelpers.h b/xAOD/xAODFaserTruth/xAODFaserTruth/xAODFaserTruthHelpers.h similarity index 68% rename from xAOD/xAODFaserTruth/xAODTruth/xAODTruthHelpers.h rename to xAOD/xAODFaserTruth/xAODFaserTruth/xAODFaserTruthHelpers.h index cb8ca9cd..42ec83ab 100644 --- a/xAOD/xAODFaserTruth/xAODTruth/xAODTruthHelpers.h +++ b/xAOD/xAODFaserTruth/xAODFaserTruth/xAODFaserTruthHelpers.h @@ -4,12 +4,12 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: xAODTruthHelpers.h 668406 2015-05-19 15:32:15Z krasznaa $ -#ifndef XAODTRUTH_XAODTRUTHHELPERS_H -#define XAODTRUTH_XAODTRUTHHELPERS_H +// $Id: xAODFaserTruthHelpers.h 668406 2015-05-19 15:32:15Z krasznaa $ +#ifndef XAODFASERTRUTH_XAODFASERTRUTHHELPERS_H +#define XAODFASERTRUTH_XAODFASERTRUTHHELPERS_H // Local include(s): -#include "xAODTruth/TruthParticle.h" +#include "xAODFaserTruth/FaserTruthParticle.h" namespace xAOD { @@ -20,7 +20,7 @@ namespace xAOD { namespace TruthHelpers { /// Return the truthParticle associated to the given IParticle (if any) - const TruthParticle* getTruthParticle( const xAOD::IParticle& p ); + const FaserTruthParticle* getFaserTruthParticle( const xAOD::IParticle& p ); /// Return the particle's truth type (as defined by the MC Truth /// Classifier) @@ -34,4 +34,4 @@ namespace xAOD { } // namespace xAOD -#endif // XAODTRUTH_XAODTRUTHHELPERS_H +#endif // XAODFASERTRUTH_XAODFASERTRUTHHELPERS_H diff --git a/xAOD/xAODFaserTruth/xAODTruth/TruthEventContainer.h b/xAOD/xAODFaserTruth/xAODTruth/TruthEventContainer.h deleted file mode 100644 index eb99877b..00000000 --- a/xAOD/xAODFaserTruth/xAODTruth/TruthEventContainer.h +++ /dev/null @@ -1,22 +0,0 @@ -// -*- C++ -*- - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// $Id: TruthEventContainer_v1.h 622193 2014-10-16 16:08:34Z krasznaa $ -#ifndef XAODTRUTH_TRUTHEVENTCONTAINER_H -#define XAODTRUTH_TRUTHEVENTCONTAINER_H - -// EDM include(s): -#include "AthContainers/DataVector.h" - -// Local include(s): -#include "xAODTruth/TruthEvent.h" - -namespace xAOD { - /// Alias - typedef DataVector< TruthEvent > TruthEventContainer; -} - -#endif // XAODTRUTH_TRUTHEVENTCONTAINER_H diff --git a/xAOD/xAODFaserTruth/xAODTruth/TruthParticleContainer.h b/xAOD/xAODFaserTruth/xAODTruth/TruthParticleContainer.h deleted file mode 100644 index 89dc05cb..00000000 --- a/xAOD/xAODFaserTruth/xAODTruth/TruthParticleContainer.h +++ /dev/null @@ -1,26 +0,0 @@ -// Dear emacs, this is -*- c++ -*- - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// $Id: TruthParticleContainer.h 622193 2014-10-16 16:08:34Z krasznaa $ -#ifndef XAODTRUTH_TRUTHPARTICLECONTAINER_H -#define XAODTRUTH_TRUTHPARTICLECONTAINER_H - -// Local include(s): -#include "xAODTruth/TruthParticle.h" -// EDM include(s): -#include "AthContainers/DataVector.h" - - -namespace xAOD { - // Alias - typedef DataVector< TruthParticle > TruthParticleContainer; -} - -// Declare a CLID for the class for Athena: -#include "xAODCore/CLASS_DEF.h" -CLASS_DEF( xAOD::TruthParticleContainer, 1237340765, 1 ) - -#endif // XAODTRUTH_TRUTHPARTICLECONTAINER_H diff --git a/xAOD/xAODFaserTruth/xAODTruth/TruthVertexContainer.h b/xAOD/xAODFaserTruth/xAODTruth/TruthVertexContainer.h deleted file mode 100644 index 464ffd77..00000000 --- a/xAOD/xAODFaserTruth/xAODTruth/TruthVertexContainer.h +++ /dev/null @@ -1,25 +0,0 @@ -// Dear emacs, this is -*- c++ -*- - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// $Id: TruthVertexContainer.h 622193 2014-10-16 16:08:34Z krasznaa $ -#ifndef XAODTRUTH_TRUTHVERTEXCONTAINER_H -#define XAODTRUTH_TRUTHVERTEXCONTAINER_H - -// Local include(s): -#include "xAODTruth/TruthVertex.h" -// EDM include(s): -#include "AthContainers/DataVector.h" - -namespace xAOD { - // Alias - typedef DataVector< TruthVertex > TruthVertexContainer; -} - -// Declare a CLID for the class for Athena: -#include "xAODCore/CLASS_DEF.h" -CLASS_DEF( xAOD::TruthVertexContainer, 1239726567, 1 ) - -#endif // XAODTRUTH_TRUTHVERTEXCONTAINER_H diff --git a/xAOD/xAODFaserTruth/xAODTruth/selection.xml b/xAOD/xAODFaserTruth/xAODTruth/selection.xml deleted file mode 100644 index f1ab8990..00000000 --- a/xAOD/xAODFaserTruth/xAODTruth/selection.xml +++ /dev/null @@ -1,66 +0,0 @@ -<!-- $Id: selection.xml 670153 2015-05-27 11:42:29Z tbisanz $ --> -<lcgdict> - - <!-- The TruthParticle class(es): --> - <class name="xAOD::TruthParticle" > - <field name="m_p4" transient="true" /> - <field name="m_p4Cached" transient="true" /> - </class> - <read sourceClass="xAOD::TruthParticle" version="[1-]" - targetClass="xAOD::TruthParticle" source="" target="m_p4Cached" > - <![CDATA[ - m_p4Cached = false; - ]]> - </read> - <class name="xAOD::TruthParticle::Polarization" /> - - <!-- The TruthVertex class: --> - <class name="xAOD::TruthVertex" > - <field name="m_v4" transient="true" /> - <field name="m_v4Cached" transient="true" /> - </class> - <read sourceClass="xAOD::TruthVertex" version="[1-]" - targetClass="xAOD::TruthVertex" source="" target="m_v4Cached" > - <![CDATA[ - m_v4Cached = false; - ]]> - </read> - - <!-- The TruthEvent class(es): --> - <class name="xAOD::TruthEvent" /> - <class name="xAOD::TruthEvent::PdfInfo" /> - <class name="xAOD::TruthMetaData" /> - - <!-- The persistent classes: --> - <class name="xAOD::TruthParticleContainer" - id="58F98A16-E465-4CA5-A099-73033206D8E3" /> - <class name="xAOD::TruthVertexContainer" - id="5FBAE0AB-09F7-4B6C-B066-0A003FC38ECF" /> - <class name="xAOD::TruthEventContainer" - id="6290F297-F529-40EE-9FE5-1C577678306D" /> - - <class name="xAOD::TruthParticleAuxContainer" - id="BA8FA08F-8DD6-420D-97D5-8B54EABECD65" /> - <class name="xAOD::TruthVertexAuxContainer" - id="B6BD3B02-C411-4EB9-903F-5B099D3B1A3E" /> - <class name="xAOD::TruthEventAuxContainer" - id="1B945EFD-4F7D-4BDD-9FB1-6FB975315961" /> - - <!-- Smart pointers for TruthParticle: --> - <class name="DataLink<xAOD::TruthParticleContainer>" /> - <class name="std::vector<DataLink<xAOD::TruthParticleContainer> >" /> - <class name="ElementLink<xAOD::TruthParticleContainer>" /> - <class name="std::vector<ElementLink<xAOD::TruthParticleContainer> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TruthParticleContainer> > >" /> - - <!-- Smart pointers for TruthVertex: --> - <class name="DataLink<xAOD::TruthVertexContainer>" /> - <class name="std::vector<DataLink<xAOD::TruthVertexContainer> >" /> - <class name="ElementLink<xAOD::TruthVertexContainer>" /> - <class name="std::vector<ElementLink<xAOD::TruthVertexContainer> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::TruthVertexContainer> > >" /> - - <!-- The helper functions: --> - <function pattern="xAOD::TruthHelpers::*" /> - -</lcgdict> diff --git a/xAOD/xAODFaserTruth/xAODTruth/xAODTruthDict.h b/xAOD/xAODFaserTruth/xAODTruth/xAODTruthDict.h deleted file mode 100644 index e7aec67b..00000000 --- a/xAOD/xAODFaserTruth/xAODTruth/xAODTruthDict.h +++ /dev/null @@ -1,41 +0,0 @@ -#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): -#include "xAODTruth/TruthParticleContainer.h" -#include "xAODTruth/TruthParticleAuxContainer.h" -#include "xAODTruth/TruthVertexContainer.h" -#include "xAODTruth/TruthVertexAuxContainer.h" -#include "xAODTruth/TruthEventContainer.h" -#include "xAODTruth/TruthEventAuxContainer.h" -#include "xAODTruth/xAODTruthHelpers.h" - -namespace { - struct GCCXML_DUMMY_INSTANTIATION_XAODTRUTH { - // The DataVector types: - xAOD::TruthParticleContainer c1; - xAOD::TruthVertexContainer c2; - xAOD::TruthEventContainer c3; - - // The smart pointer types: - DataLink< xAOD::TruthParticleContainer > dl1; - std::vector< DataLink< xAOD::TruthParticleContainer > > dl2; - DataLink< xAOD::TruthVertexContainer > dl3; - std::vector< DataLink< xAOD::TruthVertexContainer > > dl4; - ElementLink< xAOD::TruthParticleContainer > el1; - std::vector< ElementLink< xAOD::TruthParticleContainer > > el2; - std::vector< std::vector< ElementLink< xAOD::TruthParticleContainer > > > el3; - ElementLink< xAOD::TruthVertexContainer > el4; - std::vector< ElementLink< xAOD::TruthVertexContainer > > el5; - std::vector< std::vector< ElementLink< xAOD::TruthVertexContainer > > > el6; - }; -} - -#endif // XAODTRUTH_XAODTRUTHDICT_H -- GitLab