From cd95eb7e4c203b242e3c86f4384f831cf9bc4a0b Mon Sep 17 00:00:00 2001 From: Atlas-Software Librarian <Atlas-Software.Librarian@cern.ch> Date: Fri, 8 Apr 2016 17:10:21 +0200 Subject: [PATCH] 'CMakeLists.txt' (McParticleEventTPCnv-00-03-19) * Now that the Gaudi development in the CMake nightly has settled a bit, cleaned out the RootTruthParticleCnvTool code a bit. So that it would build correctly in both dev(val) and the CMake nightly. * Tagging as McParticleEventTPCnv-00-03-19 2016-02-17 Peter van Gemmeren <gemmeren@anl.gov> * Tagging McParticleEventTPCnv-00-03-18. * Remove #include of transient McEventCollection from persistent state 2016-01-11 Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch> * Since using -DATHENAHIVE didn't pan out too well in the CMake nightly, modified RootTruthParticleCnvTool to not rely on a macro to declare its inputDataObjects() and outputDataObjects() functions. * Tagging as McParticleEventTPCnv-00-03-17 2016-01-10 Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch> * Once again following the changes in Gaudi's master branch. ... (Long ChangeLog diff - truncated) --- .../McParticleEventTPCnv/CMakeLists.txt | 46 +++++++ .../TruthEtIsolations_p1.h | 2 +- .../TruthParticleContainer_p3.h | 2 +- .../TruthParticleContainer_p4.h | 2 +- .../McParticleEventTPCnv/cmt/requirements | 3 +- .../src/RootTruthParticleCnvTool.cxx | 122 ++++++++++++------ .../src/RootTruthParticleCnvTool.h | 50 ++++--- 7 files changed, 162 insertions(+), 65 deletions(-) create mode 100644 PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt new file mode 100644 index 00000000000..b0f81b8eb7a --- /dev/null +++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt @@ -0,0 +1,46 @@ +################################################################################ +# Package: McParticleEventTPCnv +################################################################################ + +# Declare the package name: +atlas_subdir( McParticleEventTPCnv ) + +# Declare the package's dependencies: +atlas_depends_on_subdirs( PUBLIC + Control/DataModelAthenaPool + Database/AthenaPOOL/AthenaPoolCnvSvc + GaudiKernel + PhysicsAnalysis/TruthParticleID/McParticleEvent + PRIVATE + Control/AthenaKernel + Control/StoreGate + Generators/GeneratorObjects + PhysicsAnalysis/TruthParticleID/McParticleKernel ) + +# External dependencies: +find_package( Boost COMPONENTS filesystem thread system ) +find_package( CLHEP ) +find_package( HepMC ) +find_package( ROOT COMPONENTS EG Core Tree MathCore Hist RIO pthread ) + +# Component(s) in the package: +atlas_add_tpcnv_library( McParticleEventTPCnv + src/*.cxx + PUBLIC_HEADERS McParticleEventTPCnv + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} + PRIVATE_INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS} + DEFINITIONS ${CLHEP_DEFINITIONS} + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib GaudiKernel McParticleEvent AthenaKernel StoreGateLib SGtests GeneratorObjects McParticleKernel ) + +atlas_add_dictionary( McParticleEventTPCnvDict + McParticleEventTPCnv/McParticleEventTPCnvDict.h + McParticleEventTPCnv/selection.xml + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib GaudiKernel McParticleEvent AthenaKernel StoreGateLib SGtests GeneratorObjects McParticleKernel McParticleEventTPCnv ) + +atlas_add_dictionary( OLD_McParticleEventTPCnvDict + McParticleEventTPCnv/McParticleEventTPCnvDict.h + McParticleEventTPCnv/OLD_selection.xml + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib GaudiKernel McParticleEvent AthenaKernel StoreGateLib SGtests GeneratorObjects McParticleKernel McParticleEventTPCnv ) + diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthEtIsolations_p1.h b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthEtIsolations_p1.h index e6bda65f2e9..9bde78450b4 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthEtIsolations_p1.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthEtIsolations_p1.h @@ -23,7 +23,7 @@ #include "DataModelAthenaPool/ElementLink_p1.h" // McParticleEvent includes -#include "McParticleEvent/TruthParticleParamDefs.h" +#include "McParticleEvent/TruthParticleParamDefs.h" // For enum // forward declarations class TruthEtIsolationsCnv_p1; diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthParticleContainer_p3.h b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthParticleContainer_p3.h index a3fe9cdd031..292307beb94 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthParticleContainer_p3.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthParticleContainer_p3.h @@ -19,7 +19,7 @@ #include "DataModelAthenaPool/ElementLink_p1.h" // HepMC / CLHEP includes -#include "GeneratorObjects/McEventCollection.h" +//#include "GeneratorObjects/McEventCollection.h" // Gaudi includes diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthParticleContainer_p4.h b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthParticleContainer_p4.h index 094ed9044d4..858e50c7817 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthParticleContainer_p4.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/McParticleEventTPCnv/TruthParticleContainer_p4.h @@ -19,7 +19,7 @@ #include "DataModelAthenaPool/ElementLink_p1.h" // HepMC / CLHEP includes -#include "GeneratorObjects/McEventCollection.h" +//#include "GeneratorObjects/McEventCollection.h" // Gaudi includes diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/cmt/requirements b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/cmt/requirements index 7d8bf1965f4..d987eb26dc7 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/cmt/requirements +++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/cmt/requirements @@ -13,8 +13,6 @@ use DataModelAthenaPool DataModelAthenaPool-* Control use AthenaPoolCnvSvc AthenaPoolCnvSvc-* Database/AthenaPOOL -use GeneratorObjects GeneratorObjects-* Generators - use McParticleEvent McParticleEvent-* PhysicsAnalysis/TruthParticleID private @@ -22,6 +20,7 @@ use AtlasHepMC AtlasHepMC-* External use StoreGate StoreGate-* Control use AthenaKernel AthenaKernel-* Control use McParticleKernel McParticleKernel-* PhysicsAnalysis/TruthParticleID +use GeneratorObjects GeneratorObjects-* Generators end_private branches McParticleEventTPCnv src diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/RootTruthParticleCnvTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/RootTruthParticleCnvTool.cxx index df60028aedb..202486c6494 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/RootTruthParticleCnvTool.cxx +++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/RootTruthParticleCnvTool.cxx @@ -34,6 +34,13 @@ static const boost::array<int, 100> qcharge = { } +//////////////////////////////////////////////////////////////////////////////// +// +// Implementation of the ITruthParticleCnvTool function(s) +// + +StatusCode RootTruthParticleCnvTool::execute() { abort(); } + StatusCode RootTruthParticleCnvTool::convert(const McEventCollection *mcCollection, const unsigned int genEventIndex, @@ -130,6 +137,8 @@ RootTruthParticleCnvTool::convert(const McEventCollection *mcCollection, return StatusCode::SUCCESS; } +// +//////////////////////////////////////////////////////////////////////////////// double RootTruthParticleCnvTool::chargeFromPdgId (int pdgId) const { @@ -172,48 +181,77 @@ double RootTruthParticleCnvTool::chargeFromPdgId (int pdgId) const } } +//////////////////////////////////////////////////////////////////////////////// +// +// Implementation of the IInterface function(s) + +StatusCode RootTruthParticleCnvTool::queryInterface( const InterfaceID&, + void** ) { abort(); } +unsigned long RootTruthParticleCnvTool::addRef() { abort(); } +unsigned long RootTruthParticleCnvTool::release() { abort(); } +unsigned long RootTruthParticleCnvTool::refCount() const { abort(); } + +// +//////////////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////////////// +// +// Implementation of the IProperty function(s) +// + +StatusCode RootTruthParticleCnvTool::setProperty( const Property& ) { abort(); } +StatusCode RootTruthParticleCnvTool::setProperty( const std::string& ) { + abort(); } +StatusCode RootTruthParticleCnvTool::setProperty( const std::string&, + const std::string& ) { + abort(); } +StatusCode RootTruthParticleCnvTool::getProperty( Property* ) const { abort(); } +const Property& +RootTruthParticleCnvTool::getProperty( const std::string& ) const{ abort(); } +StatusCode RootTruthParticleCnvTool::getProperty( const std::string&, + std::string& ) const { + abort(); } +const std::vector< Property* >& +RootTruthParticleCnvTool::getProperties() const { abort(); } +bool RootTruthParticleCnvTool::hasProperty( const std::string& ) const { + abort(); } + +// +//////////////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////////////// +// +// Implementation of the IAlgTool function(s) +// + +const std::string& RootTruthParticleCnvTool::type() const { abort(); } +const IInterface* RootTruthParticleCnvTool::parent() const { abort(); } +StatusCode RootTruthParticleCnvTool::configure() { abort(); } +StatusCode RootTruthParticleCnvTool::initialize() { abort(); } +StatusCode RootTruthParticleCnvTool::sysInitialize() { abort(); } +StatusCode RootTruthParticleCnvTool::reinitialize() { abort(); } +StatusCode RootTruthParticleCnvTool::sysReinitialize() { abort(); } +StatusCode RootTruthParticleCnvTool::start() { abort(); } +StatusCode RootTruthParticleCnvTool::sysStart() { abort(); } +StatusCode RootTruthParticleCnvTool::restart() { abort(); } +StatusCode RootTruthParticleCnvTool::sysRestart() { abort(); } +StatusCode RootTruthParticleCnvTool::stop() { abort(); } +StatusCode RootTruthParticleCnvTool::sysStop() { abort(); } +StatusCode RootTruthParticleCnvTool::finalize() { abort(); } +StatusCode RootTruthParticleCnvTool::sysFinalize() { abort(); } +StatusCode RootTruthParticleCnvTool::terminate() { abort(); } +Gaudi::StateMachine::State RootTruthParticleCnvTool::FSMState() const { + abort(); } + +// +//////////////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////////////// +// +// Implementation of the INamedInterface function(s) +// -StatusCode RootTruthParticleCnvTool::queryInterface(const InterfaceID&, - void** ){abort();} -unsigned long RootTruthParticleCnvTool::addRef(){abort();} -unsigned long RootTruthParticleCnvTool::release(){abort();} -StatusCode RootTruthParticleCnvTool::setProperty( const Property& ){abort();} - -StatusCode RootTruthParticleCnvTool::setProperty(const std::string&){abort();} -StatusCode RootTruthParticleCnvTool::setProperty( const std::string&, const std::string& ){abort();} -StatusCode RootTruthParticleCnvTool::getProperty( Property* ) const{abort();} -const Property& RootTruthParticleCnvTool::getProperty( const std::string&) const{abort();} -StatusCode RootTruthParticleCnvTool::getProperty( const std::string&, std::string& ) const{abort();} -const std::vector<Property*>& RootTruthParticleCnvTool::getProperties( ) const{abort();} -bool RootTruthParticleCnvTool::hasProperty(const std::string&) const {abort();} - -const std::string& RootTruthParticleCnvTool::type() const{abort();} -const IInterface* RootTruthParticleCnvTool::parent() const{abort();} - -StatusCode RootTruthParticleCnvTool::configure(){abort();} -StatusCode RootTruthParticleCnvTool::initialize(){abort();} -StatusCode RootTruthParticleCnvTool::sysInitialize(){abort();} -StatusCode RootTruthParticleCnvTool::reinitialize(){abort();} -StatusCode RootTruthParticleCnvTool::sysReinitialize(){abort();} -StatusCode RootTruthParticleCnvTool::start(){abort();} -StatusCode RootTruthParticleCnvTool::sysStart(){abort();} -StatusCode RootTruthParticleCnvTool::restart(){abort();} -StatusCode RootTruthParticleCnvTool::sysRestart(){abort();} -StatusCode RootTruthParticleCnvTool::stop(){abort();} -StatusCode RootTruthParticleCnvTool::sysStop(){abort();} -StatusCode RootTruthParticleCnvTool::finalize(){abort();} -StatusCode RootTruthParticleCnvTool::sysFinalize(){abort();} -StatusCode RootTruthParticleCnvTool::terminate(){abort();} -unsigned long RootTruthParticleCnvTool::refCount() const{abort();} const std::string& RootTruthParticleCnvTool::name() const{abort();} -StatusCode RootTruthParticleCnvTool::execute() {abort();} -#ifdef GAUDIKERNEL_STATEMACHINE_H_ -Gaudi::StateMachine::State RootTruthParticleCnvTool::FSMState() const{abort();} -#endif -#ifdef ATHENAHIVE -const DataObjectDescriptorCollection & -RootTruthParticleCnvTool::inputDataObjects() const { abort(); } -const DataObjectDescriptorCollection & -RootTruthParticleCnvTool::outputDataObjects() const { abort(); } -#endif +// +//////////////////////////////////////////////////////////////////////////////// diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/RootTruthParticleCnvTool.h b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/RootTruthParticleCnvTool.h index 6088ceb6376..1c5df708d98 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/RootTruthParticleCnvTool.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/RootTruthParticleCnvTool.h @@ -13,6 +13,12 @@ class RootTruthParticleCnvTool : public ITruthParticleCnvTool { public: + /// @name Function(s) inherited from ITruthParticleCnvTool + /// @{ + + /// A hook for Athena algorithms + virtual StatusCode execute(); + /** Converts a @c McEventCollection into an @c TruthParticleContainer (ie: * converts it into an AOD compliant collection). * @in mcEvts the @c McEventCollection holding the @c HepMC::GenEvent we @@ -22,29 +28,42 @@ public: * be filled with adaptors to @c HepMC::GenParticles. */ StatusCode convert( const McEventCollection* mcEvts, - const unsigned int genEvtIndex, - TruthParticleContainer* mcParts, - const ITruthParticleVisitor* visitor ) const; + const unsigned int genEvtIndex, + TruthParticleContainer* mcParts, + const ITruthParticleVisitor* visitor ) const; + + /// @} /** Helper method to get the charge of a particle given its PDG Id. */ double chargeFromPdgId( int pdgId ) const; - virtual StatusCode queryInterface(const InterfaceID& riid, - void** ppvInterface); + + /// @name Function(s) inherited from IInterface + /// @{ + virtual StatusCode queryInterface( const InterfaceID& riid, + void** ppvInterface ); virtual unsigned long addRef(); virtual unsigned long release(); + virtual unsigned long refCount() const; + /// @} + + /// @name Function(s) inherited from IProperty + /// @{ virtual StatusCode setProperty( const Property& p ); virtual StatusCode setProperty( const std::string& s ); virtual StatusCode setProperty( const std::string& n, const std::string& v ); virtual StatusCode getProperty( Property* p ) const; - virtual const Property& getProperty( const std::string& name) const; + virtual const Property& getProperty( const std::string& name ) const; virtual StatusCode getProperty( const std::string& n, std::string& v ) const; virtual const std::vector<Property*>& getProperties( ) const; virtual bool hasProperty(const std::string& name) const; + /// @} - virtual const std::string& type() const; - virtual const IInterface* parent() const; + /// @name Function(s) inherited from IAlgTool + /// @{ + virtual const std::string& type() const; + virtual const IInterface* parent() const; virtual StatusCode configure(); virtual StatusCode initialize(); virtual StatusCode sysInitialize(); @@ -59,18 +78,13 @@ public: virtual StatusCode finalize(); virtual StatusCode sysFinalize(); virtual StatusCode terminate(); - virtual unsigned long refCount() const; - virtual const std::string& name() const; - virtual StatusCode execute(); -#ifdef GAUDIKERNEL_STATEMACHINE_H_ virtual Gaudi::StateMachine::State FSMState() const; -#endif - -#ifdef ATHENAHIVE - virtual const DataObjectDescriptorCollection & inputDataObjects() const; - virtual const DataObjectDescriptorCollection & outputDataObjects() const; -#endif + /// @} + /// @name Function(s) inherited from INamedInterface + /// @{ + virtual const std::string& name() const; + /// @} }; -- GitLab