diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolations.h b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolations.h index 59b5c7ff998eeab1c18054ff2703338c6326048c..20be30414bf09d3f2fcec5138dc28ce8fcee9660 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolations.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolations.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ // TruthEtIsolations.h @@ -197,7 +197,8 @@ class TruthEtIsolations /////////////////////////////////////////////////////////////////// // Protected data: /////////////////////////////////////////////////////////////////// - protected: + protected: + friend class TruthEtIsolationsCnv_p1; /// @c ElementLink to the @c HepMC::GenEvent from which the Et isolations /// have been (or will be) computed diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h index f52f7f3fda2eee66e1221d2c6fbfd349909c906b..bc14d8075330bae2843c99ebc505b0157134e46f 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ // TruthParticleContainer.h @@ -97,6 +97,11 @@ class TruthParticleContainer : public DataVector<TruthParticle> */ const HepMC::GenEvent* genEvent() const; + /** Retrieve the @c HepMC::GenEvent this @c TruthParticleContainer + * is proxying, as a link. + */ + const ElementLink<McEventCollection>& genEventLink() const; + /** Retrieve the name (@c StoreGate location) of the * @c HepMC::GenEvent this @c TruthParticleContainer is proxying */ @@ -136,6 +141,11 @@ class TruthParticleContainer : public DataVector<TruthParticle> */ const TruthEtIsolations::EtIsol_t* etIsolations( const int barcode ) const; + /** + * return the link to truth Et isolations. + */ + const ElementLink<TruthEtIsolationsContainer>& etIsolationsLink() const; + /** * Return the Et isolation for a given particle and a given cone size */ @@ -221,6 +231,13 @@ const HepMC::GenEvent* TruthParticleContainer::genEvent() const return m_genEvent.isValid() ? (*m_genEvent) : 0; } +inline +const ElementLink<McEventCollection>& +TruthParticleContainer::genEventLink() const +{ + return m_genEvent; +} + inline std::size_t TruthParticleContainer::genEventIdx() const { @@ -253,6 +270,12 @@ TruthParticleContainer::etIsolations( const int barcode ) const : 0; } +inline const ElementLink<TruthEtIsolationsContainer>& +TruthParticleContainer::etIsolationsLink() const +{ + return m_etIsolations; +} + inline double TruthParticleContainer::etIsol( const int barcode, const TruthParticleParameters::ConeSize idx ) const